Проектирование исходного блока NCO

В этом примере показано, как спроектировать исходный блок NCO со следующими спецификациями:

  • Желаемая выходная частота: $${F_0} = 510{\rm{ Hz}} $$

  • Частотное разрешение: $$\Delta f = 0.05{\rm{ Hz}} $$

  • Ложная свободная динамическая область значений: $$SFDR \ge 90{\rm{ dB}} $$

  • Период дискретизации: $${T_s} = 1/8000{\rm{ s}} $$

  • Желаемое смещение фазы: $$\pi /2 $$

1. Вычислим количество необходимых двоичных разрядов аккумулятора из уравнения для разрешения частоты:

$$\Delta f = {1 \over {{T_s} \cdot {2^N}}}{\rm{Hz}}$$

$$0.05 = {1 \over {{1 \over {8000}} \cdot {2^N}}}{\rm{Hz}} $$

$$N = 18 $$

Обратите внимание, что N должно быть целым значением. Значение N округлится до ближайшее целого числа; 18 двоичные разряды аккумулятора необходимы для соответствия значению частотного разрешения.

2. Используя это лучшее значение N, вычислите разрешение частоты, которое будет достигнуто блоком NCO:

$$\Delta f = {1 \over {{T_s} \cdot {2^N}}}{\rm{Hz}}$$

$$\Delta f = {1 \over {{1 \over {8000}} \cdot {2^{18}}}}{\rm{ Hz}}$$

$$\Delta f = 0.0305$$

3. Вычислим количество квантованных двоичных разрядов аккумулятора из уравнения для паразитной свободной динамической области значений и тот факт, что для интерполяционной таблицы с 2 значениями ^ P, P является количеством квантованных двоичных разрядов аккумулятора:

$SFDR = \left( {6P + 12} \right){\rm{dB}}$

$96{\rm{ dB}} = (6P + 12){\rm{ dB}}$

$P = 14$

4. Выберите количество dither бит. В целом хорошим выбором для количества dither бит является аккумулятор размера слова минус количество квантованных двоичных разрядов аккумулятора; в данном случае 4.

5. Вычислите шаг фазы:

шаг фазы = $${\mathop{\rm round}\nolimits} ({{{F_0} \cdot {2^N}} \over {{F_s}}}) $$

шаг фазы = $$ {\mathop{\rm round}\nolimits} ({{510 \cdot {2^{18}}} \over {8000}}) $$

шаг фазы = 16712

6. Вычислите смещение фазы, $p_o$с помощью необходимого смещения фазы,:$p_o desired$

$$p_o = {{{2^{accumulator word length}} \cdot p_o desired} \over {2\pi }}$$

$$p_o = {{{2^{18}} \cdot {\pi \over 2}} \over {2\pi }}$$

$p_o = 65536$

7. Откройте и симулируйте модель:

8. Экспериментируйте с моделью, чтобы наблюдать эффекты на выходе, показанном на анализаторе спектра. Для примера попробуйте включить и выключить дитеринг и попробуйте изменить количество dither бит.

См. также

Блоки