Впервые в жизни я использую этот чип DDS (AD9850) для создания синусоидальной волны на желаемой частоте, где я загружаю код таблицы поиска и желаемую частоту. Команда через микроконтроллер. Так что мои знания на данный момент очень ограничены.
Пока все хорошо, но проблема в очень низких частотах. На 1 Гц и даже 0,5 Гц, кажется, хорошо. Но мне тоже нужно до 0,1 Гц.
Вот вывод DDS, когда я посылаю число 0.1 в DDS через микроконтроллер:
В моем коде я отправляю команду с ПК на micro в виде строки и преобразую ее в double. Но для простоты и проверки я использую этот код , а для 0.1 Гц я устанавливаю sendFrequency (0.1) в цикле.
Но, как вы видите, период составляет около 11,5 с вместо 10 с для команды 0,1 Гц.
Я надеюсь, что смог бы объяснить проблему хорошо. Есть ли способ откалибровать или отрегулировать это так, чтобы у меня был более точный результат? Или я должен жить с точностью? Кстати, где в паспорте можно сослаться на такую относительную неопределенность?