Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Интерполяция результата FFT
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
_Anatoliy
Всем доброго времени суток!
Используя нелинейность четвёртого порядка с помощью FFT выделяю из входного снесённого в ноль сигнала с квадратурной модуляцией сигнал ошибки частотной синхронизации.Но разрешение FFT по частоте не обеспечивает нужную точность измерения параметров.Поэтому сейчас на синусоидальном сигнале обкатал алгоритм интерполяции по частоте и фазе,получил неплохие результаты на модели.Когда же подал на вход FFT сигнал QAM после нелинейности,то увидел очень большую погрешность интерполяции.В результате разбирательства обнаружилась следующая картина : при изменении ошибки частоты синхронизации,например, от десятого бина FFT до одиннадцатого с шагом 0,1 бин видно что мощность в бинах ведёт себя странно(см.рисунок).
Этого явно не наблюдается при подаче на FFT синусоидального сигнала и интерполяция выполняется нормально.В чём секрет?Вроде нелинейность не должна привести к этому эффекту.Или нет?

Загрузил одну картинку а вложилось две...
petrov
Зачем вообще нужно FFT для частотной синхронизации? Недостаточно просто полосового фильтра или ФАПЧ?
_Anatoliy
Цитата(petrov @ Feb 19 2010, 16:07) *
Зачем вообще нужно FFT для частотной синхронизации? Недостаточно просто полосового фильтра или ФАПЧ?

Нет,не достаточно.
Это не для модема.Задачка узко-специальная,параметры модуляции неизвестны.
fontp
Не очень понятно как сигнал получен и при каких условиях.

Алгоритм определения частотного сдвига несущей квадратурно-модулированого сигнала в слепую посредством возведения в степень и спектрального анализа приписывают Viterbi&Viterbi.

Там должны выполняться различные дополнительные условия
- должна быть предварительно восстановлены символьная частота и фаза и отсчеты должны браться в правильных точках.
- должен поддерживаться достаточно высокий SNR, поскольку алгоритм обладает некоторыми потерями по отношению к CRLB и эти потери резко возрастают при снижении SNR. Фактически алгоритм проявляет пороговое поведение - при некотором достаточно низком SNR он срывается и дает недостоверные результаты. Немного расширить диапазон SNR к 0дб помогает использование нелинейности по отношению к амплитуде, вместо четвертой степени r*r*r*r*exp(4*i*Ф) используется H( r )*exp(4*i*Ф), для QPSK оптимальна более низкая степень, кажется H( r )=r*r, т.е. не просто возвести сигнал в четвертую степень, но и разделить его на квадрат огибающей. Известна оптимальная нелинейность и для ассимптотики очень высокого SNR. Существует какая-то теория и для других QAM

Вам бы сначала нужно выяснить является ли аномальное поведение систематической ошибкой или оно обусловлено шумами. При высоком отношении сигнал/шум никаких аномалий не должно наблюдаться, тогда это ошибки реализации. А потом, наверное, обратиться к работам Viterbi&Viterbi для QPSK
_Anatoliy
Цитата(fontp @ Feb 19 2010, 16:19) *
Не очень понятно как сигнал получен и при каких условиях.

Алгоритм определения частотного сдвига несущей квадратурно-модулированого сигнала в слепую посредством возведения в степень и спектрального анализа приписывают Viterbi&Viterbi.

Там должны выполняться различные дополнительные условия
- должна быть предварительно восстановлены символьная частота и фаза и отсчеты должны браться в правильных точках.
- должен поддерживаться достаточно высокий SNR, поскольку алгоритм обладает некоторыми потерями по отношению к CRLB и эти потери резко возрастают при снижении SNR. Фактически алгоритм проявляет пороговое поведение - при некотором достаточно низком SNR он срывается и дает недостоверные результаты. Немного расширить диапазон SNR к 0дб помогает использование нелинейности по отношению к амплитуде, вместо четвертой степени r*r*r*r*exp(4*i*Ф) используется H( r )*exp(4*i*Ф), для QPSK оптимальна более низкая степень, кажется H( r )=r*r, т.е. не просто возвести сигнал в четвертую степень, но и разделить его на квадрат огибающей

Вам бы сначала нужно выяснить является ли аномальное поведение систематической ошибкой или оно обусловлено шумами. При высоком отношении сигнал/шум никаких аномалий не должно наблюдаться, тогда это ошибки реализации. А потом, наверное, обратиться к работам Viterbi&Viterbi для QPSK

