Цифровий синтез частоти
Всі недоліки описаної вище структури можуть бути усунені шляхом введення одного, але вельми оригінального рішення — замінити адресний лічильник ПЗП іншим цифровим пристроєм, який називається накопичуючим суматором. Суматор, який накопичує, є регістром, який в кожному такті роботи пристрою перезавантажується величиною, рівною старому вмісту, плюс деяка постійна добавка (рисунок 1).
Як і у випадку з лічильником, вміст регістра лінійно збільшується в часі, лише тепер приріст не завжди є одиничним, а залежить від величини постійної добавки. Коли суматор використовується для формування коду фази, його ще називають акумулятором фази. Вихідний код акумулятора фази є кодом миттєвої фази вихідного сигналу. Постійна добавка, яка використовується при роботі акумулятора фази, є приростом фази за один такт роботи пристрою. Чим швидше змінюється фаза в часі, тим більше частота сигналу, що генерується. Тому значення приросту фази фактично є кодом вихідної частоти. Дійсно, якщо приріст фази рівний одиниці, то поведінка суматора нічим не відрізняється від поведінки двійкового лічильника. Але якщо приріст фази буде рівний, наприклад, двом, то код фази змінюватиметься удвічі швидше. При цьому на ЦАП коди поступатимуть з тією ж частотою, але будуть не сусідніми, а узяті через один відліки функції sin. Частота сигналу, що генерується, при цьому буде удвічі більшою, а частота дискретизації залишиться колишньою.
Рисунок 1. – Робота DDS
Акумулятор фази працює з періодичними переповнюваннями, забезпечуючи арифметику по модулю 2N.
Таке періодичне переповнювання відповідає періодичній поведінці функції sin з періодом 2p. Іншими словами, частота переповнювання акумулятора фази рівна частоті вихідного сигналу. Це частота визначається формулою:
FOUT = MxFCLK/2N,
де FOUT — вихідна частота; FCLK — тактова частота; M — код частоти; N — розрядність акумулятора фази.
По суті, тактова частота ділиться на деяке число, яке визначається кодом частоти і розрядністю акумулятора фази. При цьому крок перебудови частоти не залежить від її значення і рівний
D FOUT = FCLK/2N.
З цього співвідношення виходить ще одна унікальна властивість синтезатора частоти на основі суматора: якщо збільшити розрядність N, то зменшиться крок перебудови частоти.
Причому особливих обмежень тут немає. Наприклад, якщо розрядність суматора 32 біти, а тактова частота складає 50 Мгц, то частотний дозвіл складе близько 0,01 Гц!
Збільшення розрядності акумулятора фази не вимагає обов'язкового збільшення розрядності адреси ПЗП. Для адресації можна використовувати лише необхідну кількість старших розрядів коду фази. Детальніше це питання буде розглянуте нижче.
Для зменшення об'єму ПЗП можна використовувати властивості симетрії функції sin. У більшості DDS в ПЗП міститься лише 1/4 періоду. Правда, при цьому небагато ускладнюється логіка формування адреси.
Таким чином, в DDS акумулятор фази формує послідовність кодів миттєвої фази сигналу, яка змінюється лінійно (рисунок 1).
Швидкість зміни фази задається кодом частоти. Далі за допомогою ПЗП фаза, що лінійно змінюється, перетвориться у відліки вихідного сигналу, що змінюються по синусоїдальному закону.
Ці відліки поступають на ЦАП, на виході якого формується синусоїдальний сигнал, що складається з "сходинок". ............