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

 
 
> Polyphase-filterbank interpolator
Zigor
сообщение Dec 6 2014, 11:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 28)
Ivan55
сообщение Dec 8 2014, 05:31
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



можно ссылку на книгу?
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 8 2014, 08:36
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ivan55 @ Dec 8 2014, 12:31) *
можно ссылку на книгу?

присоединюсь к вопросу, либо ТС дал не весь контекст, либо автор книги мягко говоря бредит.


--------------------
Go to the top of the page
 
+Quote Post
Zigor
сообщение Dec 8 2014, 11:43
Сообщение #4


Участник
*

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



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



Прикрепленные файлы
Прикрепленный файл  synchronization_notes.pdf ( 1.11 мегабайт ) Кол-во скачиваний: 149
Прикрепленный файл  Multirate_Digital_Filters_for_Symbol_Timing_Synchronization_in_Software_Defined_Radios.pdf ( 379.42 килобайт ) Кол-во скачиваний: 260
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Dec 8 2014, 13:03
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Источники хорошие, разжёвано дальше некуда, симулинк в руки и воплощаем написанное.
Go to the top of the page
 
+Quote Post
Zigor
сообщение Dec 8 2014, 14:20
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 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."


Спасибо!
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Dec 8 2014, 14:34
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 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."


На символьном интервале нам нужен один отсчёт с максимальным отношением сигнал/шум, зачем вычислять остальные?
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 8 2014, 14:54
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

спасибо за источники, теперь понятен контекст

Цитата(Zigor @ Dec 6 2014, 18:27) *
1. Зачем делать upsample последовательности на входе согласованного фильтра если можно просто поднять частоту дискретизации?

Частота дискретизации определяется используемым АЦП, просто так его частоту не поднять. Ну а в цифре использовать в качестве фильтра для подавления зеркал можно любой фильтр, с подходящей АЧХ, в том числе и согласованный с полосой.
Цитата
2. Почему нельзя взять несколько блоков с согласованными фильтрами работающими каждый на низкой частоте и смотреть который из них дал наилучший отсчет?

а смысл? вычислений намного больше, а результат тот же.

а вообще использование полифазного согласованного фильтра для временной синхронизации ИМХО допустимо при обработке узких полос, на широких полосах проще поднять частоту дискретизации и на классический полиномиальный интерполятор.


--------------------
Go to the top of the page
 
+Quote Post
Zigor
сообщение Dec 9 2014, 10:34
Сообщение #9


Участник
*

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



Цитата(des00 @ Dec 8 2014, 18:54) *
а вообще использование полифазного согласованного фильтра для временной синхронизации ИМХО допустимо при обработке узких полос, на широких полосах проще поднять частоту дискретизации и на классический полиномиальный интерполятор.


1. Поясните пожалуйста почему?
2. Я могу поднять частоту с 4х до 16ти и даже 32х отсчетов на символ. Какую схему управления рекомендуете?
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 9 2014, 11:56
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Zigor @ Dec 9 2014, 18:34) *
1. Поясните пожалуйста почему?

требуется разная производительность. Если это ДСП то разницы как делать нет, но дсп не может переварить широкую полосу, а если это ПЛИС то фильтр с переменными коэффициентами весит много больше.
Цитата
2. Я могу поднять частоту с 4х до 16ти и даже 32х отсчетов на символ. Какую схему управления рекомендуете?

хмм, а причем здесь схема управления? ИМХО 8 отчетов на символ вам больше чем достаточно.


--------------------
Go to the top of the page
 
+Quote Post
Zigor
сообщение Dec 9 2014, 12:42
Сообщение #11


Участник
*

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



Цитата(des00 @ Dec 9 2014, 15:56) *
требуется разная производительность. Если это ДСП то разницы как делать нет, но дсп не может переварить широкую полосу, а если это ПЛИС то фильтр с переменными коэффициентами весит много больше.


На плис можно оптимизировать фильтр и хранить в коэффициенты в памяти, задействовав один умножитель вместо нескольких параллельных. Не понял про связь DSP и широкой полосы.

Цитата(des00 @ Dec 9 2014, 15:56) *
хмм, а причем здесь схема управления? ИМХО 8 отчетов на символ вам больше чем достаточно.


В моем случае несущая 100кГц - FPGA работает на низкой частоте, может есть смысл оцифровывать на частоте скажем x16, но сэкономить на интерполяторе?

Прошу прощения за примитив вопросов!
Спасибо!!!
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 9 2014, 14:04
Сообщение #12


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Zigor @ Dec 9 2014, 20:42) *
На плис можно оптимизировать фильтр и хранить в коэффициенты в памяти, задействовав один умножитель вместо нескольких параллельных. Не понял про связь DSP и широкой полосы.

Не знаю как у вас, но для меня широкая полоса это полоса от 28МГц до 1000 МГц, согласованные фильтры в среднем 40-80 коэффициентов. А теперь рассмотрите еще раз свои предложения в этом контексте.