С юбилеем Вас(1000-й пост)!
У меня 4 отсчёта на символ,применяю r*r*r*r*exp(4*i*Ф),насколько я знаю,в алгоритме DFT используются все отсчёты символа. В подтверждение могу сказать что если изменять ошибку частоты кратно бинам FFT то синхронизация выполняется замечательно. А H( r )*exp(4*i*Ф) посмотрю,спасибо!
Алгоритм Витерби действительно выполняется с одним отсчётом на символ и требуется наличие символьной синхронизации, но он не является алгоритмом DFT.
fontp
Цитата(_Anatoliy @ Feb 19 2010, 17:42) *
У меня 4 отсчёта на символ,применяю r*r*r*r*exp(4*i*Ф),насколько я знаю,в алгоритме DFT используются все отсчёты символа. В подтверждение могу сказать что если изменять ошибку частоты кратно бинам FFT то синхронизация выполняется замечательно. А H( r )*exp(4*i*Ф) посмотрю,спасибо!
Алгоритм Витерби действительно выполняется с одним отсчётом на символ и требуется наличие символьной синхронизации, но он не является алгоритмом DFT.


Что есть DFT?
Преобразование Фурье или что-то специальное? Если это то на что я подумал, то у Вас и могут быть аномалии, поскольку отсчёты не в точках выборки на экспоненту после "учетверения" обычно не ложатся. Если квадратурный сигнал не с бесконечной полосой. Соответственно, ничего заранее гарантировать нельзя. Там кроме основной экспоненты со снятой модуляцией возникнут ещё и её биения с символьной частотой. Где-то я видел такие рисунки. Кажется, в любимой книге Петрова
Тогда Вас ожидает оригинальное исследование. В любом случае сначала нужно смотреть систематику при большом SNR
_Anatoliy
Цитата(fontp @ Feb 19 2010, 16:50) *
Что есть DFT?
Преобразование Фурье или что-то специальное? Если это то на что я подумал, то у Вас и могут быть аномалии, поскольку отсчёты не в точках выборки на экспоненту не ложатся. Соответственно, ничего заранее гарантировать нельзя. Там кроме основной экспоненты со снятой модуляцией возникнут ещё и её биения с символьной частотой. Где-то я видел такие рисунки. Кажется, в любимой книге Петрова
Тогда Вас ожидает оригинальное исследование. В любом случае нужно смотреть при большом SNR

Да,Вы правы под DFT я понимаю Преобразование Фурье. Да,кроме основной экспоненты со снятой модуляцией присутствует ещё шумовая составляющая с C/Ш примерно 15 дБ.Почему я не могу определить частотную и фазовую ошибки между передающими и приёмными ортами?
fontp
Цитата(_Anatoliy @ Feb 19 2010, 18:02) *
Да,Вы правы под DFT я понимаю Преобразование Фурье. Да,кроме основной экспоненты со снятой модуляцией присутствует ещё шумовая составляющая с C/Ш примерно 15 дБ.Почему я не могу определить частотную и фазовую ошибки между передающими и приёмными ортами?


Шумовая составляющая это ладно. Если Вы берете отсчеты в произвольных точках, у Вас будет присутствовать ещё и детерминированая помеха на разностных частотах несущей и символьной частот. Я не говорю, что не сможете. Я не знаю. Но то что точность определения частоты (и фазы) будет значительно ниже чем на синусоиде не вызывает сомнений. Более того ситуация значительно хуже чем у Viterbi&Viterbi, когда учетверение делается только в символьных точках, и по ним делается DFT с интерполяцией. В этом случае "учетверение частоты" усиливает шумы, но полезный сигнал есть строго комплексная экспонента

Поэтому я предложил сначала посмотреть, что будет в отсутствие шума
_Anatoliy
Цитата(fontp @ Feb 19 2010, 17:13) *
Шумовая составляющая это ладно. У Вас будет присутствовать ещё и детерминированая помеха на разностных частотах несущей и символьной частот. Я не говорю, что не сможете. Я не знаю. Но то что точность определения частоты (и фазы) будет значительно ниже чем на синусоиде не вызывает сомнений.

Поэтому я предложил сначала посмотреть, что будет в отсутствие шума

