реклама на сайте
подробности

 
 
> Цифровая модуляция - динамика, битность, округление, fixed point
akorud
сообщение Aug 9 2011, 12:13
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Приветствую, такой вот вопрос.
Делаю модулятор QPSK на FPGA, "по книжному", без ухищрений и оптимизаций. Все вроде работает в железе, но не знаю как правильно решить такую проблему:
На входе IQ 2-х битные (+-1). Первый фильтр (интерполяция x7) FIR с 16-битными коэффициентами дает 17 бит (1 знак). Дальше фильтр CIC (интерполяция x8) с усечением до 18 бит на выходе (с 23). Для самой модуляции I*sin(wt) + Q*cos(wt) используется блок DSP48A с множителем 18х18. Синус и косинус генерируются DDS с разрешением 18 бит (со знаком).
Если правильно понимаю после умножения и суммирования получается 35 бит (1 знак + 34). А дальше ЦАП у меня 12-битный. И как тут поступить? Пока просто отбрасываю младшие биты, но может есть способ лучше?
В литературе нашел упоминания что дополнительный вход С блока DSP48A (P = A*B + C) можно использовать для реализации округления, но не могу понять каким образом.
Может подскажете как тут лучше сделать?
И еще - есть ли глубой смысл использовать fixed point в такой задаче? Ведь двоичное представление остается неизменное, а для ЦАП это вообще абстрактное кодовое слово умножаемое на Vref.

Сообщение отредактировал akorud - Aug 9 2011, 13:46
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 18:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016