|
Polyphase-filterbank interpolator |
|
|
|
Dec 6 2014, 11:27
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 6-10-10
Пользователь №: 59 958

|
Добрый день! Проектирую систему связи на QAM. В первом приближении стоит задача сделать работоспособную систему на QAM16, c последующим переходом на QAM64. Разбираюсь с timing_recovery Насколько я понял можно использовать интерполятор с разными схемами контроля, либо polyphase-filterbank interpolator Если использовать polyphase-filterbank interpolator 1. Зачем делать upsample последовательности на входе согласованного фильтра если можно просто поднять частоту дискретизации? 2. Почему нельзя взять несколько блоков с согласованными фильтрами работающими каждый на низкой частоте и смотреть который из них дал наилучший отсчет? Как в таком случае отслеживать ошибку - детектор на каждый канал и смотреть где ошибка меньше? Спасибо!
Сообщение отредактировал Zigor - Dec 6 2014, 11:29
Эскизы прикрепленных изображений
 РЈРСВВВВВВВеньшено Р В Р’В Р СћРІР‚ВВВВВВР С• 78%
767 x 983 (61.7 килобайт)
|
 РЈРСВВВВВВВеньшено Р В Р’В Р СћРІР‚ВВВВВВР С• 78%
757 x 967 (45.27 килобайт)
|
|
|
|
|
|
Dec 8 2014, 11:43
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 6-10-10
Пользователь №: 59 958

|
Цитата(des00 @ Dec 8 2014, 12:36)  присоединюсь к вопросу, либо ТС дал не весь контекст, либо автор книги мягко говоря бредит.
|
|
|
|
|
Dec 8 2014, 14:20
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 6-10-10
Пользователь №: 59 958

|
Цитата(petrov @ Dec 8 2014, 17:03)  Источники хорошие, разжёвано дальше некуда, симулинк в руки и воплощаем написанное. Понятно дело. Не вкурил пока след. вопросы Пусть первоначально 4 отсчета на символ, делаем 4 блока для timing correction - в итоге 16 отсчетов на символ. По логике в каждом блоке должен быть первоначальный согласованный фильтр, в каждом блоке одинаковый. И каждым блок смещаем на отсчет и прореживаем в 4 раза. Соответственно какой из блоков лучше оказался "притерт" к символу - тот и выбираем. 1. Зачем upsampling производить вставкой нулей? Ведь можно просто увеличить частоту дискретизации? "The sequence is upsampled by a factor by inserting zeros between each sample of to produce a new sequence that provides samples/symbol." 2. В источнике речь идет о РАЗНЫХ наборах коэффициентов для каждого блока, почему так? "The direct brute-force implementation of the polyphase filterbank requires the operation of polyphase filters that operate in parallel. In reality, filters are not constructed, but rather a single stage filter with set of weights that are selected from memory by a pointer under control of the phase locked loop." Спасибо!
Эскизы прикрепленных изображений
 РЈРСВВВВВВВеньшено Р В Р’В Р СћРІР‚ВВВВВВР С• 80%
838 x 1216 (252.18 килобайт)
|
|
|
|
|
|
Dec 8 2014, 14:34
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Zigor @ Dec 8 2014, 17:20)  1. Зачем upsampling производить вставкой нулей? Ведь можно просто увеличить частоту дискретизации?
"The sequence is upsampled by a factor by inserting zeros between each sample of to produce a new sequence that provides samples/symbol." Просто увеличение это такая же вставка нулей и фильтр скользящего среднего, который не нужен. Цитата(Zigor @ Dec 8 2014, 17:20)  2. В источнике речь идет о РАЗНЫХ наборах коэффициентов для каждого блока, почему так?
"The direct brute-force implementation of the polyphase filterbank requires the operation of polyphase filters that operate in parallel. In reality, filters are not constructed, but rather a single stage filter with set of weights that are selected from memory by a pointer under control of the phase locked loop." На символьном интервале нам нужен один отсчёт с максимальным отношением сигнал/шум, зачем вычислять остальные?
|
|
|
|
|
Dec 8 2014, 14:54
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(des00 @ Dec 8 2014, 15:36)  присоединюсь к вопросу, либо ТС дал не весь контекст, либо автор книги мягко говоря бредит. спасибо за источники, теперь понятен контекст Цитата(Zigor @ Dec 6 2014, 18:27)  1. Зачем делать upsample последовательности на входе согласованного фильтра если можно просто поднять частоту дискретизации? Частота дискретизации определяется используемым АЦП, просто так его частоту не поднять. Ну а в цифре использовать в качестве фильтра для подавления зеркал можно любой фильтр, с подходящей АЧХ, в том числе и согласованный с полосой. Цитата 2. Почему нельзя взять несколько блоков с согласованными фильтрами работающими каждый на низкой частоте и смотреть который из них дал наилучший отсчет? а смысл? вычислений намного больше, а результат тот же. а вообще использование полифазного согласованного фильтра для временной синхронизации ИМХО допустимо при обработке узких полос, на широких полосах проще поднять частоту дискретизации и на классический полиномиальный интерполятор.
--------------------
|
|
|
|
|
Dec 9 2014, 10:34
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 6-10-10
Пользователь №: 59 958

