Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Определение скважности по спектру
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Waso
Имеется радиосигнал, модулированный прямоугольными импульсами переменной скважности и немного зашумленный. Сигнал подвергается 2048-точечному БПФ и по полученному спектру я должен определить текущую скважность сигнала. Если смотреть на спектр чистого импульсного сигнала, то первый минимум огибающей (который рядом с максимумом) соответствует частоте, обратной величине ширины импульсов. Я пока написал дубовый алгоритм, который перебирает кратные гармоники и приблизительно определяет этот минимум. Но когда в сигнал добавляется шумок, спектр начинает дрожать. Основная частота определяется четко, а вот по скважности моя програмулина начинает давать шнягу...

Подскажите, пожалуйста, как решить эту задачу грамотно. По идее надо делать корреляцию с ожидаемой функцией огибающей, но огибающая же плавает....
AlexeyW
Мне кажется, можно еще так: если Вы четко знаете, что вид сигнала - прямоугольный, то скважность четко определяет амплитуду основной гармоники. Можно измерять отношение амплитуды основной гармоники к корню из суммы квадратов всех остальных гармоник (как бы энергетическая оценка).
Вообще, в зашумленных задачах хороши интегральные методы. Например, я как-то использовал цифровой осциллограф для измерения АЧХ. Сначала примитивно - прога считывает с осциллографа цифровые осциллограммы и находит максимум. Но намного точнее и устойчивее было, когда производилось интегрирование квадрата функции и т.д. (не забыв о сдвиге нуля).

Цитата(Waso @ Dec 13 2010, 12:13) *
По идее надо делать корреляцию с ожидаемой функцией огибающей, но огибающая же плавает....

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

Насчет энергетической оценки - надо попробовать, но мне кажется что шумы тут тоже попортят всю малину... У меня уровень шума сравним с уровнем сигнала, но присутствует не всегда. Помехи - цифровые посылки на соседних частотах.
тау
Цитата(Waso @ Dec 13 2010, 13:45) *
Очень медленно получается. Или есть способ попроще? Я просто не очень знаком с корелляционными методами...

тогда просто проинтегрируйте огибающую перед фурье - шум уменьшится.
AlexeyW
Кстати, а для чего Вам первоначальное Фурье-преобразование? Почему не хотите использоватьпросто сигнал, и работать с ним без особых сложностей?
Waso
Цитата
тогда просто проинтегрируйте огибающую перед фурье - шум уменьшится.
Это интересный вариант! Спасибо.
Цитата
Кстати, а для чего Вам первоначальное Фурье-преобразование? Почему не хотите использоватьпросто сигнал, и работать с ним без особых сложностей?
Ну оно так по ТЗ надо. Да и по другому легче не получится. Потому что сигнал плавает по амплитуде, шумы иногда бывают и посильнее... Так что тут как-то просто так фронты не выцепишь... Вернее выцепишь много лишнего. А так - знаешь примерно свою частоту. Ищешь в спектре там палку, от нее определяешь первый минимум и готово. Научиться чистить спектр и будет счастье!
AlexeyW
Цитата(тау @ Dec 13 2010, 13:47) *
тогда просто проинтегрируйте огибающую перед фурье - шум уменьшится.

А я, честно признаться, не совсем понял. До преобразования? А как именно?
Савинова Анна
Не поняла: так есть только спектр и приблизительный вид сигнала?
Fast
Цитата(AlexeyW @ Dec 14 2010, 22:29) *
А я, честно признаться, не совсем понял. До преобразования? А как именно?
суммируем на интервале T

а можно проинтегрировать по спектральным компонентам после FFT, усреднив несколько раз мгновенный спектр, я б так сделал

Waso
Цитата(Савинова Анна @ Dec 15 2010, 15:09) *
Не поняла: так есть только спектр и приблизительный вид сигнала?
Вообще нужно анализировать только спектр. Но в принципе доступ к данным АЦП тоже есть.
тау
Цитата(AlexeyW @ Dec 14 2010, 22:29) *
А я, честно признаться, не совсем понял. До преобразования? А как именно?
да это я чушь предложил, не поможет.


Цитата(Waso @ Dec 15 2010, 15:50) *
Вообще нужно анализировать только спектр.

