hello list ,

i am pranay ,undergraduate student at Indian Institute of Technology ,Madras
.i am wondering whether anyone in this list has worked on OBSns
(http://wine.icu.ac.kr/~obsns/index.php
<http://wine.icu.ac.kr/%7Eobsns/index.php>) software for NS .
I am studying the way in which self similar characteristic is implemented in
obsns .
But i cant understand ,how the flicker noise is generated in the file
fract_flick.cc


     int N;       /* filter order */
     int i;
     double f, ae, be;
     double *apt, *bpt;
     double W, R;

     N = (int)ceil (n*h);
     *a = 0.13;  /* From Barnes and Greenhall paper */
     R = pow (10.0, 1/(2.0*h));
     W = ((1.0 - (*a))/sqrt(*a));
     *b = 0.0;

     for (i = 2, apt = a+1, bpt = b+1; i <= N; i++, apt++, bpt++)
     {
        W = W / pow (R, 2.0 - gamma);
        (*bpt) = 1.0 + ((0.5*W) * (W - sqrt((W * W) + 4.0)));
        W = W / pow (R, gamma);
        (*apt) = 1.0 + ((0.5*W) * (W - sqrt((W * W) + 4.0)));
     }
}


void flicker (int N, double *y, double *y_old, double *a, double *b)
/*
 * Inegrate fractional flicker noise generator over 1 time step
 *
 * N = number of filter stages (= n*h, see init_flick above)
 * y = pointer to array of current state vector plus white noise input in
 *     element zero (array size = N+1)
 * y_old = pointer to array of previous time step state vector plus white
 *         noise input in element zero (array size = N+1)
 * a = pointer to array of poles (array size = N)
 *     (phi array of Barnes and Greenhall)
 * b = pointer to array of zeros (array size = N)
 *     (theta array of Barnes and Greenhall)
 */
{

     int i;
     double *ypt, *y_oldpt, *apt, *bpt;

     *(y+1) = ( (*a) - (*b) ) * (*(y_old+1)) + (*(y));
     for (i = 2, ypt =  y+2, y_oldpt = y_old+2, apt = a+1, bpt = b+1; i <=
N;
                                   i++, ypt++, y_oldpt++, apt++, bpt++)
     {
        *ypt = (*apt) * (*y_oldpt) + ( (*(ypt-1)) -
                                            (*bpt) * (*(y_oldpt - 1)) );
     }

     for (i = 0, ypt =  y, y_oldpt = y_old, apt = a, bpt = b; i <= N;
          i++, ypt++, y_oldpt++, apt++, bpt++)
        *y_oldpt = (*ypt);
}

its referring to some paper ,(barnes and greenhall) ,but i am not able to
find that paper on net or any library .
if someone can please explain me
W = W / pow (R, 2.0 - gamma);
        (*bpt) = 1.0 + ((0.5*W) * (W - sqrt((W * W) + 4.0)));
        W = W / pow (R, gamma);
        (*apt) = 1.0 + ((0.5*W) * (W - sqrt((W * W) + 4.0)));
why these formulae are used for generating arrrrays 'a' and 'b', i ud be
very thankful .
or else if u can send me the pdf of the above mentioned paper ,that ud be
great .
please help me ,as this is crucial for my project .
thank you


Pranay Prateek
Department of Electrical Enginnering
Indian Institute of Technology ,Madras
Chennai ,India .


.

Reply via email to