Цитата
В моем случае несущая 100кГц - FPGA работает на низкой частоте, может есть смысл оцифровывать на частоте скажем x16, но сэкономить на интерполяторе?

Не знаю как у вас сделана нарезка и какой у вас АЦП, но я бы работал на частоте дискретизации близкой к максимальной, затем спустился бы до 8 отсчетов на символ и на полиномиальный интерполятор 3 го порядка. Ну либо до 32 отсчетов на символ и линейный интерполятор. Но в этом случае требования к фильтрам более жесткие.


--------------------
Go to the top of the page
 
+Quote Post
Zigor
сообщение Dec 11 2014, 15:06
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 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 ?
Go to the top of the page
 
+Quote Post
links
сообщение Dec 29 2014, 11:04
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 15-06-08
Пользователь №: 38 299



У Вас в источниках первой приведена глава по синхронизации из некоей книги. Не могли бы дать ссылку на книгу целиком?
Go to the top of the page
 
+Quote Post
Самурай
сообщение Dec 29 2014, 13:55
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(links @ Dec 29 2014, 15:04) *
У Вас в источниках первой приведена глава по синхронизации из некоей книги. Не могли бы дать ссылку на книгу целиком?


Это лекции по следующей книге: Michael Rice, Digital Communications: A Discrete-Time Approach.
Ну или книга на основе лекцийsm.gif
В гугле найти можно.
Go to the top of the page
 
+Quote Post
links
сообщение Dec 30 2014, 06:23
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 15-06-08
Пользователь №: 38 299



Цитата(Самурай @ Dec 29 2014, 16:55) *
Это лекции по следующей книге: Michael Rice, Digital Communications: A Discrete-Time Approach.
Ну или книга на основе лекцийsm.gif
В гугле найти можно.


Спасибо, нашел. Хорошая книга, методически правильная! sm.gif
Go to the top of the page
 
+Quote Post
Hose
сообщение Jan 8 2015, 12:22
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Это курсовой проект?

Если нет, то какие у вас требования на коэффициенты передачи по джиттеру и вандеру?
Go to the top of the page
 
+Quote Post
Zigor
сообщение Jan 8 2015, 13:31
Сообщение #18


Участник
*

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



Цитата(Hose @ Jan 8 2015, 16:22) *
Это курсовой проект?

Если нет, то какие у вас требования на коэффициенты передачи по джиттеру и вандеру?


Добрый день!

Залил запрашиваемую книгу - юзайте на здоровье!
https://www.sendspace.com/file/juseqn

Подскажите где почитать по поводу расчетов параметров указанных Вами?

Проект НЕ курсовой.
Проектирую систему связи для медного кабеля на QAM16 с последующим переходом на QAM64, в системах связи новичок и поэтому заранее прощу прощения за примитив вопросов!

Такой вопрос еще возник - если символьная скорость к примеру 100кГц, как осуществить перенос сигнала на несущую не кратную символьной скорости - например 160кГц?

Спасибо!
Go to the top of the page
 
+Quote Post
Hose
сообщение Jan 8 2015, 14:18
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Для начала скляра. На форуме есть ссылки.
Символам на 100к надо придать форму (ограничить спектр), одновременно повысится частота дискретизации до оптимальной для вас. Затем сделаете dds квадратурный, заберете с него 160к син и кос, перемножите комплексно с вашими скругленными символами и получите комплексный сигнал, который в частотной области будет "прямоугольником" чуть (от 5% до 50%) шире 100к и центром в 160к...
Там просто все), главное начать.
Go to the top of the page
 
+Quote Post
Zigor
сообщение Jan 9 2015, 09:49
Сообщение #20


Участник
*

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



Спасибо!
1. Получается что частота дискретизации на выходе формирующего фильтра и определяет частоту дискретизации в ЦАП после смешивания с несущей.

2. Разбираюсь с работой PLL и подстройкой частоты. Нашел на форуме модели товарища Petrov для QAM16.
Начитался источников (в т.ч Michael Rice) по проектированию PLL, сделал файл для расчета цепи фильтра (файл прилагаю).
Несмотря на все расчеты созвездие крутится при частотном сдвиге в канале (хоть ты тресни)))

Если для DDS K0 == 2*pi *fsys / 2^PHASE_ACC_WIDTH
То для CORDIC или просто матлабовской функции комплексной экспоненты (в случае модели с плавающей точкой) как рассчитывается K0 ?



Прикрепленные файлы
Прикрепленный файл  pll_calc.zip ( 108.62 килобайт ) Кол-во скачиваний: 42
 
Go to the top of the page
 
+Quote Post
Hose
сообщение Jan 9 2015, 11:33
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



1) на эту тему можно книгу написать. На ваши частоты больше влияют ширины фильтров в аналоговом тракте. И их цена )
2) с первым вопросом сначала разберитесь.
Go to the top of the page
 
+Quote Post
serggerm
сообщение Jan 22 2015, 09:38
Сообщение #22


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 6-07-04
Пользователь №: 276



