Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фильтрация фазового шума
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
masverter
Доброго времени суток!
Столкнулся со следующей проблемой. Имеется сигнал ФМ8, отношение сигнал/шум порядка 17 дБ. На 8 гармонике в районе несущей частоты присутствуют довольно сильные помехи:
.

В итоге на приемной стороне имеем нестабильное удержание несущей:
.

Можно ли фильтровать подобные помехи и как делать это наиболее эффективным образом? Хотелось бы узнать опыт сообщества по данному вопросу.
Заранее спасибо.

P.S.: сам пробовал использовать схему из работы Нажмите для просмотра прикрепленного файлаВ данной работе адаптивная фильтрация фазового шума выполняется после ФАПЧ, что не позволяет устранить частые "срывы" в самой ФАПЧ.
serebr
Из приведенных картинок мало что понятно. Можно вместо них приложить файлы с оцифрованным принимаемым сигналом и исходными данными (до модуляции или после)?
masverter
Цитата(serebr @ Jul 5 2017, 09:46) *
Из приведенных картинок мало что понятно. Можно вместо них приложить файлы с оцифрованным принимаемым сигналом и исходными данными (до модуляции или после)?

Оцифрованный принимаемый сигнал
(комплексный, 2 байта на отсчет). Исходных данных до модуляции, к сожалению, нет.
serebr
Судя по спектру, в принятом сигнале нет особых помех, превышающих полезный сигнал в какой-либо полосе частот. Позже посмотрю поподробнее.
Частота предоставленных в файле I/Q отсчетов для простоты принята равной 1 МГц.



Если я правильно выцедил информацию из предоставленного принятого сигнала, то:
1. Частота I/Q пар равна 4 отсчетам на каждый передаваемый символ
2. Способ модуляции - фазовая модуляция, 8 значений фазы

Могу предположить, что
- есть какой-то фильтр на стороне передатчика для уменьшения межсимвольной интерференции.
- используется цифровой полосовой фильтр на стороне приёмника для подавления внеполосных шумов + аналогичный фильтр на стороне передатчика

Дискретная фазовая модуляция является частным случаем QAM модуляции. Поэтому никаких особых премудростей по поводу фильтрации именно фазового шума я бы не ожидал где-либо встретить. Напрашивается использование адаптивного эквалайзера на строне приемника для подавления межсимвольной интерференции и выравнивания результирующей частотной характеристики (как амплитудной, так и фазовой).
masverter
Цитата(serebr @ Jul 5 2017, 21:36) *
Судя по спектру, в принятом сигнале нет особых помех, превышающих полезный сигнал в какой-либо полосе частот.
При возведении в 8-ю степень проявляются
Код
NFFT = 32768;
NAVG = 10;
nsamples =  NFFT*NAVG;

fin = fopen('rcv_iq16');
N = nsamples * 2;
d = fread(fin, N, 'int16', 0, 'l');
re = d(1:2:N);
im = d(2:2:N);
x = complex(re,im);
fclose(fin);

y = zeros(NFFT,1);
for i=1:NAVG
    y = y + abs(fft(x((i-1)*NFFT+1:i*NFFT).^8));
end
yout = zeros(NFFT,1);
yout(1:NFFT/2) = y(NFFT/2+1:NFFT);
yout(NFFT/2+1:NFFT) = y(1:NFFT/2);
plot(yout);

KalashKS
Чем формировали и цифровали сигнал? У этой вашей помехи спектр уж очень регулярный. А с учетом возведения в 8-ю степень еще и не очень высокая частота. Как бы не 50 Гц.
И небольшое замечание к коду. При спектральном оценивании усредняют квадрат модуля ДПФ.
CODE
yout=fftshift(mean(abs(fft(buffer(x.^8,NFFT))).^2,2));
masverter
Цитата(KalashKS @ Jul 6 2017, 18:28) *
Чем формировали и цифровали сигнал? У этой вашей помехи спектр уж очень регулярный. А с учетом возведения в 8-ю степень еще и не очень высокая частота. Как бы не 50 Гц.
Оцифровывали своим устройством. Насчет 50 Гц просто предположение?


