|
Восстановление частоты несущей при больших расстройках, построение AFC |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 37)
|
Nov 3 2011, 16:37
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Я правда в модемах ни бум-бум, но, по восстановелнию частоты несущей, можно вставить свои пять копеек? Линейное предсказание, код у тебя есть, единственно, это довольно трудоемкая процедура, может поесть все доступные умножители, наверное из-за этого - не распространено. Причем одна часть алгоритма на плиску хорошо ложится, а вот другую я только на писишке смог гонять, там больно много условий и ветвлений. Вкрячивать ниос и на нем на С программировать - так и не научился.
Реально где это мейн стрим - ядерный магнитный резонанс, но там стоимость прибора сравнима с хорошим суперкомпьютером, поэтому народ там на терафлопсах не экономит. Если заинтересует, могу кинуть (если быстро отсканирую) хороший обзор, или несколько своих статей, и доступно об этом порассказываю.
|
|
|
|
|
Nov 3 2011, 17:25
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Serg76 @ Nov 3 2011, 09:44)  я использую FFT от нелинейного преобразования сигнала (возведение в степень для снятия модуляции). странно что используете FFT, если снять модуляцию можно через аркангенс и cross/dot product вычислить расстройку. Хотя не знаю как там будет с шумами, ведь помимо возведения в квадрат, будет еще умножение сигналов между собой. И для индексов модуляции высоких порядков этот метод не сильно подходит (QAM32 и выше). Немного вопросов о размере FFT, не могли бы вы указать ширину полосы, частоту АЦП и размер FFT используемого вами. Т.к. ИМХО если взять полосу в 20МГц, тактовую в 100МГц, для разрешения по частоте 10КГц потребуется фурье на 5000 точек. Что занимает кучу времени и ресурса. Или вы считаете не все бины FFT, а только часть нужных вам точек? Цитата(iiv @ Nov 3 2011, 10:37)  Я правда в модемах ни бум-бум, но, по восстановелнию частоты несущей, можно вставить свои пять копеек? Линейное предсказание, код у тебя есть, единственно, это довольно трудоемкая процедура ... Если заинтересует, могу кинуть (если быстро отсканирую) хороший обзор, или несколько своих статей, и доступно об этом порассказываю. обзоры бы посмотрел, спасибо! а по применению сомневаюсь я что-то, особенно для low-cost модемов %)
--------------------
|
|
|
|
|
Nov 3 2011, 17:47
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(des00 @ Nov 3 2011, 21:25)  странно что используете FFT, если снять модуляцию можно через аркангенс и cross/dot product вычислить расстройку. Хотя не знаю как там будет с шумами, ведь помимо возведения в квадрат, будет еще умножение сигналов между собой. И для индексов модуляции высоких порядков этот метод не сильно подходит (QAM32 и выше). FFT более универсален, подходит практически под любые моды, алгоритм реализации прост, а через арктангенс по-моему алгоритм по-сложнее будет. Делал на персоналке, поэтому в ресурсах не был стеснен. Цитата(des00 @ Nov 3 2011, 21:25)  Немного вопросов о размере FFT, не могли бы вы указать ширину полосы, частоту АЦП и размер FFT используемого вами. Т.к. ИМХО если взять полосу в 20МГц, тактовую в 100МГц, для разрешения по частоте 10КГц потребуется фурье на 5000 точек. Что занимает кучу времени и ресурса. Или вы считаете не все бины FFT, а только часть нужных вам точек? нет, считал полное FFT, потому как отстройка заранее неизвестна и могла иметь любое значение, сравнимое с полосой сигнала, опять же повторюсь делал на персоналке, поэтому ресурсы были предоставлены + ускорение за счет инстриктов процессора. Размер окна FFT уже не помню какой брал, но по-моему побольше 5000.
|
|
|
|
|
Nov 6 2011, 08:37
|
Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817