Ясно,спасибо.Но дело в том что шумы канала я ещё не вводил.Вот мой спектр(в линейном масштабе,не в дБ),один от 0 до Fs,второй в крупном масштабе,видно палку ошибки частоты несущей.А детерминированых помех не видно.А С/Ш в этой ситуации как можно увеличить?
fontp
Цитата(_Anatoliy @ Feb 19 2010, 18:29) *
Ясно,спасибо.Но дело в том что шумы канала я ещё не вводил.Вот мой спектр(в линейном масштабе,не в дБ),один от 0 до Fs,второй в крупном масштабе,видно палку ошибки частоты несущей.А детерминированых помех не видно.А С/Ш в этой ситуации как можно увеличить?


А где Вы берёте сигнал?
В модели можно увеличить всегда. И на стенде.
Сигнал подаёте без шума. Весь шум и помехи создаются Вашим алгоритмом
_Anatoliy
Цитата(fontp @ Feb 19 2010, 17:32) *
А где Вы берёте сигнал?
В модели можно увеличить всегда. И на стенде

Сигнал формируется в симулинке.Ещё повторю - шум я не добавлял,шум на картинке это остаточное явление от снятой модуляции.
А где можно почитать про алгоритм Viterbi&Viterbi? В Незами на листе 7-9 в формуле 7-21 не используется DFT в алгоритме Витерби.
После снятия модуляции остаются детерминированные составляющие M*deltaF и (1/T + M*deltaF),они находятся далеко друг от друга.

Цитата(fontp @ Feb 19 2010, 17:32) *
Весь шум и помехи создаются Вашим алгоритмом

Это как раз мой случай.
fontp
Оригинальная статья была

Nonlinear Estimation of PSK-Modulated Carrier Phase...
IEEE Transaction of Inf.theory vol. IT-29 N4 July 1983

а производных были сотни, некоторые в Гугле можно найти по ключевым словам Viterbi & Viterbi PSK QPSK monomial
Алгоритм так и принято называть Viterbi & Viterbi, там было их 2 Andrew и Audrey

Два пика в спектре нужно изолировать применением окна, иначе интерполяция плохо пройдет. Систематический подход как делать интерполяцию спектра можно найти здесь
https://ccrma.stanford.edu/STANM/stanm/node3.html

Документы от STANM-114 до STANM-118
Вот Ваш весь арсенал - окна, нелинейное преобразование, увеличение числа точек DFT для накопления минимального SNR,
борьба против настоящего физического шума. Систематическая ошибка - это только половина дела. В любой физической системе
присутствует физический шум, а возведение в степень его очень быстро усиливает.
К чему стремиться известно заранее - это предельный критерий Крамера-Рао (CRLB), с учетом усиления шума при возведении в степень, конечно.
Вообще говоря для двух спектральных пиков CRLB тоже выведен строго. Но там формулы непрактичные, а для далеко расположеных пиков можно считать как примерно для одного
_Anatoliy
Цитата(fontp @ Feb 19 2010, 20:08) *

Большое спасибо за литературу!
Правда не уверен что именно эти статьи помогут решить эту проблему,в статьях говорится о модуляции MPSK.Я сейчас проверил работу своей модели при входном сигнале QPSK - результат на картинке.Эффект о котором яговорил в самом начале не наблюдается,хотя в спектре также присутствуют составляющие M*deltaF и (1/T + M*deltaF).Картинка в первом посте сделана для сигнала QAM64.
fontp
Цитата(_Anatoliy @ Feb 20 2010, 12:01) *
Правда не уверен что именно эти статьи помогут решить эту проблему,в статьях говорится о модуляции MPSK.Я сейчас проверил работу своей модели при входном сигнале QPSK - результат на картинке.Эффект о котором яговорил в самом начале не наблюдается,хотя в спектре также присутствуют составляющие M*deltaF и (1/T + M*deltaF).Картинка в первом посте сделана для сигнала QAM64.


C QAM всё то же самое, только хуже. Только нельзя возводить в четвертую степень.
В первом приближении, для QAM используется просто умножение фазы на 4
R*exp(i4Ф) или даже exp(i4Ф). В сети очень много статей по blind QAM freq phase estimation
Эта, например там хитрая нелинейность
http://perso.telecom-paristech.fr/~ciblat/...an_ser_cib1.pdf
и эта
http://www.cob.edu.bs/Library/DOCS/Faculty...eReciprocal.pdf
Их было много, в частности этого автора.
Для разных схем модуляции оптимальны нелинейности разные.

А влияние второго пика нужно всё равно подавлять достаточно узкими окнами, если , конечно, точность важна или, наоборот,
требуется укорачивать длину блока при заданной точности
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.