Перейти к содержанию
    

спектр DDS

Всем привет! Этот пост обращен к тем, кто знает о методе прямого цифрового синтеза (DDS), надеюсь таких не мало;). Я вот столкнулся с такой проблемой: нужно рассчитать подавление боковых амплитудных составляющих относительно главного максимума(соответствующего синтезируемой выходной частоте) и сам спектр выходного сигнала в зависимости от поступающего на вход накопительного сумматора кода частоты. На практике убедился, что в зависимости от поступающего входного кода частоты,и спектр выходного сигнала, и подавление боковых амплитудных составляющих получаются разным! Может подскажите, кто чем сможет, как произвести теоретический расчет?;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! Этот пост обращен к тем, кто знает о методе прямого цифрового синтеза (DDS), надеюсь таких не мало;). Я вот столкнулся с такой проблемой: нужно рассчитать подавление боковых амплитудных составляющих относительно главного максимума(соответствующего синтезируемой выходной частоте) и сам спектр выходного сигнала в зависимости от поступающего на вход накопительного сумматора кода частоты. На практике убедился, что в зависимости от поступающего входного кода частоты,и спектр выходного сигнала, и подавление боковых амплитудных составляющих получаются разным! Может подскажите, кто чем сможет, как произвести теоретический расчет?;)

Теоретический расчёт чего? Уровня гармоник для соответствующего кода частоты? Или максимального уровня гармоник в диапазоне перестройки кода частоты? В принципе моделька DDS легко собирается в симулинке, там же можно и спектр поглядеть. Если нужны точные цифры - тогда чистый матлаб.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теоретический расчёт чего? Уровня гармоник для соответствующего кода частоты? Или максимального уровня гармоник в диапазоне перестройки кода частоты? В принципе моделька DDS легко собирается в симулинке, там же можно и спектр поглядеть. Если нужны точные цифры - тогда чистый матлаб.

Да, можно, и в матлабе, и в симулинке промоделировать!) Но хочется на бумаге, так сказать, все это рассчитать, а потом и сравнить теорию с моделированием!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теория простейшая:

 

У вас есть генератор фазы - функция, генерирующая последовательность отсчетов ?\varphi _{i} в зависимости от параметров ?\Delta\varphi и ?\varphi _{0}.

 

От этой последовательности берется функция ?e^{j\varphi_{i}} а потом, то, что получилось, квантуется.

 

Далее для анализа от этой квантованной последовательности delta}-функций ?Q[e^{j\varphi_{i}}] берете от нее дискретное, а можно и непрерывное преобразование Фурье.

 

Потом обязательно аналитически на бумаге для любых допустимых ?\Delta\varphi и ?\varphi _{0} ищете максимум на всей области определения за исключением ?\varepsilon-окрестности аргумента, соответствующего основной гармонике, т.е. ?\Delta\varphi.

 

Всё. Плёвое дело. Тыщщу раз такое проделывал. Шучу. Нет, правда.

 

Незначительные трудности в аналитических расчетах на бумаге возникают, когда вводится например dithering или интерполяция, но вы обязательно справитесь. Ведь "усердие всё превозмогает".

 

Если же основной вашей задачей при анализе синтезатора является получение результата, а не демонстрация наукообразия вашей деятельности и/или бездарнейшая трата времени, то сперва можно очень грубо оценить разрядность аккумулятора, ширину шин адреса и данных lut (если есть задача получения этих параметров), а потом моделировать, как вам посоветовали. Перебираете значения приращения фазы в окрестности такой выходной частоты, которая дает с частотой отсчетов несократимую дробь, а затем выводите все это на один график, или тривиальным образом автоматизируете анализ результатов.

 

post-4691-1405503923_thumb.png

 

Здесь, например, показаны результаты 20 прогонов для диапазона нормализованных частот {\pi^2}, при этом в каждом прогоне выбрана случайная равномерно распределенная начальная фаза ?\varphi _{0} из диапазона ?[0..1) (норм.)

 

Это экономит время, силы, и проверка каждого шага по оптимизации вашего dds выливается всего лишь в серию прогонов моделирования. Заодно будет понимание, что вы делаете правильно, а что нет, уже с прицелом на реализацию.

 

 

 

Да, можно, и в матлабе, и в симулинке промоделировать!) Но хочется на бумаге, так сказать, все это рассчитать, а потом и сравнить теорию с моделированием!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

http://www.analog.com/static/imported-file..._rev12-2-99.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...