реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Режекторный фильтр на 50 Гц для видеосигнала, как удалить наводку от цепей питания на видеосигнал
Hoodwin
сообщение Jun 22 2013, 09:26
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Собственно возникла вот какая задача. Имеем видеосигнал АЦП с частотой 66.(6) МГц, но вообще частота может программно меняться, от 25 до 80 МГц. Но некоторые приемники выдают сигнал с замешиванием в него частоты 50 Гц. И вот требуется эту помеху из сигнала убрать, однако DC нужно оставить. Обработка делается на ПЛИС и основная частота обработки в ней - 100 МГц.

Пока что в голову приходит такой способ.
1) ФНЧ, оставить полосу порядка 200-300 Гц.
2) децимация сигнала на частоту работы полосового фильтра.
3) Полосовой фильтр вокруг частоты 50 Гц.
4) ресемплинг на исходную частоту оцифровки
5) Вычитание из входного сигнала выделенной составляющей

Однако вот попробовал синтезировать какие-то фильтры в MATLAB, смущает, что на шагах 1-3 составляющая приобретает сдвиг по фазе, и становится непригодна для простого вычитания из исходного сигнала. Причем если для одной частоты еще можно как-то подравнять ФЧХ на 0 именно для частоты фильтрации, то для полосы 50-60 Гц фаза довольно сильно изменяется в полосе пропускания.

Пока задачка стоит подавить составляющую на 50 Гц где-нибудь на 35-45 дБ. На данный момент амплитуда помехи оценена в 10% динамического диапазона АЦП. При реализации фильтра на ПЛИС вполне можно успеть делать КИХ на 128-256 порядков на одном блоке памяти. Но вот все же хотелось бы давить не только одну частоту в 50 Гц, но диапазон от 50 до 60. Возможно ли это?

Go to the top of the page
 
+Quote Post
SSerge
сообщение Jun 22 2013, 15:02
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



А теперь представьте себе что по телевизору показывают зебру крупным планом. Причём на всей левой половине экрана полоска чёрная, а на правой - белая. А потом камера перемещается к хвосту и теперь верхняя половина экрана чёрная, а нижняя белая.
И как тут отличить полезный сигнал от сетевой наводки?
А если зебра испугается и побежит?



--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
polyakovav
сообщение Jun 22 2013, 15:38
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



С помехой лучше бороться там, где она возникает. Пинайте конструкторов, чтобы нормальное заземление и экранировку обеспечили.
А в сетевой наводке кроме 50 Гц есть еще и 100, и 150 и т.д. - все не отфильтруешь.
Go to the top of the page
 
+Quote Post
_pv
сообщение Jun 22 2013, 19:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(SSerge @ Jun 22 2013, 22:02) *
А теперь представьте себе что по телевизору показывают зебру крупным планом.

зебры на куда более высоких частотах водятся.
50Гц, это полэкрана и больше.
плюс наверное можно и фазу 50Гц отловить и выпилить куда более качественно нежели просто полосовым фильтром на 50Гц.
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Jun 22 2013, 20:12
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Ну вообще в моем случае видеосигнал - это сигнал с приемника РЛС, и он зебру никогда не показывает, особенно бегающую крупным крупом. И проблема в том, что приходится сопрягаться с множеством разных РЛС, а помеха в 50 Гц есть не у всех, а лишь у некоторых. Пинать чужих конструкторов дело неблагодарное, весь предыдущий опыт показывает, что с чужой конторой (и даже несколькими сразу) где сядешь, там и слезешь.

В общем, пока что принято решение попробовать исправить этот недуг при помощи режекторного фильтра. Было бы хорошо спроектировать его так, чтобы иметь возможность давить некий диапазон частот вокруг частоты 50 Гц, желательно без изменения алгоритма, а только заменой коэффициентов. Насчет гармоник пока неясно, может они и есть, но сами по себе слабые и в глаза не бросаются.