Цитата(KalashKS @ Jul 6 2017, 18:28) *
И небольшое замечание к коду. При спектральном оценивании усредняют квадрат модуля ДПФ.
Спасибо.
KalashKS
Цитата(masverter @ Jul 7 2017, 10:38) *
Оцифровывали своим устройством. Насчет 50 Гц просто предположение?

Про 50 Гц - Да. Но то, что спектр помехи состоит из нескольких гармоник, разнесенных на 350..400 Гц, видно очень хорошо.
serebr
Дайте мне покурить вашу травку, а то я не въезжаю никак. Нигде не говорилось о реальной частоте отсчетов (Гц, КГц, МГц или ГГц), тем не менее два человека спокойно обсуждают помеху на частоте 50 Гц.
Grizzzly
Цитата(serebr @ Jul 8 2017, 22:51) *
Дайте мне покурить вашу травку, а то я не въезжаю никак. Нигде не говорилось о реальной частоте отсчетов (Гц, КГц, МГц или ГГц), тем не менее два человека спокойно обсуждают помеху на частоте 50 Гц.

Вот-вот. Пару раз перечитал сообщения, нигде не указывалась частота дискретизации.
andyp
Цитата(serebr @ Jul 5 2017, 20:36) *
Если я правильно выцедил информацию из предоставленного принятого сигнала, то:
1. Частота I/Q пар равна 4 отсчетам на каждый передаваемый символ



Это не так. Символьная скорость примерно равна 9550/32768 частоты дискретизации. Прицепил scatter после передискретизации на эту частоту



После оценки и коррекции частотного сдвига без петли (feedforward estimation)



masverter, исходя из того, что наблюдается, больше похоже на то, что одна из петель PLL в приемнике или передатчике немного гудит (на вход VCO PLL поступает синусоидальное колебание небольшой (примерно 5/32768 от частоты дискретизации) частоты)

KalashKS
У всех прошу прощения, невнимательно читал сообщения. Про 1 МГц не автор писал.
masverter
Записали альтернативным приемником - результат тот же. Приемник отпадает, а повлиять на то, что происходит раньше, мы не можем. То есть, фактически, имеем сигнал уже с помехой. Можно ли в такой ситуации улучшить качество демодуляции?
serebr
1. Нет ли у вас модели модулятора на Матлабе? Если есть, то это сильно облегчило бы анализ ситуации с шумами/помехами в принимаемом сигнале.
2. Пробовали ли вы принимать сигнал, когда передатчик выключен или приемник настроен на центральную частоту, где нет полезного сигнала? По крайней мере это позволило бы понять, где возникают проблемы - на приеме или на передаче.
andyp
Цитата(masverter @ Jul 16 2017, 23:13) *
Записали альтернативным приемником - результат тот же. Приемник отпадает, а повлиять на то, что происходит раньше, мы не можем. То есть, фактически, имеем сигнал уже с помехой. Можно ли в такой ситуации улучшить качество демодуляции?


Видите, результат демодуляции Вашего приемника лучше чем моя feedforward оценка (за частотой вообще не следил, раз оценил и сдвинул). Это означает, что PLL приемника как-то все-таки отслеживает изменения частоты передатчика. Попробуйте поиграться с настройками PLL приемника, сделав ее чуть менее инерционной (поширокополосней). Если есть срывы PLL в приемнике, то они связаны с тем, что PLL вынуждена отслеживать частоту биений помехи и не успевает за ними.

