Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровая фильтрация
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
M@RS
Добрый день всем.
Нужно на фоне низкочастотных помех (0.5 - 4Гц), ловить сигналы от цели (10Гц и выше)... Применил частотное разделение ФВЧ фильтром 3-порядка Чебышева. fdatool расчитал фильтр и загнал в моделирование. Да, видно что фильтр почти в 20 раз ослабляет сигнал помехи, но цель (в 10 раз меньше по амплитуде) тяжело увидеть после фильтра. Посоветуйте может, для этих целей существует что-то более оптимальное?

Lmx2315
Что мешает поставить фильтр, ослабляющий НЧ составляющую в 200 раз?
TSerg
Фильтры конструируются не по принципу "решил поставить Чебышева 3-го порядка", а исходя из ТЗ, с описанием спектра помех, сигнала, желаемого подавления, неравномерности и пр.
TSerg
Для примера:
Помеха: 5 гарм. составляющих от 0.4 до 4 Гц с разными амплитудами и в сумме до 1.5;
Сигнал: гарм. 10 Гц, амплитуда 0.1;
Фильтр: Чебышев 5-order, неравномерность 1 дБ;
График: синий (помеха + сигнал), розовой ( сигнал ), красный ( отфильтрованный сигнал * 10 );

Нажмите для просмотра прикрепленного файла
M@RS
Это все хорошо... Но у меня единичные сигналы... Тоесть не гармонические... Смотрел в симуляторе. Чебышеву 3 порядка чтобы пропустить сигнал надо минимум один период. Я о начальных условиях... Если проводить аналогию с аналоговыми фильтрами. То выше 4 порядка не делают... Звон лишний никому не нужен...
Вот может есть фильтры какие, что заточены для таких нужд. Работать фильтр будет на stm32 с fpu
Lmx2315
QUOTE (M@RS @ Nov 11 2014, 21:26) *
Это все хорошо... Но у меня единичные сигналы... Тоесть не гармонические...

..если сигнал не гармонический то как он умещается в указанной полосе до 4 Гц?
У него должен быть, в таком случае, бесконечный спектр.
Который будет всегда в полосе вашего сигнала от 10Гц и выше .
з.ы.
на схеме вы суммирует два импульса разной ширины половинно-синусообразной формы?
И хотите узнать о присутствии одного при помехе от другого?
У таких сигналов вообще бесконечный сплошной спектр, если они не повторяются за время анализа.
У обоих сигналов спектр будет начинаться с нуля и перекрывать друг друга.
M@RS
Цитата(Lmx2315 @ Nov 12 2014, 00:03) *
..если сигнал не гармонический то как он умещается в указаной полосе до 4 Гц? У него должен быть, в таком случае, бесконечный спектр.
Который будет всегда в полосе вашего сигнала (тоже не гармонического?) . Откуда у не гармонических сигналов взялись ваши частоты , кстати?

Полоса фвч фильтра взята с аналоговой реализации даной задачи. Сигналы от помехи в основном имет низкочастотную составляющую(может быть и типа гармонический в зависимости как человек несёт датчик) . Скажем до 5 герц. Все что выше это можно сказать что сигнал. Так обрабатывают в аналоге. Синхродетектор и после него аналоговый фильтр. Я это хочу получить в цифре. Суть в том что в аналоге ничего не придумаешь кроме фильтра фвч. Вот и ставлят их и работают на "звонах"...

Цитата(Lmx2315 @ Nov 12 2014, 00:03) *
на схеме вы суммирует два импульса разной ширины половинно-синусообразной формы?
И хотите узнать о присутствии одного при помехе от другого?
У таких сигналов вообще бесконечный сплошной спектр, если они не повторяются за время анализа.
У обоих сигналов спектр будет начинаться с нуля и перекрывать друг друга.

Не гармонического сигнала спектр до бесконечности. Это понятно. На модели я симитировал ситуацию когда на большом сигнале от грунта (помеха) , появляется сигнал от цели. Эта картина может повториться скажем через полсекунды. Но уже может быть другое соотношение амплитуд и длительности. Все зависит от расстояния до грунта и скоости сканирования.
TSerg
Вы разберитесь с постановкой задачи, потом приходите снова.
Lmx2315
QUOTE (M@RS @ Nov 11 2014, 23:23) *
Полоса фвч фильтра взята с аналоговой реализации даной задачи. Сигналы от помехи в основном имет низкочастотную составляющую(может быть и типа гармонический в зависимости как человек несёт датчик) . Скажем до 5 герц. Все что выше это можно сказать что сигнал. Так обрабатывают в аналоге. Синхродетектор и после него аналоговый фильтр. Я это хочу получить в цифре. Суть в том что в аналоге ничего не придумаешь кроме фильтра фвч. Вот и ставлят их и работают на "звонах"...


..вы в свою модель поставьте ФВЧ с большим подавлением (200 раз) и большой крутизной и если не тяжело - выложите результат, посмотреть что вас не устроило.
M@RS
Цитата(Lmx2315 @ Nov 12 2014, 01:04) *
..вы в свою модель поставьте ФВЧ с большим подавлением (200 раз) и большой крутизной и если не тяжело - выложите результат, посмотреть что вас не устроило.