Особенности сигнала таковы, что ему нельзя удалять DC, иначе потом трудно восстанавливать уровень сигнала для выделения целей. Кроме этого, после приведения DC к нулю еще производится временная автоматическая регулировка усиления (ВАРУ), и поэтому наличие такой вот помехи перед ВАРУ приводит к ее усложнению после ВАРУ. И еще проблема в том, что разные РЛС имеют видеосигналы разной полярности и мы обычно выделяем сигнал только одной полярности, заменяя значения от другой полярности на нули. Ну и вот если сигнал начинает из-за помехи "проваливаться" в другую полярность, то приходится либо ему ложный сдвиг выдумывать, чтобы вытащить целиком в свою полярность, либо он просто обнуляется и портит выделение целей. И то, и другое плохо, лучше всего убрать 50 Гц до того, как отсекать нужную полярность. Фактически сейчас и так есть коррекция ошибки смещения АЦП (конвейерного типа), но она статическая, и если к ней добавить медленную динамическую составляющую, то в общем почти ничего сильно менять даже не надо. Но вот нужно выделить эту составляющую из видеосигнала.
Go to the top of the page
 
+Quote Post
Methane
сообщение Jun 22 2013, 21:53
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Hoodwin @ Jun 22 2013, 23:12) *
Ну вообще в моем случае видеосигнал - это сигнал с приемника РЛС, и он зебру никогда не показывает, особенно бегающую крупным крупом. И проблема в том, что приходится сопрягаться с множеством разных РЛС, а помеха в 50 Гц есть не у всех, а лишь у некоторых. Пинать чужих конструкторов дело неблагодарное, весь предыдущий опыт показывает, что с чужой конторой (и даже несколькими сразу) где сядешь, там и слезешь.

А какая у вас частота следования зондирующих сигналов? Откуда взялась проблема с 50гц?
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Jun 23 2013, 07:17
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Частота в зависимости от станции и ее режима может быть от 750 Гц до 3 КГц. Обычно у наших станций частота в зависимости от шкалы меняется дискретно: 750 -> 1500 -> 3000 КГц. В любом случае на период частоты 50 Гц, приходится несколько десятков зондирований.

Проблема 50Гц взялась, я думаю, от особенностей блоков питания собственно станции и нашей обработки. И особенностей организации цепей, уравнивающих нули в аппаратуре РЛС и обработки. Трудно сказать однозначно, я не видел общей схемы всего этого хозяйства, этим занимались интеграторы. Например, на японских небольших станциях с питанием от +24В этой проблемы нет sm.gif У наших станций она тоже не всегда есть, правда.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 23 2013, 08:18
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Hoodwin @ Jun 22 2013, 13:26) *
Пока задачка стоит подавить составляющую на 50 Гц где-нибудь на 35-45 дБ. На данный момент амплитуда помехи оценена в 10% динамического диапазона АЦП. При реализации фильтра на ПЛИС вполне можно успеть делать КИХ на 128-256 порядков на одном блоке памяти. Но вот все же хотелось бы давить не только одну частоту в 50 Гц, но диапазон от 50 до 60. Возможно ли это?


Может имеет смысл попробовать реализовать фильтр в виде IIR 32х битной точности ?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Methane
сообщение Jun 23 2013, 09:31
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Hoodwin @ Jun 23 2013, 10:17) *
Частота в зависимости от станции и ее режима может быть от 750 Гц до 3 КГц. Обычно у наших станций частота в зависимости от шкалы меняется дискретно: 750 -> 1500 -> 3000 КГц. В любом случае на период частоты 50 Гц, приходится несколько десятков зондирований.

Тогда зачем отфильтровывать 50гц? Выкинте все от 0 до частоты зондирования, как минимум.
Go to the top of the page
 
+Quote Post
polyakovav
сообщение Jun 23 2013, 09:57
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



Похоже, нужен классический адаптивный компенсатор помех.
Читайте Уидроу Прикрепленный файл  Widrow.rar ( 3.61 мегабайт ) Кол-во скачиваний: 140

Но обеспечить 40 дБ в Ваших условиях будет непросто.
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Jun 23 2013, 11:49
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Methane