поскольку гармоники спектра соответствуют 2E/(pi*n)*sin(pi*n * t/T) , то организовав цикл по длительности (и по амплитуде Е если она не известна) предполагаемого импульса t в разумных пределах, ищете сумму среднеквадратических разностей между квадратами значений спектра идущих с интервалом 1/T и квадратом по формуле . Определяете наилучшее совпадение по минимуму суммы для всех итераций. Чтобы промежуточные бины спектра не мешались - в этих точках вычислений не производите. Можно к примеру отсеять по амплитуде >0.1 макс.
T (период) определите усреднением по "высоким" бинам , а длительность t по наилучшему совпадению . и затем скважность.
AlexeyW
Цитата(Fast @ Dec 15 2010, 12:24) *
суммируем на интервале T

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

Цитата(тау @ Dec 15 2010, 17:22) *
то организовав цикл по длительности (и по амплитуде Е если она не известна)

не исключено, что можно обойтись и без цикла. Есть же такое понятие - поиск экстремали функционала. Кажется, тут именно то - поиск значения параметра, от которого зависит корелляционная функция, при котором она имеет экстремум.
Andrey_1
Цитата(AlexeyW @ Dec 16 2010, 00:04) *
увеличит такой метод шумовую погрешность или уменьшит (по сравнению с прямым обнаружением фронта и спада для измерения длительности), напрямую зависит от длительности фронта "прямоугольного импульса".


не исключено, что можно обойтись и без цикла. Есть же такое понятие - поиск экстремали функционала. Кажется, тут именно то - поиск значения параметра, от которого зависит корелляционная функция, при котором она имеет экстремум.


Измерьте спектр шума в отсутствии сигнала и тупо вычтете из спектра сигнал+шум
AlexeyW
Цитата(Andrey_1 @ Dec 31 2010, 03:10) *
Измерьте спектр шума в отсутствии сигнала и тупо вычтете из спектра сигнал+шум

Если б все было так просто, мы бы шум вообще победили sm.gif
Andrey_1
Цитата(AlexeyW @ Dec 14 2010, 22:29) *
А я, честно признаться, не совсем понял. До преобразования? А как именно?


ФНЧ
AlexeyW
Цитата(Andrey_1 @ Jan 11 2011, 01:25) *
ФНЧ

Кратко и емко sm.gif
И что это даст? Спектр домножится на АЧХ ФНЧ, в полосе пропускания ничего не изменится, за полосой - с таким же успехом можно просто проигнорировать часть спектра. Как и в предыдущем предложении, Вы хотите преодолеть фундаментальные вещи простыми действиями.
Andrey_1
Цитата(AlexeyW @ Jan 12 2011, 00:24) *
И что это даст? Спектр домножится на АЧХ ФНЧ, в полосе пропускания ничего не изменится, за полосой - с таким же успехом можно просто проигнорировать часть спектра. Как и в предыдущем предложении, Вы хотите преодолеть фундаментальные вещи простыми действиями.

Интергрировать (собственно ФНЧ это интегрирование в частотной области) предлагал не я - это раз
Опорный сигнал без шума доступен или нет? - это два
Фильтром Вмнера в частотной области не пытались вычистить? - это три
Собственно Вам тот кто дал ТЗ и платит - поэтому это Ваши проблемы
AlexeyW
Цитата(Andrey_1 @ Jan 12 2011, 18:04) *
Интергрировать (собственно ФНЧ это интегрирование в частотной области) предлагал не я - это раз

ФНЧ - интегрирование во временнОй области

Ну, исходный вопрос не я задавал sm.gif Поэтому на остальные вопросы ничего сказать не могу
Andrey_1
Цитата(AlexeyW @ Jan 12 2011, 22:19) *
ФНЧ - интегрирование во временнОй области

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


Правильно (думал про деление на jw в частотной) во временной

А чтоб обратное Фурье не взять и вычислять скважность по временному сигналу?
AlexeyW
Цитата(Andrey_1 @ Jan 13 2011, 13:05) *
А чтоб обратное Фурье не взять и вычислять скважность по временному сигналу?

Да вроде уже предлагали про исходный сигнал, но почему-то, говорит, заказчику неприемлемо. А делать туда потом обратно - наверное, затратно, не знаю. Я бы тоже взял исходный временной сигнал.
После преобразования Фурье сразу выходит основной вопрос точности измерения скважности - не более чем 1/число периодов подсчета. А во временном сигнале можно измерять длительность каждого импульса.
Andrey_1
Цитата(AlexeyW @ Jan 14 2011, 12:37) *
Да вроде уже предлагали про исходный сигнал, но почему-то, говорит, заказчику неприемлемо. А делать туда потом обратно - наверное, затратно, не знаю. Я бы тоже взял исходный временной сигнал.
После преобразования Фурье сразу выходит основной вопрос точности измерения скважности - не более чем 1/число периодов подсчета. А во временном сигнале можно измерять длительность каждого импульса.

