CORDIC NCO Frequency resolution?

Hello everybody!!

Maybe some CORDIC guru's can help me???

I've seen a lot of papers, designs and cores and I still don't understand why always everybody offers (for example) a Frequency Resolution of

32bit when at the input of CORDIC's block the angle just have 16bits+guard bits(log2(16)) = 20 bits. That's not a 32 bits resolution!!!! The phase offset is 16 bits, That's OK but 32 bits frequency resolution!!!! I think maybe it's all about the guard bits but I'm not sure!!! Can some one please Help me to understand it!!!! Thank's for your time!!!

Carlos Murillo

Reply to
Carlos Murillo
Loading thread data ...

There is a difference between phase resolution and frequency resolution. Typically, you'll have a phase accumulator that adds some fixed increment to itself every clock cycle. The increment value sets the frequency, which is the frequency of the accumulator wrap-arounds. The frequency is Fo = Fc*N/(2^k) where Fc is the clock frequency, N is the increment value (integer) and k is the number of bits in the phase accumulator. The more bits in the accumulator, the finer the resolution to which you can set the frequency. The CORDIC width does not affect the frequency at all, rather it will affect the noise added by the CORDIC. You have several factors here: number of iterations, width of I and Q paths and width of phase path.

First, look at the number of iterations. If we assume for the moment that there is infinite precision in the I and Q data paths as well as in the phase accumulator path, then each iteration performs a perfect rotation with no error, but the angle of rotation is fixed at the elemental angle for that iteration. If you limit the number of iterations, you limit the total number of possible rotation angles...that is limiting the number of iterations introduces a phase error in the rotated output. There is no amplitude error due to limiting the number of iterations.

Next, lets consider limited precision in the phase accumulators. Again, we'll assume infinite precision in the I and Q paths. If the phase accumulator width is limited, we introduce a truncation/rounding error in the phase for each iteration accomplished. Again, the error is only in phase angle, not in amplitude.

In both the above cases, the phase error is not cumulative from sample to sample, so it manifests itself as phase noise. Note this has no effect on the average frequency, and that there is no amplitude noise.

Finally, in the case of limited precision I and Q, the rotations are no longer perfect, as there is a rounding or truncation error on sum at each iteration. The result is the rotated vector is forced to fall on a retangular grid, which introduces both angular and magnitude errors. Again, there is no effect on the average phase or amplitude, but the instantaneous values will have some error bounded by the resolution of the IQ grid defined by the I and Q resolution. The extra LSBs, which you are calling guard bits are there to make the I and Q truncation error smaller with respect to the signal, and therefore reduce this noise source.

I h> Hello everybody!!

--

--Ray Andraka, P.E. President, the Andraka Consulting Group, Inc.

401/884-7930 Fax 401/884-7950 email snipped-for-privacy@andraka.com
formatting link

"They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, 1759

Reply to
Ray Andraka

Thank's for you help Ray,

Now I think I get it!! Please tell me if I'm wrong!!!

For example: In my case where I have 16+guardbits in my Cordic(input) the 360 degrees are divided in 2^(16+guardbits),that means that just when the MSW(16 bits) from phase accumulator changes, a new output will come from Cordic on each phase accum. step. But when the phase accumulator LSW changes, Cordics output will not change in every phase acc. step!

look figure in

formatting link

It will be "ideal" to have always in each acc. step a new output. That will give a better input to the DAC. To achieve this task we will need 2^32 phase acc. steps(common!) and a angle resolution of 2^32. But because a DAC with 32 bits are just dreams!! the angle resolution has to be truncated. Is it right???

Carlos Murillo

Reply to
Carlos Murillo

--

--Ray Andraka, P.E. President, the Andraka Consulting Group, Inc.

401/884-7930 Fax 401/884-7950 email snipped-for-privacy@andraka.com
formatting link

"They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, 1759

Reply to
Ray Andraka

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.