Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровая модуляция - динамика, битность, округление
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
akorud
Приветствую, такой вот вопрос.
Делаю модулятор 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.
thermit
Вообще-то взятия старших 12-и разрядов должно хватить. Но можно сделать округление.
На вход с подается константа. В Вашем случае 0x7FFFFF. Затем берутся старшие 12 бит результата.
soldat_shveyk
Если не сделаете округление до 12-и разрядов перед ЦАП, то появится постоянная составляющая, равная 0.5 младшего разряда.
В большинстве случаев, это нисколько не мешает.
thermit
Цитата
thermit:
Вообще-то взятия старших 12-и разрядов должно хватить. Но можно сделать округление.
На вход с подается константа. В Вашем случае 0x7FFFFF. Затем берутся старшие 12 бит результата.


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