Впервые в жизни я использую этот чип DDS (AD9850) для создания синусоидальной волны на желаемой частоте, где я загружаю код таблицы поиска и желаемую частоту. Команда через микроконтроллер. Так что мои знания на данный момент очень ограничены.
Пока все хорошо, но проблема в очень низких частотах. На 1 Гц и даже 0,5 Гц, кажется, хорошо. Но мне тоже нужно до 0,1 Гц.
Вот вывод DDS, когда я посылаю число 0.1 в DDS через микроконтроллер:
В моем коде я отправляю команду с ПК на micro в виде строки и преобразую ее в double. Но для простоты и проверки я использую этот код , а для 0.1 Гц я устанавливаю sendFrequency (0.1) в цикле.
Но, как вы видите, период составляет около 11,5 с вместо 10 с для команды 0,1 Гц.
Я надеюсь, что смог бы объяснить проблему хорошо. Есть ли способ откалибровать или отрегулировать это так, чтобы у меня был более точный результат? Или я должен жить с точностью? Кстати, где в паспорте можно сослаться на такую относительную неопределенность?
Ответы:
Это не точность, это разрешение.
На лицевой стороне таблицы данных указано разрешение настройки 0,0291 Гц с тактовой частотой 125 МГц.
Это примерно 30% от желаемой выходной частоты. Это происходит в результате добавления младшего разряда слова настройки к фазовому аккумулятору на частоте 125 МГц - для данной тактовой частоты, это присуще микросхеме и числу битов, которые они выбрали для фазового аккумулятора и слова настройки.
Вы можете попробовать уменьшить тактовую частоту - минимум составляет 1 МГц, поэтому вы сможете улучшить разрешение более чем на два порядка, примерно до +/- 0,23% при 0,1 Гц.
К сожалению, для оптимальной производительности придется изменить другие вещи (особенно выходной фильтр, который обычно представляет собой эллиптический LC-фильтр 7-го порядка на этих модулях).
Если вам никогда не нужно подниматься выше, скажем, 1 Гц, вы можете просто добавить RC-фильтр с отсечкой, скажем, 100 Гц к существующему выходу, и это будет приемлемо для многих целей.
источник
То, что вы ищете в таблице данных, это разрешение настройки частоты. Для этого чипа это 0,0291 Гц для входного тактового сигнала 125 МГц. Ваша частота будет округлена до кратного этого числа. Это число основано на частоте тактового входа чипа.
Например, 0,1 Гц будет округлено до 0,0873 Гц (0,0291 * 3). Период для 0,0873 Гц составляет 11,5 секунд, что вы и видите.
Более низкая входная тактовая частота даст более высокую точность на более низких частотах. Поэтому, если вы хотите повысить точность на низких частотах, уменьшите тактовую частоту.
источник