This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Using C6670 to generate AWGN noise

Hi,

I am working with C6670 to generate awgn noise.Though i can implement the generator by following method:

but it took me too much time. it is very slow.

Are there some other ways to implement the function quickly, may be less then 10 cycle to produce a complex.

Thank you.

Feng

  • Feng,

    I doubt you will be able to implement the sqrt function in 10 cycles. And your algorithm is non-deterministic since it puts the sqr_r<1.0 condition within the inner loop which can require multiple passes through the while (ii) loop to generate a complex pair.

    If this is to be used for real-time addition of noise into the Rx channel, then perhaps you can generate an array of awgn values then use that array as a lookup table from which to get each awgn sample value. You could make the awgn array arbitrarily large, fill it with values once during initialization, and pull values from the beginning to end then start over with the same values from the beginning again.

    This may not be mathematically pure, but the larger the array is, the more acceptable this method should be. A small array may be good enough for your use, or a larger array may be needed. But it should be very fast to simply pull a new awgn value from the array instead of calculating the new value for each new Rx input sample.

    Regards,
    RandyP