|
Цитата(GetSmart @ Nov 6 2011, 11:26)  При больших шумах, чем больше точек БПФ, тем лучше. Другими словами, при определённых больших шумах, БПФ на мало точек может ничего полезного не определить. А уж Герцель потом хз что насчитает. При больших - это каких? Что-то конкретных цифр у ТС я не заметил. Мне почему-то кажется, что необходимое число точек будет существенно меньше 5к.
|
|
|
|
|
Nov 6 2011, 09:45
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(des00 @ Nov 5 2011, 17:11)  В моем случае полосы достаточно широкие, модем линейный и расстройка будет порядка +-200КГц, вот и думаю как бы "дешевле" по ресурсам это сделать. Судя по тому что пишет альтера в FFT MegaCore Function User Guide в варианте 4096 точек ~6000LC ну совсем не гуманно %) Еще рассматриваю вариант сделать BPSK преамбулу (немного подожму скругление и задеру символьную), может быть у кого то есть хорошие доки по синхронизации TDMA? чтобы не искать  Если взять полосу в 200 КГц отфильтровать и децимировать то можно и маленьким FFT обойтись. Еще дешевый вариант - пилот в виде немодулированной несущей, на приемной стороне частотный детектор для начального захвата.
--------------------
ну не художники мы...
|
|
|
|
|
Nov 6 2011, 10:02
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(Serg76 @ Nov 6 2011, 12:55)  Насколько дешево обойдется децимация? А вот с преамбулой может стоит попробовать. Сильно дешевле чем ФФТ на 4K. Какой-нибудь CIC - дециматор 3го порядка + FIR. На высокой частоте несколько аккумуляторов будет работать. Все остальное на пониженной частоте. upd: 2 Serg76. А что в возведении КАМ в 4ю степень получается чего-нибудь полезное при разумных SNR?
--------------------
ну не художники мы...
|
|
|
|
|
Nov 6 2011, 10:15
|
Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817

|
Цитата(Serg76 @ Nov 6 2011, 13:34)  как? не производя никаких дополнительных интерполяций? А интерполяции зачем? После относительно короткого БПФ запускается Герцель для уточнения точного положения палки.
|
|
|
|
|
Nov 6 2011, 10:27
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(petrov @ Nov 6 2011, 13:11)  ИМХО лучший вариант периодически передавать CAZAC последовательность и быстрый банк фильтров для её обнаружения как по времени так и по частоте. А как банком фильтров CAZAC последовательность искать? Выходы фильтров сворачиваются с референсными последовательностями или сама CAZAC как-то в фильтры интегрирована ?
--------------------
ну не художники мы...
|
|
|
|
|
Nov 6 2011, 11:00
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(petrov @ Nov 6 2011, 13:42)  Есть такие комплементарные последовательности Голея, согласованный с ними фильтр имеет структуру с низкой вычислительной сложностью, если несколько таких фильтров на разные частоты нарисовать с различными поворачивающими коэффициентами, то становится очевидно что можно сократить вычисления, чем-то похоже на FFT. Интересно! Т.е. сама последовательность имеет некую структуру которая позволяет построить экономичный коррелятор?! Но все равно, такая последовательность должна будет иметь длину порядка 4К. Для необходимого разрешения по частоте.. Можно еще предложить старинный способ когда последовательность с хорошей АКФ повторяется 2 раза. Синхронизация во времени делается простым автокоррелятором. Для синxpонизации по частоты возможны варианты. Если спектр сигнала не сильно кривой то для оценки отстройки несущей можно использовать аргумент максимума автокорреляции.
--------------------
ну не художники мы...
|
|
|
|
|
Nov 6 2011, 11:16
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(alex_os @ Nov 6 2011, 15:00)  Интересно! Т.е. сама последовательность имеет некую структуру которая позволяет построить экономичный коррелятор?! Да.
2.3_4_harris.pdf ( 282.07 килобайт )
Кол-во скачиваний: 1163Цитата(alex_os @ Nov 6 2011, 15:00)  Но все равно, такая последовательность должна будет иметь длину порядка 4К. Для необходимого разрешения по частоте.. С чего это? Очень даже короткая она может быть порядка десятков символов. По сути определение частоты тона на выходе банка фильтров аналогично оценке частоты синусоиды с помощью FFT, fontp много раз тут статьи приводил. Цитата(alex_os @ Nov 6 2011, 15:00)  Можно еще предложить старинный способ когда последовательность с хорошей АКФ повторяется 2 раза. Синхронизация во времени делается простым автокоррелятором. Да простой способ, но пик тупой размытый. С многолочёвостью всё это развалится. Цитата(alex_os @ Nov 6 2011, 15:00)  Для синxpонизации по частоты возможны варианты. По времени засинхронизировались, модуляцию сняли и на FFT.
|
|
|
|
|
Nov 6 2011, 11:44
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(petrov @ Nov 6 2011, 14:16)  Да.
2.3_4_harris.pdf ( 282.07 килобайт )
Кол-во скачиваний: 1163Спасибо ! Классная статья. Цитата С чего это? Очень даже короткая она может быть порядка десятков символов. По сути определение частоты тона на выходе банка фильтров аналогично оценке частоты синусоиды с помощью FFT, fontp много раз тут статьи приводил. Ну несколько десятков это Вы перегнули  . Допустим нужно разрешение по частоте Fs/4096 что достигается в лоб при помощи FFT выборки размером в 4K. Врядли интерполяция позволит уменьшить размер выборки на два порядка. Ну на порядок я еще поверю.. Цитата Да простой способ, но пик тупой размытый. С многолочёвостью всё это развалится. С многолучевостью пик не ломается, остается такой же тупой, ну чуть-чуть более тупой. Основная засада в том, что этот детектор срабатывается на всякие гармонические сигналы.
--------------------
ну не художники мы...
|
|
|
|
|
Nov 6 2011, 12:27
|
Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817