Цитата(Zigor @ Dec 6 2014, 14:27) *
Добрый день!

Проектирую систему связи на QAM.

В первом приближении стоит задача сделать работоспособную систему на QAM16, c последующим переходом на QAM64.
Разбираюсь с timing_recovery

Насколько я понял можно использовать интерполятор с разными схемами контроля, либо polyphase-filterbank interpolator

Если использовать polyphase-filterbank interpolator

1. Зачем делать upsample последовательности на входе согласованного фильтра если можно просто поднять частоту дискретизации?
2. Почему нельзя взять несколько блоков с согласованными фильтрами работающими каждый на низкой частоте и смотреть который из них дал наилучший отсчет?

Как в таком случае отслеживать ошибку - детектор на каждый канал и смотреть где ошибка меньше?

Спасибо!


Вы упустили самый выжный момент этой главы из Рице. Там используются параллельно два полифазных согласованных фильтра - причем второй фильтр дает производную сигнала. Если сигнал и его производную перемножить то отсюда получим ошибку синхронизации - и в отличие от Гарднера этот метод работает отлично для всех - qpsk 8apsk 16... kam. Реализовал в своем проекте для демодулятора dvb-s2 сигнала. Идеи Рице продолжаю использовать и в других блоках демодулятора - мужик практик, у него есть конкретные реализации в Xilinx .





Go to the top of the page
 
+Quote Post
Serg76
сообщение Jan 22 2015, 12:02
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(serggerm @ Jan 22 2015, 12:38) *
Там используются параллельно два полифазных согласованных фильтра

"Жирная" схема получается
Go to the top of the page
 
+Quote Post
Zigor
сообщение Jan 31 2015, 12:26
Сообщение #24


Участник
*

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



Цитата(serggerm @ Jan 22 2015, 13:38) *
Вы упустили самый выжный момент этой главы из Рице. Там используются параллельно два полифазных согласованных фильтра - причем второй фильтр дает производную сигнала. Если сигнал и его производную перемножить то отсюда получим ошибку синхронизации - и в отличие от Гарднера этот метод работает отлично для всех - qpsk 8apsk 16... kam. Реализовал в своем проекте для демодулятора dvb-s2 сигнала. Идеи Рице продолжаю использовать и в других блоках демодулятора - мужик практик, у него есть конкретные реализации в Xilinx .


1. Сколько отсчетов на символ Вы используете?
2. Во сколько раз upsamplируете входной сигнал?
3. Как у Вас устроена цепь обратной связи для управления интерполятором?
3. Можно поподробнее про использование идей Рица в других блоках демодулятора?

Спасибо!
Go to the top of the page
 
+Quote Post
serggerm
сообщение Mar 1 2015, 16:35
Сообщение #25


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 6-07-04
Пользователь №: 276



Цитата(Zigor @ Jan 8 2015, 16:31) *
Добрый день!

Залил запрашиваемую книгу - юзайте на здоровье!
https://www.sendspace.com/file/juseqn

Подскажите где почитать по поводу расчетов параметров указанных Вами?

Проект НЕ курсовой.
Проектирую систему связи для медного кабеля на QAM16 с последующим переходом на QAM64, в системах связи новичок и поэтому заранее прощу прощения за примитив вопросов!

Такой вопрос еще возник - если символьная скорость к примеру 100кГц, как осуществить перенос сигнала на несущую не кратную символьной скорости - например 160кГц?

Спасибо!


Вообще-то для медного кабеля традиционно в сигнал замешивали пилот-сигнал , в демодуляторе его извлекали узкополосным фильтром и от него тактировалась вся остальная часть - жить было много проще, V32 modem standart, для спутниковых и релеек нынче пилота нет, усе сложнее с синхронизациями. Так что определяйтесь с пилотом или без а потом реализуйте.


Go to the top of the page
 
+Quote Post
KPiter
сообщение Apr 20 2016, 21:21
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 22-09-06
Из: NN
Пользователь №: 20 592



Перезалейте книгу (Michael Rice, Digital Communications: A Discrete-Time Approach) пожалуйста!!
Go to the top of the page
 
+Quote Post
Quasar
сообщение Aug 9 2017, 21:39
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(KPiter @ Apr 21 2016, 00:21) *
Перезалейте книгу (Michael Rice, Digital Communications: A Discrete-Time Approach) пожалуйста!!


Поддерживаю. У кого есть, выложите пожалуйста.
Go to the top of the page
 
+Quote Post
andyp
сообщение Aug 10 2017, 09:56
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Quasar @ Aug 10 2017, 00:39) *
Поддерживаю. У кого есть, выложите пожалуйста.


http://b-ok.org/md5/90149F9F5519139426DB7F26A0B20745
Go to the top of the page
 
+Quote Post
Quasar
сообщение Aug 11 2017, 07:49
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(andyp @ Aug 10 2017, 12:56) *


Спасибо!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 7th August 2025 - 00:19
Рейтинг@Mail.ru


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