Насколько я понимаю, любой фильтр вносит задержку в сигнал. Если сигнал состоит из одной частоты, то можно так подобрать параметры фильтра, что задержка станет равна одному периоду, и сдвиг по фазе обнулится, так что сигнал станет пригоден для прямого вычитания. Если же фильтр выделяет совокупность частот, то период повторения совокупности уходит в бесконечность и подобрать параметрами фильтра нулевую задержку уже невозможно. Остается довольствоваться задержкой, какая есть. Так вот, даже если этот сдвиг будет, скажем, всего 5 градусов для 50 Гц, то это эквивалентно задержке на 15-18 тысяч отсчетов на основной частоте дискретизации видео. Мне вот жалко в ПЛИС столько памяти тратить на тупую задержку сигнала. То есть, вырезать спектр от 0 до 700 Гц не проще, чем от 50 до 60. Проще всего давить ровно одну частоту - 50 Гц. И так по одной и давить все неугодные помехи.

polyakovav
Спасибо, попробую полистать на буднях. Хотя мне для начала нужно оценить, какие подходы есть и какова трудоемкость каждого. В общем то сейчас уже есть фильтры, которыми эта помеха давится, но они работают уже после ВАРУ и после выбора полярности сигнала, а это уже поздновато.

Еще вот такой вопрос. Если мне нужно выделить всего одну частоту 50 Гц из сигнала, оцифрованного на 50-60 МГц, то мне явно нужно где-то 5 порядков частоты сбросить. Во сколько ступеней лучше делать децимацию такого рода? Насколько я понимаю, чем более резкие перепады в АЧХ, тем больше нужен порядок фильтра и больше разрядность коэффициентов. А в данном вопросе интересно сократить частоту дискретизации во много раз, угробив на это минимум ресурсов ПЛИС.

Сообщение отредактировал Hoodwin - Jun 23 2013, 11:49
Go to the top of the page
 
+Quote Post
polyakovav
сообщение Jun 23 2013, 12:08
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



Цитата(Hoodwin @ Jun 23 2013, 15:49) *
Еще вот такой вопрос. Если мне нужно выделить всего одну частоту 50 Гц из сигнала, оцифрованного на 50-60 МГц, то мне явно нужно где-то 5 порядков частоты сбросить. Во сколько ступеней лучше делать децимацию такого рода? Насколько я понимаю, чем более резкие перепады в АЧХ, тем больше нужен порядок фильтра и больше разрядность коэффициентов. А в данном вопросе интересно сократить частоту дискретизации во много раз, угробив на это минимум ресурсов ПЛИС.

Если помеха действительно гармоническая, то адаптивный компенсатор не является фильтром в прямом смысле, и понижение частоты не требуется.
Можно формировать цифровым синтезатором в ПЛИС копию помехи с подстройкой по амплитуде и частоте (фазе), и вычитать из входной смеси сигнала с помехой.
Адаптация амплитуды и частоты (фазы) - по минимуму выходной энергии. Методы адаптации описаны в книжке.
В молодости применял для фильтрации сетевой помехи в кардиографии. При стабильных характеристиках помехи работает хорошо. Если помеха меняется во времени, важно правильно выбрать коэффициент адаптации (скорость сходимости).
Go to the top of the page
 
+Quote Post
NikSave
сообщение Jun 23 2013, 12:49
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Цитата(polyakovav @ Jun 23 2013, 15:08) *
Если помеха действительно гармоническая, то адаптивный компенсатор не является фильтром в прямом смысле, и понижение частоты не требуется.
Можно формировать цифровым синтезатором в ПЛИС копию помехи с подстройкой по амплитуде и частоте (фазе), и вычитать из входной смеси сигнала с помехой.
Адаптация амплитуды и частоты (фазы) - по минимуму выходной энергии. Методы адаптации описаны в книжке.
В молодости применял для фильтрации сетевой помехи в кардиографии. При стабильных характеристиках помехи работает хорошо. Если помеха меняется во времени, важно правильно выбрать коэффициент адаптации (скорость сходимости).

Поддерживаю такую идею. Была как-то такая задача и решена была именно таким способом. Вполне успешно
Go to the top of the page
 
+Quote Post
Methane
сообщение Jun 23 2013, 13:26
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Hoodwin @ Jun 23 2013, 14:49) *
Methane