|
Цитата(Serg76 @ Nov 6 2011, 15:56)  Герцель тоже придется не один раз запускать, получается таже интерполяция, имхо. Я так и написал, что не раз. Только вот это не интерполяция, а совершенно аналогичный результат длинному БПФ, поскольку это один хрен, только сбоку. После относительно короткого БПФ получаем некий диапазон частот, в котором уже, последовательно применяя Герцеля, улучшаем оценку расстройки по частоте . По ресурсам будет выигрыш, по остальному - так же или проигрыш.
|
|
|
|
|
Nov 6 2011, 14:21
|
Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817

|
Цитата(Serg76 @ Nov 6 2011, 16:58)  Я как раз и имел ввиду, что последовательное применение Герцеля и есть своего рода интерполяция, ведь мы ее можем провести после получения грубой оценки FFT? имхо, конечно. И что? Где же здесь интерполяция? Интерполяция - это когда по уже известным точкам вычисляются промежуточные. А здесь идет полное вычисление промежуточных сходящихся точек. Это скорее можно назвать аппроксимацией, нежели интерполяцией. Понятно, что результат сильно зависит от первой грубой стадии, но при превышении определенной длины БПФ это негативное влияние будет незначительно.
|
|
|
|
|
Nov 6 2011, 14:55
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(Grumbler_2002 @ Nov 6 2011, 18:21)  И что? Где же здесь интерполяция? Интерполяция - это когда по уже известным точкам вычисляются промежуточные. А здесь идет полное вычисление промежуточных сходящихся точек. Это скорее можно назвать аппроксимацией, нежели интерполяцией. Понятно, что результат сильно зависит от первой грубой стадии, но при превышении определенной длины БПФ это негативное влияние будет незначительно. Аппроксимация это замена реальной функции некой другой, которая схожа с ней по характеристикам, но проще в построении. Здесь она вообще непричем. А вот Герцель своего рода и является интерполяцией (опять же условно говоря, на самом деле конечно же это не так), т.е. нахождением промежуточных значений, только и всего. Ладно, предлагаю забить, тема сейчас не об этом.
|
|
|
|
|
Nov 6 2011, 15:35
|
Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817

