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

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

Добрый день!

Гуру модемостроения, подскажите последние тендеции в модемостроении при построение цепей AFC (работа с большими изначальными расстройками).

 

Из обзора литературы я понял что используется либо :

1. система поиска частоты (при больших расстройках медленно и есть определенные проблемы с детекторами захвата, особенно в шумах).

2. система основанная на BandEdge фильтрах (фильтры +-1/2T с выравниванием мощности), но она очень чувствительна к перекосам спектра.

3. система на ортогональных пилот сигналах/нелинейного выделения частоты несущей + классическое выделение расстройки по несушей с помощью cross/dot product (чувствительна к проникновению данных в пилот/ухудшение с/ш по захвату + высокий шум)

4. системы на основе FFT/банка фильтров (нужен ресурс под все это дело)

5. системы на основе преамбулы + FFT (как в TDMA, как тут с ресурсом еще не разобрался).

 

Другого, в доступной мне литературе не нашел. Может быть я что-то пропустил и прогрессивное человечество придумало что-то новое?

 

Спасибо!!!

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


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

я использую FFT от нелинейного преобразования сигнала (возведение в степень для снятия модуляции). Работает как в непрерывных сигналах, так и в TDMA. единственное для TDMA, если потом нужно подстраиваться по каждому пакету, то не всегда подходит такой метод, ибо пакеты короткой и длины и точно оценить отстройку без ухудшения С/Ш не получается, поэтому удерживаю несущую только за счет фазы. И еще при низком исходном соотношении С/Ш возведение в степень сильно разгоняет шум, особенно для 8PSK/16APSK. но в основном все устраивает, поиск даже при достаточно больших отстройках. :)

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

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


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

Я правда в модемах ни бум-бум, но, по восстановелнию частоты несущей, можно вставить свои пять копеек? Линейное предсказание, код у тебя есть, единственно, это довольно трудоемкая процедура, может поесть все доступные умножители, наверное из-за этого - не распространено. Причем одна часть алгоритма на плиску хорошо ложится, а вот другую я только на писишке смог гонять, там больно много условий и ветвлений. Вкрячивать ниос и на нем на С программировать - так и не научился.

 

Реально где это мейн стрим - ядерный магнитный резонанс, но там стоимость прибора сравнима с хорошим суперкомпьютером, поэтому народ там на терафлопсах не экономит. Если заинтересует, могу кинуть (если быстро отсканирую) хороший обзор, или несколько своих статей, и доступно об этом порассказываю.

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


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

я использую FFT от нелинейного преобразования сигнала (возведение в степень для снятия модуляции).

странно что используете FFT, если снять модуляцию можно через аркангенс и cross/dot product вычислить расстройку. Хотя не знаю как там будет с шумами, ведь помимо возведения в квадрат, будет еще умножение сигналов между собой. И для индексов модуляции высоких порядков этот метод не сильно подходит (QAM32 и выше).

 

Немного вопросов о размере FFT, не могли бы вы указать ширину полосы, частоту АЦП и размер FFT используемого вами. Т.к. ИМХО если взять полосу в 20МГц, тактовую в 100МГц, для разрешения по частоте 10КГц потребуется фурье на 5000 точек. Что занимает кучу времени и ресурса. Или вы считаете не все бины FFT, а только часть нужных вам точек?

 

Я правда в модемах ни бум-бум, но, по восстановелнию частоты несущей, можно вставить свои пять копеек? Линейное предсказание, код у тебя есть, единственно, это довольно трудоемкая процедура

...

Если заинтересует, могу кинуть (если быстро отсканирую) хороший обзор, или несколько своих статей, и доступно об этом порассказываю.

обзоры бы посмотрел, спасибо! а по применению сомневаюсь я что-то, особенно для low-cost модемов %)

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


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

странно что используете FFT, если снять модуляцию можно через аркангенс и cross/dot product вычислить расстройку. Хотя не знаю как там будет с шумами, ведь помимо возведения в квадрат, будет еще умножение сигналов между собой. И для индексов модуляции высоких порядков этот метод не сильно подходит (QAM32 и выше).

 

FFT более универсален, подходит практически под любые моды, алгоритм реализации прост, а через арктангенс по-моему алгоритм по-сложнее будет. Делал на персоналке, поэтому в ресурсах не был стеснен.

 