Спасибо за совет. Попробую. Но чем больше порядок, тем больше "звон" будет на такой сигнал.. Если две цели будет, то следующая цель в звоне пропадает..
Lmx2315
QUOTE (M@RS @ Nov 12 2014, 00:12) *
Спасибо за совет. Попробую. Но чем больше порядок, тем больше "звон" будет на такой сигнал.. Если две цели будет, то следующая цель в звоне пропадает..

..так, нам чай не паять - есть модель, вот и посмотрим. Может "звон" не такой уж страшный будет, а если будет может можно границы какие у него найти или ещё чего.
Спектр построим, посмотрим где на спектре будет звон от помехи, а где палки полезного сигнала.
M@RS
Цитата(Lmx2315 @ Nov 12 2014, 01:56) *
..так, нам чай не паять - есть модель, вот и посмотрим. Может "звон" не такой уж страшный будет, а если будет может можно границы какие у него найти или ещё чего.
Спектр построим, посмотрим где на спектре будет звон от помехи, а где палки полезного сигнала.

Да, придеться заново создавать модель. Матлаб отказался сохранять...
Я уже думал над тем чтобы искать алгоритмы по прогнозированию поведения случайны величин. Следить за помехой и прогнозировать ее значение, потом вычитать.
А если вместо БИХ, КИХ использовать? Может для этих нужд будут предпочтительнее?
Lmx2315
QUOTE (M@RS @ Nov 12 2014, 11:55) *
Да, придеться заново создавать модель. Матлаб отказался сохранять...
Я уже думал над тем чтобы искать алгоритмы по прогнозированию поведения случайны величин. Следить за помехой и прогнозировать ее значение, потом вычитать.
А если вместо БИХ, КИХ использовать? Может для этих нужд будут предпочтительнее?


..что то я невнимательно видно читал, удивился что вы БИХ поставили в цифровую модель, с КИХ думаю гораздо удобнее будет.
БИХ вам сейчас не к чему, это лишние проблемы.
Рано прогнозировать случайные величины (думаете есть смысл?).
Вы модель свою повторите и поставьте туда КИХ с большим подавлением НЧ .
Посмотрите что будет, на осциллографе и спектрометре.
M@RS
Цитата(Lmx2315 @ Nov 12 2014, 13:00) *
..что то я невнимательно видно читал, удивился что вы БИХ поставили в цифровую модель, с КИХ думаю гораздо удобнее будет.
БИХ вам сейчас не к чему, это лишние проблемы.
Рано прогнозировать случайные величины (думаете есть смысл?).
Вы модель свою повторите и поставьте туда КИХ с большим подавлением НЧ .
Посмотрите что будет, на осциллографе и спектрометре.

Извините, это я не уточнил. Я делал по аналогии с аналоговой обработкой данной. Задачи. Матлаб мне КИХ спроектировал 240 порядка... А их два надо, на каждый канал. это 500 операций "умножение с накоплением". Да моделировать его отказался...
Lmx2315
QUOTE (M@RS @ Nov 12 2014, 12:18) *
Извините, это я не уточнил. Я делал по аналогии с аналоговой обработкой данной. Задачи. Матлаб мне КИХ спроектировал 240 порядка... А их два надо, на каждый канал. это 500 операций "умножение с накоплением". Да моделировать его отказался...


240 порядок это для каких требований к фильтру так получилось?
Ну по любому, если почему то МАТЛАБ отказался моделировать - упростите требование к фильтру и всё равно поставьте КИХ в модель.
Моделируйте один канал, пока.
Частоты низкие , при дальнейшей реализации такой порядок вполне можно в DSP реализовать.
M@RS
Только что еще раз, задал требования. Может снизить Fs? Скажем до 500 Гц ...
Lmx2315
QUOTE (M@RS @ Nov 12 2014, 12:38) *
Только что еще раз, задал требования. Может снизить Fs? Скажем до 500 Гц ...

..зависит от того - до скольких Гц у вас ВЧ составляющая распространяется.
Точнее до какого предела вы её хотите использовать.
Все ВЧ составляющие должны уложиться в половину Fs а то они вернуться в полосу анализа.
А на модели у нас как раз сигнал помехи с неограниченной полосой.
Жаль у меня тут нет матлаба, боюсь какого нить альязинга от ВЧ составляющих за найквистом в модели.
Фильтр у нас не полосовой. Было бы здорово если бы он выделял полосу от 10 Гц до найквиста.
M@RS
Реально цель на пределе чувствительности датчика может быть 5-10мс. Точно сказать не получиться, так как помехи вносят свое. Попробовал сделать 500Гц, да порядок в два раза уменьшился при той же АЦХ.

Да, есть ресурс для проектирования БИХ. Может кому пригодиться: http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html

Промоделировал ФВЧ, КИХ с Fs = 250Гц. Порядок получился 70. Подал на него имитацию помехи (пол периода 1Гц), пока без сигнала от цели. Тоже будет сложно выловить цель...