Но лучше сначала все-таки окончательно убедиться (может, в аналоговой части приемника все-таки????), что проблема в передатчике поиспользовав нечто типа векторного анализатора.
masverter
Цитата(serebr @ Jul 17 2017, 00:35) *
1. Нет ли у вас модели модулятора на Матлабе? Если есть, то это сильно облегчило бы анализ ситуации с шумами/помехами в принимаемом сигнале.
2. Пробовали ли вы принимать сигнал, когда передатчик выключен или приемник настроен на центральную частоту, где нет полезного сигнала? По крайней мере это позволило бы понять, где возникают проблемы - на приеме или на передаче.
Цитата(andyp @ Jul 17 2017, 15:05) *
Видите, результат демодуляции Вашего приемника лучше чем моя feedforward оценка (за частотой вообще не следил, раз оценил и сдвинул). Это означает, что PLL приемника как-то все-таки отслеживает изменения частоты передатчика. Попробуйте поиграться с настройками PLL приемника, сделав ее чуть менее инерционной (поширокополосней). Если есть срывы PLL в приемнике, то они связаны с тем, что PLL вынуждена отслеживать частоту биений помехи и не успевает за ними.

Но лучше сначала все-таки окончательно убедиться (может, в аналоговой части приемника все-таки????), что проблема в передатчике поиспользовав нечто типа векторного анализатора.
Подробнее опишу, что меня интересует и что я делаю.
Интересует надежный прием широкого диапазона спутниковых сигналов. Встретился сигнал, который я здесь выкладывал, - заинтересовали способы повышения качества его приема. Приведенный сигнал не единственный в своем роде. Встречался, например, и такой.
Из собственных (разработанных) средств - аппаратный приемник (фактически - средство оцифровки сигналов без демодуляции) и программный демодулятор. То, что шумит не приемник проверили, оцифровав сигнал качественным сторонним аппаратным средством. Были подозрения на часть приемного тракта от антенны до приемника - также сделали запись, используя другое оборудование - результат аналогичный. Т.е. с большой долей вероятности проблема в передающем тракте.
Более широкая полоса, по сравнению с той, что используется у меня по умолчанию, в принципе улучшает ситуацию в плане срывов ФАПЧ, однако битовых ошибок все равно очень много.
Serg76
попробовал обработать своим демом, вроде без срывов, насколько качественно, оцените сами (результат)

оба сигнала явно с искажениями, ФАПЧ довольно сильно "плавает", видимо, из-за биений, но в пределах разумного
andyp
Цитата(masverter @ Jul 18 2017, 12:15) *
Подробнее опишу, что меня интересует и что я делаю.
Интересует надежный прием широкого диапазона спутниковых сигналов. Встретился сигнал, который я здесь выкладывал, - заинтересовали способы повышения качества его приема. Приведенный сигнал не единственный в своем роде. Встречался, например, и такой.


Да тут вроде за шумами не видно что PLL сильно носит (4ая гармоника тоже только с двумя маааленькими боковушками)


ИМХО, просто шумный qpsk (пятна круглые примерно). Настолько шумный, что улучшение PLL врядли поможет его принять

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



Тут я небольшой спец sad.gif Извините. Посмотрел Вашу статью из первого сообщения - там вроде еще петля прикручена для подавления дополнительного джиттера. Вы ж IIR вариант реализовывали? Посмотрите, на выход основной и корректирующей петли (8ая гармоника для 8psk, это все). Выход PLL можно снова сдвинуть по частоте, чтобы удобнее было анализировать. Убедитесь, что ситуация с джиттером реально улучшается - сравнивайте спектр помехи около 8-ой гармоники частотного сдвига.
Serg76
Цитата(andyp @ Jul 19 2017, 19:18) *
ИМХО, просто шумный qpsk (пятна круглые примерно). Настолько шумный, что улучшение PLL врядли поможет его принять

