Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DDS Генератор для многочастотных сигналов
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Alexey_Rostov
Есть задача: сформировать многочастотный (двух - пяти частотный) сигнал на ПЛИС с помощью DDS.
Самый простейший вариант: собрать несколько DDS, синтезировать с их помощью сигналы с заданными частотами, потом сложить для получения многочастотного сигнала.

А если просто на вход DDS подавать приращение фазы не по линейному закону, а по закону изменения фазы, например для двух (3, 4, 5-ти) частотного сигнала?
Как описать математически данный закон для использования в ЦОС?
bsp
Делал когда-то по первому варианту. Но там двухчастотные генераторы имели возможность настраивать каждую из частот по команде извне. Если нужны фиксированные пары или пятерки частот, может, зашить вместо синусоиды суммарный сигнал нужной длительности. Хотя чем плох первый вариант?
Alexey_Rostov
Цитата(bsp @ Oct 11 2013, 11:25) *
Хотя чем плох первый вариант?


Многочастотный генератор необходим для формирования радиолокационных доплеровских портретов целей. Первый вариант плох тем, что требует значительное количество ресурсов памяти, например для достижения шага перестройки по частоте в 20 Гц, при f sample 20 МГц, буфер для DDS будет 20 МГц/ 20 = 1000 кБ (или 1000.000 8-битных отсчетов ). Даже при реализации DDS только на четверти периода, объем все равно 250 кБ. Это все надо влить в ПЛИС Stratix II EP2S60. Там 2 MRAM по 64 кБ плюс М4RAM -- 255 штук... Вообщем влезть-то DDS может и влезет, но еще есть целый тракт ЦОС...
Fat Robot
1. Сделайте интерполяцию между отсчетами в таблице sin-cos. это позволит сократить объем таблицы
2. Сделайте DDS на CORDIC, а не на таблице с умножителями
3. Смешаный вариант. Грубо по таблице, а потом по точной шкале доворачиваете CORDICом
4. Формируйте сигнал в частотной области и далее с помощью обпф переводите во временную.
rloc
Цитата(farbius @ Oct 11 2013, 12:50) *
Первый вариант плох тем, что требует значительное количество ресурсов памяти

Достаточно давно изобретены альтернативные способы:
1) С аппроксимацией по Тейлору, для которого как правило требуется один блок памяти и 2 умножителя
2) Алгоритм кордика, где памяти и умножителей не требуется.
_pv
частоту как часто и каким образом перестраивать надо?
а то может просто как Y[n+1] = 2*cos(w) * Y[n] - Y[n-1] синус делать, всего один умножитель.
для изменения частоты только одна таблица нужна с арккосинусом.
Alexey_Rostov
Цитата(_pv @ Oct 11 2013, 12:26) *
частоту как часто и каким образом перестраивать надо?


Частота не перестраивается, если например, формируется одна радиолокационная цель, для нее фиксированный портрет, т.е. частоты определены. Может одновременно формироваться десяток целей, в этом случае десяток портретов и десяток многочастотных DDS (на каждую цель по одному). Изначально идея была: один DDS с десятками выходов для формирования десятка портретов. При этом на каждый портрет (многочастотный сигнал) рассчитать свой закон изменения фазы.

Большое спасибо за советы, появились новые идеи как проще решить задачу.


petrov
Цитата(farbius @ Oct 11 2013, 12:50) *
Многочастотный генератор необходим для формирования радиолокационных доплеровских портретов целей.


Доплер также можно симулировать передискретизацией, даже более правильно по идее.
muravei
А если сделать 5 сумматоров фазы ,сумирующих разные приращения частот, а затем переключать их мультиплексором на ПЗУ с тактовой частотой?
Alexey_Rostov
Цитата(muravei @ Oct 14 2013, 16:09) *
А если сделать 5 сумматоров фазы ,сумирующих разные приращения частот, а затем переключать их мультиплексором на ПЗУ с тактовой частотой?


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

Не совсем ясна задача пока по структуре радиолокационного портрета. Если придется формировать шум в доплеровском диапазоне, то в любом случае кордик алгоритм более уместен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.