Немного вопросов о размере FFT, не могли бы вы указать ширину полосы, частоту АЦП и размер FFT используемого вами. Т.к. ИМХО если взять полосу в 20МГц, тактовую в 100МГц, для разрешения по частоте 10КГц потребуется фурье на 5000 точек. Что занимает кучу времени и ресурса. Или вы считаете не все бины FFT, а только часть нужных вам точек?

 

нет, считал полное FFT, потому как отстройка заранее неизвестна и могла иметь любое значение, сравнимое с полосой сигнала, опять же повторюсь делал на персоналке, поэтому ресурсы были предоставлены + ускорение за счет инстриктов процессора. Размер окна FFT уже не помню какой брал, но по-моему побольше 5000.

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


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

2 des00 можно попробовать еще сделать гибрид: FFT (для начальной грубой оценки) + обычная узкополосная ФАПЧ. тогда вроде как ресурсов немного понадобится на FFT.

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


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

можно попробовать еще сделать гибрид: FFT (для начальной грубой оценки) + обычная узкополосная ФАПЧ. тогда вроде как ресурсов немного понадобится на FFT.

По моим расчетам получается не так. Для примера возьмем полосу 20МГц и частоту оцифровки 100МГц. Как показывает мой опыт полоса захвата петель по несушке (например известный TanLock loop) порядка 15-20кГц. Поэтому при оценке по FFT желательно иметь размер шага в половину петли захвата. Получается 10Кгц, для этого требуемое кол-во точек FFT 50МГц/10кГц = 5000.

 

В моем случае полосы достаточно широкие, модем линейный и расстройка будет порядка +-200КГц, вот и думаю как бы "дешевле" по ресурсам это сделать. Судя по тому что пишет альтера в FFT MegaCore Function User Guide в варианте 4096 точек ~6000LC ну совсем не гуманно %)

 

Еще рассматриваю вариант сделать BPSK преамбулу (немного подожму скругление и задеру символьную), может быть у кого то есть хорошие доки по синхронизации TDMA? чтобы не искать ;)

 

 

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


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

А если взять, к примеру, БПФ на 32 или более точек, а потом Герцеля с десяток раз запустить?

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


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

При больших шумах, чем больше точек БПФ, тем лучше. Другими словами, при определённых больших шумах, БПФ на мало точек может ничего полезного не определить. А уж Герцель потом хз что насчитает.

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


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

При больших шумах, чем больше точек БПФ, тем лучше. Другими словами, при определённых больших шумах, БПФ на мало точек может ничего полезного не определить. А уж Герцель потом хз что насчитает.

 

При больших - это каких? Что-то конкретных цифр у ТС я не заметил. Мне почему-то кажется, что необходимое число точек будет существенно меньше 5к.

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


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

Мне почему-то кажется, что необходимое число точек будет существенно меньше 5к.

как? не производя никаких дополнительных интерполяций?

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


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

В моем случае полосы достаточно широкие, модем линейный и расстройка будет порядка +-200КГц, вот и думаю как бы "дешевле" по ресурсам это сделать. Судя по тому что пишет альтера в FFT MegaCore Function User Guide в варианте 4096 точек ~6000LC ну совсем не гуманно %)

 

Еще рассматриваю вариант сделать BPSK преамбулу (немного подожму скругление и задеру символьную), может быть у кого то есть хорошие доки по синхронизации TDMA? чтобы не искать ;)

 

Если взять полосу в 200 КГц отфильтровать и децимировать то можно и маленьким FFT обойтись. Еще дешевый вариант -

пилот в виде немодулированной несущей, на приемной стороне частотный детектор для начального захвата.

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


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

Если взять полосу в 200 КГц отфильтровать и децимировать то можно и маленьким FFT обойтись. Еще дешевый вариант -

пилот в виде немодулированной несущей, на приемной стороне частотный детектор для начального захвата.

Насколько дешево обойдется децимация? я поэтому и не решился ее предложить. А вот с преамбулой может стоит попробовать.

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

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


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

Насколько дешево обойдется децимация? А вот с преамбулой может стоит попробовать.

Сильно дешевле чем ФФТ на 4K. Какой-нибудь CIC - дециматор 3го порядка + FIR. На высокой частоте несколько аккумуляторов будет работать. Все остальное на пониженной частоте.

 

upd: 2 Serg76. А что в возведении КАМ в 4ю степень получается чего-нибудь полезное при разумных SNR?

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


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

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

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

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

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

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

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

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

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

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