|
Цитата(Serg76 @ Nov 6 2011, 18:55)  Аппроксимация это замена реальной функции некой другой, которая схожа с ней по характеристикам, но проще в построении. Здесь она вообще непричем. А вот Герцель своего рода и является интерполяцией (опять же условно говоря, на самом деле конечно же это не так), т.е. нахождением промежуточных значений, только и всего. Ладно, предлагаю забить, тема сейчас не об этом.  Поясню. Замена БПФ 5к на БПФ 128 - это аппроксимация с моей точки зрения. Герцель интерполяцией ни в коем разе не является и я даже не знаю, с какой стороны ему можно пришить такой криминал, и имеет точность как у ПФ, то есть дополнительную ошибку в результат не вносит. Поэтому мне видится общий результат замены как аппроксимация. Я, конечно, не претендую на точность формулировок, но вот как-то так.
|
|
|
|
|
Nov 6 2011, 16:40
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Ого, какое обсуждение %) Цитата(alex_os @ Nov 6 2011, 03:45)  Если взять полосу в 200 КГц отфильтровать и децимировать то можно и маленьким FFT обойтись. Еще дешевый вариант - пилот в виде немодулированной несущей, на приемной стороне частотный детектор для начального захвата. не совсем понял что вы предлагаете. Нужно ловить расстройку +-200Кгц(~50ppm на частоте 5 ГГц), спектра шириной от 2/4/8/16/20МГц. Как вы предлагаете делать частотный детектор? Режим передачи не модулированной несущей не подходит, т.к. преамбулу я смогу вставить в поток, а вот отключить передачу и включать несушку нет. Как уже писал модем линейный, с постоянной передачей информации. Цитата(petrov @ Nov 6 2011, 04:11)  ИМХО лучший вариант периодически передавать CAZAC последовательность и быстрый банк фильтров для её обнаружения как по времени так и по частоте. спасибо за доку, посмотрю внимательно %) ЗЫ. На основе метода BandEdge фильтров, я сделал модель демодулятора в матлабе, с Loop Back петлей АПЧ(для линейных модемов это допускается), методом непосредственного измерения частоты. Для работы не нужно передавать каких либо преамбул, вычислительная сложность : пара fir/iir фильтров + немного логики, без возведения в квадрат/перемножения. Судя по модельке работает при перекосах спектра до 20дБ и SNR 10 дБ, и по идее независимо от вида модуляции. Если интересно выложу
--------------------
|
|
|
|
|
Nov 6 2011, 19:37
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(des00 @ Nov 6 2011, 19:40)  не совсем понял что вы предлагаете. Нужно ловить расстройку +-200Кгц(~50ppm на частоте 5 ГГц), спектра шириной от 2/4/8/16/20МГц. Как вы предлагаете делать частотный детектор? Режим передачи не модулированной несущей не подходит, т.к. преамбулу я смогу вставить в поток, а вот отключить передачу и включать несушку нет. Как уже писал модем линейный, с постоянной передачей информации. Хорошо преамбулу из одного и того же символа повторяющегося N раз можете сделать? Вот Вам и несущая  . Еще вариант как в модемах для телефонной линии (вроде v32, v34) для синхронизации передавалась последовательность из двух чередующихся символов PSK4 т.н последовательность ABAB...
--------------------
ну не художники мы...
|
|
|
|
|
Nov 7 2011, 06:27
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(des00 @ Nov 7 2011, 07:51)  я правильно понимаю что оценку несущей на коротком интервале прембулы нужно делать либо по фурье, либо банком фильтров ? Мне кажется это самый правильный подход, хотя, наверняка, не самый дешевый. Всякие ФАПЧ при расстройке несущей в 0.1 от тактовой сомнительны .
--------------------
ну не художники мы...
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|