Насколько я понимаю, любой фильтр вносит задержку в сигнал. Если сигнал состоит из одной частоты, то можно так подобрать параметры фильтра, что задержка станет равна одному периоду, и сдвиг по фазе обнулится, так что сигнал станет пригоден для прямого вычитания. Если же фильтр выделяет совокупность частот, то период повторения совокупности уходит в бесконечность и подобрать параметрами фильтра нулевую задержку уже невозможно. Остается довольствоваться задержкой, какая есть. Так вот, даже если этот сдвиг будет, скажем, всего 5 градусов для 50 Гц, то это эквивалентно задержке на 15-18 тысяч отсчетов на основной частоте дискретизации видео. Мне вот жалко в ПЛИС столько памяти тратить на тупую задержку сигнала. То есть, вырезать спектр от 0 до 700 Гц не проще, чем от 50 до 60. Проще всего давить ровно одну частоту - 50 Гц. И так по одной и давить все неугодные помехи.

Судя по ващим ответам, эквалайзер, невозможен в принципе. И зачем делать в ПЛИС? Просто из результатов по дальности вычтите задержку. Одна операция.

Цитата(NikSave @ Jun 23 2013, 15:49) *
Поддерживаю такую идею. Была как-то такая задача и решена была именно таким способом. Вполне успешно

Аккустические шумодавы так работают насколько я знаю. Из шума вычленяют повторяющиеся гармоники, и генерируют динамиком так чтобы в заданной точке пространства, они сложились в противофазе.
Go to the top of the page
 
+Quote Post
Самурай
сообщение Jun 23 2013, 16:07
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(Hoodwin @ Jun 22 2013, 13:26) *
Пока что в голову приходит такой способ.

1) ФНЧ, оставить полосу порядка 200-300 Гц.
2) децимация сигнала на частоту работы полосового фильтра.
3) Полосовой фильтр вокруг частоты 50 Гц.
4) ресемплинг на исходную частоту оцифровки
5) Вычитание из входного сигнала выделенной составляющей


Вполне жизненный способ, только пункты 1 и 3 реализуются в пункте 2, и называться этот пункт будет просто «децимация сигнала».

Цитата(Hoodwin @ Jun 22 2013, 13:26) *
...Однако вот попробовал синтезировать какие-то фильтры в MATLAB, смущает, что на шагах 1-3 составляющая приобретает сдвиг по фазе, и становится непригодна для простого вычитания из исходного сигнала. Причем если для одной частоты еще можно как-то подравнять ФЧХ на 0 именно для частоты фильтрации, то для полосы 50-60 Гц фаза довольно сильно изменяется в полосе пропускания...

Цитата(Hoodwin @ Jun 23 2013, 15:49) *
...Насколько я понимаю, любой фильтр вносит задержку в сигнал. Если сигнал состоит из одной частоты, то можно так подобрать параметры фильтра, что задержка станет равна одному периоду, и сдвиг по фазе обнулится, так что сигнал станет пригоден для прямого вычитания. Если же фильтр выделяет совокупность частот, то период повторения совокупности уходит в бесконечность и подобрать параметрами фильтра нулевую задержку уже невозможно. Остается довольствоваться задержкой, какая есть...


Используйте КИХ фильтры с линейной фазой и счастье Вам гарантировано.

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

Прикрепленное изображение


Цитата(Hoodwin @ Jun 23 2013, 15:49) *
… то это эквивалентно задержке на 15-18 тысяч отсчетов на основной частоте дискретизации видео. Мне вот жалко в ПЛИС столько памяти тратить на тупую задержку сигнала. То есть, вырезать спектр от 0 до 700 Гц не проще, чем от 50 до 60. Проще всего давить ровно одну частоту - 50 Гц. И так по одной и давить все неугодные помехи.


Задержка все равно будет нужна, как минимум на половину порядка эквивалентного фильтра. Но ее легко реализовать на блочной памяти.
И таки да, вырезать спектр от 0 до 700 Гц проще, чем от 50 до 60.

Цитата(Hoodwin @ Jun 23 2013, 15:49) *
Еще вот такой вопрос. Если мне нужно выделить всего одну частоту 50 Гц из сигнала, оцифрованного на 50-60 МГц, то мне явно нужно где-то 5 порядков частоты сбросить. Во сколько ступеней лучше делать децимацию такого рода?


Наименее затратно (по ресурсам) делать децимацию (и интерполяцию), используя максимально возможное количество ступеней. Но зачастую можно пойти на компромиссы.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 18:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.0152 секунд с 7
ELECTRONIX ©2004-2016