Перейти к содержанию
    

 

Добрый день!

 

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

 

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

Разбираюсь с timing_recovery

 

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

 

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

 

1. Зачем делать upsample последовательности на входе согласованного фильтра если можно просто поднять частоту дискретизации?

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

 

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

 

Спасибо!

post-59958-1417864730_thumb.png

post-59958-1417864743_thumb.png

Изменено пользователем Zigor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно ссылку на книгу?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

synchronization_notes.pdf

Multirate_Digital_Filters_for_Symbol_Timing_Synchronization_in_Software_Defined_Radios.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Источники хорошие, разжёвано дальше некуда, симулинк в руки и воплощаем написанное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Источники хорошие, разжёвано дальше некуда, симулинк в руки и воплощаем написанное.

 

 

Понятно дело. Не вкурил пока след. вопросы

 

Пусть первоначально 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."

 

 

Спасибо!

post-59958-1418047485_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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."

 

На символьном интервале нам нужен один отсчёт с максимальным отношением сигнал/шум, зачем вычислять остальные?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

1. Зачем делать upsample последовательности на входе согласованного фильтра если можно просто поднять частоту дискретизации?

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

1. Поясните пожалуйста почему?

2. Я могу поднять частоту с 4х до 16ти и даже 32х отсчетов на символ. Какую схему управления рекомендуете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Поясните пожалуйста почему?

требуется разная производительность. Если это ДСП то разницы как делать нет, но дсп не может переварить широкую полосу, а если это ПЛИС то фильтр с переменными коэффициентами весит много больше.

2. Я могу поднять частоту с 4х до 16ти и даже 32х отсчетов на символ. Какую схему управления рекомендуете?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

требуется разная производительность. Если это ДСП то разницы как делать нет, но дсп не может переварить широкую полосу, а если это ПЛИС то фильтр с переменными коэффициентами весит много больше.

 

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

 

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

 

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

 

Прошу прощения за примитив вопросов!

Спасибо!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

АЦП - AD9235, по поводу нарезки не уверен что вкурил основную мысль.

 

Прошу уточнить для тех кто в танке)))

 

К примеру:

 

Несущая 100кГц, Частота сэмплирования АЦП == 3,2МГц

1. Отсчеты АЦП умножаю на отсчеты комплексно сопряженной экспоненты несущей (фаза произвольная) - переношу в 0

2. Далее фильтр низкой частоты.

3. Далее согласованный фильтр с понижением до 8ми сэмплов на такт.

4. Интерполятор

5. Корректировка фазы

 

Is't it ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас в источниках первой приведена глава по синхронизации из некоей книги. Не могли бы дать ссылку на книгу целиком?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас в источниках первой приведена глава по синхронизации из некоей книги. Не могли бы дать ссылку на книгу целиком?

 

Это лекции по следующей книге: Michael Rice, Digital Communications: A Discrete-Time Approach.

Ну или книга на основе лекций:)

В гугле найти можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...