OMORION
Jan 31 2006, 15:46
Коллеги! Каким фильтром отфильтровать помеху 50 Гц от сигнала? Сигнал уже в цифровом виде после АЦП 12-бит, фильтровать на входе АЦП нет возможности. В устройсве есть ПЛИС Cyclone...
Цитата(OMORION @ Jan 31 2006, 18:46)

Коллеги! Каким фильтром отфильтровать помеху 50 Гц от сигнала? Сигнал уже в цифровом виде после АЦП 12-бит, фильтровать на входе АЦП нет возможности. В устройсве есть ПЛИС Cyclone...
Для этого всегда использовался режекторный фильтр (фильтр-пробка). Но незабывайте и еще про одно обстоятельство, что данные фильтры дают эффект 'звона' за счет своей крутой характеристики полос среза. Чем меньше полоса (круче характеристика), тем больше переходный процесс, корорый добавит новые но не столь большие паразитные составляющие частотного спектра. Необходим подбор - оптимума.
Так же можно воспользоваться адаптивной фильтрацией, но в дальнейшем начальный участок сигнала, пока фильтр не подавит 50-ти герцовую составляющую при анализе учитывать не следует.
Unomano
May 7 2007, 12:26
Можно использывать адаптивную фильтрацию по методу наименьших квадратов с линейным предсказанием.
Литература: Уидроу "Адаптивная фильтрация"
Гвоздик
May 7 2007, 15:12
На мой взгляд самый простой способ разработки фильтра - воспользоваться Матлабом с пакетом HDL Filter Design, нужно будет только вставить требуемые частоты среза и порядок фильтра, сгенерируется файл *.vhd или *.v автоматически, как и тестбенч к нему. За полдня освоите!
rezident
May 7 2007, 15:57
А можно ли как-то привязать частоту выборок к частоте сетевой помехи? Если да, то нужно просто интегрировать сигнал за период кратный периоду помехи. Например, в сигма-дельта АЦП примерно так и делается, поскольку они относятся к интегрирующему типу АЦП.
Unomano
May 7 2007, 18:46
Ну если вас устраивает частота выборок 25, 12,5 и менее Гц, то можета попробывать
Цитата(rezident @ May 7 2007, 21:57)

А можно ли как-то привязать частоту выборок к частоте сетевой помехи? Если да, то нужно просто интегрировать сигнал за период кратный периоду помехи. Например, в сигма-дельта АЦП примерно так и делается, поскольку они относятся к интегрирующему типу АЦП.
Это уже ФНЧ будет с частотой среза ниже 50 Гц.
Обобщенно говоря - варианта два:
1) цифровой фильтр-пробка вырезает 50 Гц
2) цифровой ФНЧ с граничной частотой ниже 50 Гц.
EvgenyNik
May 8 2007, 05:18
Самый простой способ, аналогичный ФНЧ, т.е. для условий, что сигнал низкочастотый и сетевая частота в нём присутствует в виде наводки как единственный высокочастоный сигнал:
Частота дискретизации 1000 Гц;
Подавляемая частота 50 Гц;
На одном периоде подавляемой частоты получается 20 отсчетов.
Для синуса при данных условиях получается, что если брать сумму выборок X(n-10)+X(n), то в результате должен получаться ноль.
Но кроме синуса, какую-то часть веса выборки составляет полезный сигнал и простое суммирование приведёт к удвоению его среднего значения. Тогда делаем так: (X(n-10)+X(n))/2.
На ПЛИС предлагается сделать буфер FIFO на 10 выбок и суммирование с отбросом младшего бита (эквивалент деления на 2).
Главное - чтобы частота выборки (дискретизации) была кратной 50 Гц.
Unomano
May 8 2007, 07:11
Уидроу Б. "Адаптивная обработка сигналов":
"Подавление помехи с частотой 60 Гц в электрокардиографии" (стр. 299)
Цитата(rezident @ May 7 2007, 18:57)

А можно ли как-то привязать частоту выборок к частоте сетевой помехи? Если да, то нужно просто интегрировать сигнал за период кратный периоду помехи. Например, в сигма-дельта АЦП примерно так и делается, поскольку они относятся к интегрирующему типу АЦП.
Есто одно "но". При такой синхронной филтрации помехи отсчеты действительно перестанут болтаться, но будет систематическая погрешность, зависящая от амплитуди и фазы помехи (если не привязать запуск к прохождению помехой нуля - что не всегда возможно)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.