HDL NCO: How do I set the fraction length for the phase accumulator?

4 views (last 30 days)
Hello, I want to design a high precision NCO, but I want to keep the LUT short. For example, I want to use a 16bit LUT but want to use a 32bit phase accumulator with 16 fractional bits. I can change the accumulator word length to 32bits, but I have not found a way to set the fraction length even though this feature is described in the help menu. The block keeps the fraction length fixed at 0. What do I need to do to change that? Thanks, Arne

Accepted Answer

Bharath Venkataraman
Bharath Venkataraman on 31 Jul 2018
The accumulator and quantizer do not have fractional bits. You can scale your input phase offset to match the accumulator and quantizer scaling.
Set your accumulator word length to 32 and your quantizer bits to 16. This will result in a 2^16 lookup table, You can also use the lookup table compression method to reduce the size of the lookup table at the expense of SFDR.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!