Я бы усреднил мгновенные спектры во времени (чтобы уменьшить влияние случайного шума) и по усредненным данным вычислил значение первого минимума огибающей что даст длительность импульса
Потом сосчитал бы частоту основной гармоники - это частота повторения импульсов - точность будет определяться размером Фурье
Зная эти две частоты можно определить скважность
Waso
День добрый! Стараюсь не вмешиваться в полемику, поскольку в этой области я полный дилетант. Насчет известности исходного сигнала - не понятно. Я по Фурье вычисляю максимальный бин и по нему считаю частоту известной. Теперь еще надо найти скважность. И выдать ее в цифровом виде, а там уже заказчик извлекает свою информацию из частоты и скважности.

Можно ли считать опорным сигналом меандр с полученной частотой?

В двух словах - что даст фильтр Винера в частотной области?
AlexeyW
А вообще, это для чего нужно? Быстро ли меняется искомая скважность относительно частоты меандра? Велик ли шум? От этих вещей зависит оптимальный алгоритм.
А про то, что Вы спросили - я тоже не гуру sm.gif
Andrey_1
Цитата
В двух словах - что даст фильтр Винера в частотной области?

Уберет (разумеется частично) шум если он близок по своеим статистическим свойствам к белому шуму с распределением Гаусса
Andrey_1
Цитата(Waso @ Jan 14 2011, 11:11) *
Можно ли считать опорным сигналом меандр с полученной частотой?


Думаю таки ДА

Если он есть тогда вычистить шум см:
- LMS adaptive filter (см МАТЛАБ)

Далее синхронное детектирование - перемножте грязный сигнал с опорным - далее ФНЧ - и огибающая у Вас в кармане.

Кроме этого а чтоб благородному дону не попробовать Moving Average Filter (see Google)?
Waso
Частота меандра прыгает примерно от 1кГц до 100кГц. Скважность от 2 до 5, меняется вместе с частотой. Результат я должен выдавать с частотой всего 50Гц. Думаю входной сигнал меняется не быстрее. Только что подумал что неплохо бы как-то синхронизоваться с изменениями сигнала.. Но оставим пока этот вопрос. АЦП 12-битный, семплирую с частотой 256кГц чтобы потом легко было делить на 256.

Скользящее среднее как я понимаю уберет высокочастотный шум, а мне мешает наоборот низкочастотный. Тоесть мой полезный сигнал иногда накладывается на мощные по амплитуде низкочастотные (сотни Герц) колебания, не синусоидальные, которые как раз и дают левые палки в спектре даже на моих частотах. Еще бывает пролетают какие-то цифровые посылки. Они коротенькие, но тоже вызывают дрожание спектра. От этого можно избавиться вычисляя среднее по спектру во времени.

Нафик это надо я незнаю. Держат в секрете. Хотя вроде бы и не военная разработка.
gregory
Цитата(Waso @ Jan 26 2011, 15:57) *
Частота меандра прыгает примерно от 1кГц до 100кГц. Скважность от 2 до 5, меняется вместе с частотой. Результат я должен выдавать с частотой всего 50Гц. Думаю входной сигнал меняется не быстрее. Только что подумал что неплохо бы как-то синхронизоваться с изменениями сигнала.. Но оставим пока этот вопрос. АЦП 12-битный, семплирую с частотой 256кГц чтобы потом легко было делить на 256.

Скользящее среднее как я понимаю уберет высокочастотный шум, а мне мешает наоборот низкочастотный. Тоесть мой полезный сигнал иногда накладывается на мощные по амплитуде низкочастотные (сотни Герц) колебания, не синусоидальные, которые как раз и дают левые палки в спектре даже на моих частотах. Еще бывает пролетают какие-то цифровые посылки. Они коротенькие, но тоже вызывают дрожание спектра. От этого можно избавиться вычисляя среднее по спектру во времени.

Нафик это надо я незнаю. Держат в секрете. Хотя вроде бы и не военная разработка.


Может накопить сам сигнал 20 раз с учетом озвученных чисел. Шум не белый, в каких то случаях сигнал\ шум улучшится больше , чем корень из 20. Потом все, что предлагают дополнительно попробовать. Например, домножить на экспоненту и тд
PVL
Спектр расширяется (растет амплитуда гармоник и их количество) когда скважность отклоняется от 50%. При скважности менее 50% фаза гармоник опережает друг друга снизу вверх, при скважности более 50% запаздывает снизу вверх.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.