да вроде не такой уж и шумный, чуть больше 13 дб, да и после демодуляции ошибок нет вообще, но пятна у меня несовсем круглые отображались, если так можно выразиться )))), т.е. если составляющую шума отбросить, то какие-то помехи сигнал все-таки содержит, 4-ая гармоника - 13 дБ, ее боковые - 7 дБ, т.е. довольно существенно, ИМХО. может причина в нелинейности тракта передатчика.
andyp
Цитата(Serg76 @ Jul 19 2017, 22:14) *
да вроде не такой уж и шумный, чуть больше 13 дб, да и после демодуляции ошибок нет вообще, но пятна у меня несовсем круглые отображались, если так можно выразиться )))), т.е. если составляющую шума отбросить, то какие-то помехи сигнал все-таки содержит, 4-ая гармоника - 13 дБ, ее боковые - 7 дБ, т.е. довольно существенно, ИМХО. может причина в нелинейности тракта передатчика.


Спектр входного сигнала:



Там уши какие-то по бокам. Я их не отфильтровывал

Спектр 4-ой гармоники: >10 dB до боковушек



Если расфильтроваться маленько, то scatter становится лучше.


Serg76
"уши" , скорее всего, растут от соседних сигналов транспондера, в основную полосу демодулятора они не попадают и на качественный состав спектра 4-ой гармоники не влияют. по второй картинке все верно, только по децибеллам у нас с Вами разница в 2 раза, я измерял по мощности, а у Вас , видимо, по напряжению (у меня разница между основной гармоникой и боковыми 6 дБ, у Вас - 12 дБ). но не суть, возле центральной основной гармоники не должно быть боковых составлящих, они как раз и попадают в полосу ФАПЧ.
andyp
Цитата(Serg76 @ Jul 19 2017, 23:43) *
"уши" , скорее всего, растут от соседних сигналов транспондера, в основную полосу демодулятора они не попадают и на качественный состав спектра 4-ой гармоники не влияют. по второй картинке все верно, только по децибеллам у нас с Вами разница в 2 раза, я измерял по мощности, а у Вас , видимо, по напряжению (у меня разница между основной гармоникой и боковыми 6 дБ, у Вас - 12 дБ). но не суть, возле центральной основной гармоники не должно быть боковых составлящих, они как раз и попадают в полосу ФАПЧ.


Да я не удосужился проверить входной спектр перед тем как в демодулятор совать, поэтому и результат был не очень. На счет гармоники согласен, просто ее влияние не было видно из-за помехи. Теперь пятнышки вытянулись по кругу. Боковые, кстати, другие, не как в случае 8 psk. Отстоят далеко, скорее всего, ФАПЧ их вообще не сможет отработать из-за своей инерционности, они на выход пролезут.
masverter
Цитата(Serg76 @ Jul 19 2017, 15:24) *
попробовал обработать своим демом, вроде без срывов, насколько качественно, оцените сами (результат)

оба сигнала явно с искажениями, ФАПЧ довольно сильно "плавает", видимо, из-за биений, но в пределах разумного

у меня, в принципе, получаются сравнимые с Вами результаты. Для такого сигнал/шума у ФМ8 много ошибок. Конкретно в этом сигнале ФАПЧ не срывается, для сигналов с SNR около 14 дБ и ниже начинает.


Цитата(Serg76 @ Jul 20 2017, 00:43) *
"уши" , скорее всего, растут от соседних сигналов транспондера

Именно так.


Цитата(andyp @ Jul 19 2017, 20:18) *
Посмотрел Вашу статью из первого сообщения - там вроде еще петля прикручена для подавления дополнительного джиттера. Вы ж IIR вариант реализовывали? Посмотрите, на выход основной и корректирующей петли (8ая гармоника для 8psk, это все). Выход PLL можно снова сдвинуть по частоте, чтобы удобнее было анализировать. Убедитесь, что ситуация с джиттером реально улучшается - сравнивайте спектр помехи около 8-ой гармоники частотного сдвига.

У меня FIR вариант. Вот, например, результат (4-я гармоника и созвездие) демодуляции ФМ4 без петли подавления джиттера (сверху) и с ней (снизу):

Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла

FIR на 7 тапсов. Уровень боковых гармоник понизился с 12 дБ до 19 дБ.


Цитата(Serg76 @ Jul 19 2017, 23:14) *
может причина в нелинейности тракта передатчика.

Хотелось бы в simulink'е модель погонять. Можно ли простыми средствами смоделировать подобные искажения?
Serg76
Цитата(masverter @ Jul 21 2017, 12:34) *
у меня, в принципе, получаются сравнимые с Вами результаты. Для такого сигнал/шума у ФМ8 много ошибок.

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

Цитата(masverter @ Jul 21 2017, 12:34) *
Конкретно в этом сигнале ФАПЧ не срывается, для сигналов с SNR около 14 дБ и ниже начинает.

Это, конечно, печалька, для 8PSK этот порог должен быть порядка 10 дБ. Есть сигналы со срывами?

Цитата(masverter @ Jul 21 2017, 12:34) *
Хотелось бы в simulink'е модель погонять. Можно ли простыми средствами смоделировать подобные искажения?

Да, наверное, нет ничего невозможного, просто я этим не занимался, уж извините)))
andyp
Цитата(masverter @ Jul 21 2017, 12:34) *
Хотелось бы в simulink'е модель погонять. Можно ли простыми средствами смоделировать подобные искажения?


Можно ЧМ поиспользовать с модулирующим гармоническим колебанием:

Поставить на вход смеситель. Умножать сигнал на нечто вида s(t) = exp(-j*2*pi/Fsam*F*t + 2*pi * F_delta *sin(2*pi/Fsam* F1 * t)) - фактически это ЧМ.

F1 - взять как расстояние между гармониками, деленное на порядок нелинейности.

На маленьких индексах (F_delta/F1) будете получать одну палку с двумя боковыми после нелинейности. Учтите, что в зависимости от порядка нелинейности (4 или 8) индекс будет увеличиваться в соответствующее число раз. Если индекс побольше, то получите нечто типа Ваших первых тестовых данных (8psk). Расстояние между гармониками будет равно F1*порядок нелинейности.

Цитата
У меня FIR вариант.


IIR мне показался более перспективным. Может статься, что давить гармоники в фазе гетеродина передатчика по очереди окажется выгоднее.

PS Для qpsk Вы похоже почти все уже выжали. Точки если только чутка покруглее можно получить.
masverter
Цитата(Serg76 @ Jul 21 2017, 17:11) *
сигнал с искажениями, но как по мне, то их вклад в общую картину BER не является таким уж определяющим. Можете выложить обработанный Вашим демом сигнал с этой реализации?

Обработанный файл.

Цитата(Serg76 @ Jul 21 2017, 17:11) *
Это, конечно, печалька, для 8PSK этот порог должен быть порядка 10 дБ. Есть сигналы со срывами?

Сигнал со срывами.

Цитата(andyp @ Jul 21 2017, 19:12) *
Можно ЧМ поиспользовать с модулирующим гармоническим колебанием:

Поставить на вход смеситель. Умножать сигнал на нечто вида s(t) = exp(-j*2*pi/Fsam*F*t + 2*pi * F_delta *sin(2*pi/Fsam* F1 * t)) - фактически это ЧМ.

F1 - взять как расстояние между гармониками, деленное на порядок нелинейности.

На маленьких индексах (F_delta/F1) будете получать одну палку с двумя боковыми после нелинейности. Учтите, что в зависимости от порядка нелинейности (4 или 8) индекс будет увеличиваться в соответствующее число раз. Если индекс побольше, то получите нечто типа Ваших первых тестовых данных (8psk). Расстояние между гармониками будет равно F1*порядок нелинейности.

Спасибо, обязательно попробую.

Цитата(andyp @ Jul 21 2017, 19:12) *
IIR мне показался более перспективным. Может статься, что давить гармоники в фазе гетеродина передатчика по очереди окажется выгоднее.

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