des00
Цитата(M@RS @ Nov 12 2014, 17:53) *
Тоже будет сложно выловить цель...

опишите задачу полностью. тогда что-то можно будет посоветовать. иначе все это гадание на гуще от сферического коня в вакууме.
M@RS
В принципе фильтры дают "звон" так как спектр одиночных сигналов - до бесконечности. Может есть другие фильтры или алгоритмы заточенные для одиночных сигналов... Оптимальная фильтрация или тд..
TSerg
Вам уже несколько человек говорят - опишите задачу полностью и технически грамотно.
Как я понимаю, это металодетектор.
M@RS
Цитата(TSerg @ Nov 12 2014, 15:40) *
Вам уже несколько человек говорят - опишите задачу полностью и технически грамотно.
Как я понимаю, это металодетектор.

Да все верно. Это мд. Задача - на фоне "колоколообразного" низкочастотного сигнала от помехи получить "колоколобразный" сигнал от цели. Да еще посмотрел аналоговые реализации данной задачи. Применяют две дифф. цепочки и все, дальше на компаратор и детектор превышения порога.
TSerg
Ну так запись с рекордера в студию, если не можете описать математически сигнал.
M@RS
Цитата(TSerg @ Nov 12 2014, 17:22) *
Ну так запись с рекордера в студию, если не можете описать математически сигнал.

Да я и так его сделал на полупериодах 1Гц и 10Гц. Вот что получилось на двух дифф. каскадах. Амплитуда цели в 10 раз стала меньше но. Ее заметно стало на общем фоне. Помеха от грунта в 50 раз стала меньше...

А так выглядит реакция, если сигнал от цели имеет обратную полярность. Что хорошо, по длительности они совпадают с входным и практически не сдвинуты.
mcheb
Цитата(M@RS @ Nov 12 2014, 12:55) *
алгоритмы по прогнозированию поведения случайны величин.

А можно с этого момента поподробнее? sm.gif
TSerg
Фантазеры, они такие - да.

P.S.
Для ТС еще один график - все прекрасно "детектируется".
1. синий - НЧ помеха в диапазоне 0.4..4 Гц + сигнал 2.
2. розовый - идеальный сигнал ( пол-периода 10 Гц )
3. светло-коричневый - ВЧ-фильтр Bessel 5-ord, 12 Гц + abs()
4. коричневый - сглаженная оценка НЧ-фильтром Butterworth 2-ord, 7 Гц
( 4 - это опционально. При цифровой обработке достаточно сигнала 3 )

Соотношение помеха/сигнал: 100..120 ( >= 40 dB )
(графики отмасштабированы для наглядности)

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

Добавлен еще третий всплеск сигнала для наглядности.
Нажмите для просмотра прикрепленного файла

Окончательно - детектирование сигнала по графику 4 ( черный ) + обзор на 3 сек.
Нажмите для просмотра прикрепленного файла
M@RS
Цитата(mcheb @ Nov 12 2014, 20:49) *
А можно с этого момента поподробнее? sm.gif

Гугл в помощь... Например
www.dissercat.com/content/veroyatnostno-statisticheskoe-prognozirovanie-sluchainykh-protsessov-v-izmeritelno-vychislit

TSerg. Спасибо за внимание к моей теме... Подайте на вашу модель только отрицательный полу период помехи. Посмотрите что будет...у меня фильтр тоже цель видел хорошо на фоне переодичной помехи. А так полу период будет действовать на фильтр как единичный скачек, и фильтр будет себя вести по импульсной характеристике. Посмотрите как он себя ведёт в начале - также коричневая линия. Он "звенит"... Выше я промоделировал с двумя дифференциаторами. Как это делается в аналоге если паять....
TSerg
Цитата(M@RS @ Nov 12 2014, 22:47) *
TSerg. Спасибо за внимание к моей теме... Подайте на вашу модель только отрицательный полу период помехи. Посмотрите что будет...у меня фильтр тоже цель видел хорошо на фоне переодичной помехи. А так полу период будет действовать на фильтр как единичный скачек, и фильтр будет себя вести по импульсной характеристике.


В чем проблема получить симметричную помеху?

Ну и коль скоро Вы стали бросаться ссылками на справедливые замечания, порекомендую Вам все же разобраться с разницей между случайными величинами и случайными процессами.
M@RS
Цитата(TSerg @ Nov 12 2014, 22:54) *
В чем проблема получить симметричную помеху?

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

Суть в том....что помеха это влияние грунта. Чем ближе к грунте тем ниже она уходит в минус. Но неровности грунта, его свойства и то что человек не выдерживает расстояние помеха меняет амплитуду но положительного периода не возникает. Грунт пропал - значит 0.
Ссылка для примера.... Тонкости реализации я ещё не пробовал...Может и не буду. Если дифф. Цепочки дают хороший результат...не зря их в аналоге ставят.
TSerg
Вам лучше туда:
http://md4u.ru/viewtopic.php?f=14&t=5420&start=25
M@RS
Цитата(TSerg @ Nov 12 2014, 23:22) *

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