|
Цитата(des00 @ Dec 8 2014, 18:54)  а вообще использование полифазного согласованного фильтра для временной синхронизации ИМХО допустимо при обработке узких полос, на широких полосах проще поднять частоту дискретизации и на классический полиномиальный интерполятор. 1. Поясните пожалуйста почему? 2. Я могу поднять частоту с 4х до 16ти и даже 32х отсчетов на символ. Какую схему управления рекомендуете?
|
|
|
|
|
Dec 9 2014, 11:56
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Zigor @ Dec 9 2014, 18:34)  1. Поясните пожалуйста почему? требуется разная производительность. Если это ДСП то разницы как делать нет, но дсп не может переварить широкую полосу, а если это ПЛИС то фильтр с переменными коэффициентами весит много больше. Цитата 2. Я могу поднять частоту с 4х до 16ти и даже 32х отсчетов на символ. Какую схему управления рекомендуете? хмм, а причем здесь схема управления? ИМХО 8 отчетов на символ вам больше чем достаточно.
--------------------
|
|
|
|
|
Dec 9 2014, 12:42
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 6-10-10
Пользователь №: 59 958

|
Цитата(des00 @ Dec 9 2014, 15:56)  требуется разная производительность. Если это ДСП то разницы как делать нет, но дсп не может переварить широкую полосу, а если это ПЛИС то фильтр с переменными коэффициентами весит много больше. На плис можно оптимизировать фильтр и хранить в коэффициенты в памяти, задействовав один умножитель вместо нескольких параллельных. Не понял про связь DSP и широкой полосы. Цитата(des00 @ Dec 9 2014, 15:56)  хмм, а причем здесь схема управления? ИМХО 8 отчетов на символ вам больше чем достаточно. В моем случае несущая 100кГц - FPGA работает на низкой частоте, может есть смысл оцифровывать на частоте скажем x16, но сэкономить на интерполяторе? Прошу прощения за примитив вопросов! Спасибо!!!
|
|
|
|
|
Dec 9 2014, 14:04
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Zigor @ Dec 9 2014, 20:42)  На плис можно оптимизировать фильтр и хранить в коэффициенты в памяти, задействовав один умножитель вместо нескольких параллельных. Не понял про связь DSP и широкой полосы. Не знаю как у вас, но для меня широкая полоса это полоса от 28МГц до 1000 МГц, согласованные фильтры в среднем 40-80 коэффициентов. А теперь рассмотрите еще раз свои предложения в этом контексте. Цитата В моем случае несущая 100кГц - FPGA работает на низкой частоте, может есть смысл оцифровывать на частоте скажем x16, но сэкономить на интерполяторе? Не знаю как у вас сделана нарезка и какой у вас АЦП, но я бы работал на частоте дискретизации близкой к максимальной, затем спустился бы до 8 отсчетов на символ и на полиномиальный интерполятор 3 го порядка. Ну либо до 32 отсчетов на символ и линейный интерполятор. Но в этом случае требования к фильтрам более жесткие.
--------------------
|
|
|
|
|
Dec 11 2014, 15:06
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 6-10-10
Пользователь №: 59 958

|
Цитата(des00 @ Dec 9 2014, 18:04)  Не знаю как у вас сделана нарезка и какой у вас АЦП, но я бы работал на частоте дискретизации близкой к максимальной, затем спустился бы до 8 отсчетов на символ и на полиномиальный интерполятор 3 го порядка. Ну либо до 32 отсчетов на символ и линейный интерполятор. Но в этом случае требования к фильтрам более жесткие. АЦП - AD9235, по поводу нарезки не уверен что вкурил основную мысль. Прошу уточнить для тех кто в танке))) К примеру: Несущая 100кГц, Частота сэмплирования АЦП == 3,2МГц 1. Отсчеты АЦП умножаю на отсчеты комплексно сопряженной экспоненты несущей (фаза произвольная) - переношу в 0 2. Далее фильтр низкой частоты. 3. Далее согласованный фильтр с понижением до 8ми сэмплов на такт. 4. Интерполятор 5. Корректировка фазы Is't it ?
|
|
|
|
|
Dec 29 2014, 13:55
|
Местный
  
Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066

|
Цитата(links @ Dec 29 2014, 15:04)  У Вас в источниках первой приведена глава по синхронизации из некоей книги. Не могли бы дать ссылку на книгу целиком? Это лекции по следующей книге: Michael Rice, Digital Communications: A Discrete-Time Approach. Ну или книга на основе лекций В гугле найти можно.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|