Генерация сигналов методом прямого цифрового синтеза (Direct Digital Synthesizer – DDS) широко используется сегодня в различных областях электроники. Особенно часто DDS синтезаторы приходится применять в области цифровой обработки сигналов. И тому есть веские причины. DDS генераторы позволяют получать сигналы:
§ С большим диапазоном перестройки (от нуля до сотен МГц), одновременно с очень малым шагом перестройки (сотые доли герца) от фиксированного источника опорной частоты
§ Квадратурные сигналы, с произвольным сдвигом фазы
§ Перестройка частоты выходных сигналов без переходных процессов с очень большой скоростью
§ Генерация периодических сигналов произвольной формы
Конечно, такие широкие возможности сделали привлекательными цифровые DDS синтезаторы для применения в самых различных приложениях. Одним из таких приложений является цифровая обработка сигналов. Сегодня для реализации алгоритмов ЦОС широко используется программируемая логика (ПЛИС).
Наша задача получить синусоидальный сигнал в цифровом виде на выходе ПЛИС. Первое решение которое приходит в голову – получить значения для N-точек синусойды, таким образом дискретизировав ее, и затем поместив в таблицу перебирать значения выборок с помощью счетчика адресов с заданной частотой.
Такой табличный метод будет работать хорошо, если необходимая выходная частота меньше тактовой в N раз. Для того, чтобы получить другую выходную частоту придется либо увеличивать шаг перебора адресов, либо перестраивать опорную тактовую частоту системы.
1) Минимальный шаг перестройки частоты в первом случае будет зависеть от необходимой выходной частоты и при приближении к тактовой частоте становится недопустимо грубым. Задать начальное значение фазы такого генератора возможно, но минимальный шаг значений также будет очень груб.
2) Изменение входной тактовой частоты для получения меньшего шага перестройки частоты еще более затруднительно.
Поэтому применяется метод прямого цифрового синтеза. Аналитическая формула синусоидального сигнала выглядит следующим образом:
Предположим, что начальная фаза равна 0, тогда величина циклической частоты задает скорость изменения полной фазы. Обозначим полную фазу за , тогда получаются следующие соотношения:
Получена связь между выходной частотой f и фазой сигнала.
Мы берем значения синусоиды не через одинаковые промежутки времени, равные периоду дискретизации, а через промежутки соответствующие равному изменению фазы. На картинке показаны значения синусойды через промежутки равные /4.
Получено 8 различных значений. Исходя из того, что фаза синусоидального сигнала во-первых линейна, а во-вторых периодична (с периодом 2 ), мы можем восстановить выходной сигнал просто беря выборки из таблицы значений через промежутки, пропорциональные выходной частоте. Для приведенного выше случая, возможно брать выборки через /4, 2* /4, 3* /4, 4* /4.