|
|
  |
Pulse Shaping Filter, Правильно ли понимаю? |
|
|
|
Aug 15 2008, 12:41
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(des00 @ Aug 15 2008, 15:29)  у меня SQRT(RRC) 64 го порядка на 8*Fверхнее занимает 4 M4K блока + немножко логики. Ссылку дать не могу, делал все самостоятельно. Там не сложно.
PS. это фильтр для обоих I и Q каналов, правда для одного канала все равно будет 4 M4K блока Расшифруйте плиз 4 M4K. Не понял. И потом, в фильтре всего 65 коэффициетов??
|
|
|
|
|
Aug 15 2008, 16:29
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(des00 @ Aug 15 2008, 17:37)  M4K это блочная память альтер, 1 M4K = 4096 битов (если не считать дополнительные биты четности).
У меня в фильтре с приподнятым косинусом и коэффициентом скругления 1.28, 64 коэффициента, с разрядностью 18 бит.
этого мне достаточно, для формирования спектра с подавлением вне полосы не менее 60дБ. Какой коэффициент интерполяции и какая разрядность сигнала на выходе? Какой вид модуляции используется. Я правильно понимаю, что для всех возможных вариантов цифрового сигнала, число которых 64/Ki (где Ki - коэффициент интерполяции) были просчитаны выходы фильтра и записаны в память?
|
|
|
|
|
Aug 18 2008, 06:52
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(des00 @ Aug 17 2008, 10:15)  я же уже писал, спектр данных Fверхнее, фильтр работает на 8*Fверхнее. Т.е. интерполяция в 8 раз. Выход 18 бит. Данный фильтр у меня работает в режиме формирования спектра QPSK/QAM16. понимаете абсолютно правильно, так и было сделано. Извините но большего сказать не могу, по голове настучат.  Жаль конечно. Но может кто другой меня поправит, потому-что я не понимаю. Если интерполяция в 8 раз, то значит всего на входе фильтра возможно 2^(64/8) = 256 варинатов. Учитывая что формируется еще и сигнал QAM16, значит в два раза больше, т.е. 512. Интерполяция в 8 раз, значит для каждого варианта 8 отсчетов сигнала на выход. Т.е. 512*8 = 4096 ячеек памяти необходимо. Если сигнал на выходе 18 разрядов, то значит вы должны были использовать 18 блоков 4 килобитной памяти, а не 4. Вот этого я и не понимаю.
|
|
|
|
|
Aug 18 2008, 16:52
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Михаил_K @ Aug 18 2008, 10:52)  Жаль конечно. Но может кто другой меня поправит, потому-что я не понимаю.
Если интерполяция в 8 раз, то значит всего на входе фильтра возможно 2^(64/8) = 256 варинатов. Учитывая что формируется еще и сигнал QAM16, значит в два раза больше, т.е. 512. Интерполяция в 8 раз, значит для каждого варианта 8 отсчетов сигнала на выход. Т.е. 512*8 = 4096 ячеек памяти необходимо. Если сигнал на выходе 18 разрядов, то значит вы должны были использовать 18 блоков 4 килобитной памяти, а не 4. Вот этого я и не понимаю. Там конечно же используется несколько обращений в память и ещё внешние арифметические операции. Полифазный фильтр 8 фаз по 8 символов в линии задержки. Требуется 8 256*16 блоков, если один из битов адреса 1 то соответствующий отсчёт просуммирован в ячейке памяти, если 0 то соответственно нулевой вклад в ячейку просуммирован. Так как импульсная характеристика симметрична то достаточно 4 256*16 блоков, потребуется соответственно в два раза больше обращений, половина обращений с адресом с обратным порядком битов. Для 16 QAM 4 обращения в блок для вычисления выходного отсчёта, например сначала символы с координатой 1, для них в соответствующих позициях адреса 1 для других символов 0, выход памяти накпливаем, затем символы -1, в соответствующих позициях адреса 1 для остальных символов 0, выход памяти накапливаем с обратным знаком, затем символы с координатой 3, выход памяти накапливаем с умножением на 3, затем символы с координатой -3, выход памяти накапливаем с умножением на -3, всё получили один выходной отсчёт. И так для всех выходных отсчётов с соответствующим им блоком памяти. Используется также двухпортовость памяти и т. п.
|
|
|
|
|
Aug 19 2008, 09:22
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(petrov @ Aug 18 2008, 20:52)  Там конечно же используется несколько обращений в память и ещё внешние арифметические операции.
Полифазный фильтр 8 фаз по 8 символов в линии задержки. Требуется 8 256*16 блоков, если один из битов адреса 1 то соответствующий отсчёт просуммирован в ячейке памяти, если 0 то соответственно нулевой вклад в ячейку просуммирован. Так как импульсная характеристика симметрична то достаточно 4 256*16 блоков, потребуется соответственно в два раза больше обращений, половина обращений с адресом с обратным порядком битов. Для 16 QAM 4 обращения в блок для вычисления выходного отсчёта, например сначала символы с координатой 1, для них в соответствующих позициях адреса 1 для других символов 0, выход памяти накпливаем, затем символы -1, в соответствующих позициях адреса 1 для остальных символов 0, выход памяти накапливаем с обратным знаком, затем символы с координатой 3, выход памяти накапливаем с умножением на 3, затем символы с координатой -3, выход памяти накапливаем с умножением на -3, всё получили один выходной отсчёт. И так для всех выходных отсчётов с соответствующим им блоком памяти. Используется также двухпортовость памяти и т. п. Ну несколько обращений в память - это конечно хорошо, но к сожалению, как правило, такой роскоши нет. Приходится работать на максимальных частотах. В последнем моем модеме, например, частота дискретизации сигнала повышалась до 200 МГц, при том что ПЛИС на такой частоте уже на работет. Работал на 100 МГц. Но упомянув внешние арифметические операции, вы натолкнули меня на другую мысль. Ведь весь фильтр можно разбить на части. Тогда объем памяти будет меньше. Например, в вышеуказанном случае, можно фильтр разбить на 4 части. Тогд получаем в каждой части 2 двухбитных коэффициента, т.е. 4 бита адреса, плюс еще 3 бита адреса на фазы. Итого 7. Сигнал 18 бит. Всего нужно (2^7)*18 = 2304 бита. Т.е. 1 4килобитный блок. Дальше делаем все четыре части аналогично, и просто складываем выходы всех 4х блоков. Кстати двухпортовость памяти несомненно используется, вот только правильное ее использование видится как с одного порта формируем канал I, с другого Q
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|