Школьная тригонометрия-же... Или нет? Вот выдержка из моих вопросов и моих-же ответов себе по проекту выходного дня "Анализатор АЧХ для настройки радиоприёмников с ГКЧ на базе DDS":
1. До какой выходной частоты DDS обеспечивает полный динамический диапазон ЦАП'а?
Зачем - для определения максимальной достижимой (при использовании полного динамического диапазона ЦАП) частоты при заданной тактовой DDS и расчёта параметров выходного ФНЧ.
Литература: "A technical tutorial on Digital Signal Synthesis " от Analog Devices
"Низкочастотный синусоидальный генератор с шагом сетки 0,01 Гц " от Л. И. Ридико
Ответ: Используется симметрия синуса и в ROM хранится четверть периода. Значит разрядность ЦАП относится не к размаху от пика до пика, а к амплитуде синуса.
Рассматривая на четверти круга деление на уровни (N - разрядность ЦАП) и углы имеем такое значение: 90°/arcsin(2^-(N+1)) ~ 3217. Т.е., при делении более чем на 4096 углов - пропусков входных кодов ЦАП заведомо не будет (отсюда - ROM с 12-битным адресом). При делении на 2048 их ещё будет довольно мало (построение в экселе таблички sin([k+1]*90/2048 минус то-же с k даёт, что уже с первого шага от нуля градусов разность менее 1/1024 плюс нелинейность ЦАП = мало). А вот при делении на 1024 - уже более 56%.
Итого, при опорной частоте 50 МГц - 50/2^11 = 24414 Гц. Ниачём... надо тупо пользоваться калькулятором с сайта производителя DDS и ставить соответстующий фильтр на выходе.
Upd: Это всё было применительно к AD9830 с 10-и битным АЦП и 12 битной таблицей четверти синуса.