Фильтрация сигнала. Шум.

Захват, обработка и генерирование сигнала
Sith
user
user
Сообщения: 70
Зарегистрирован: 16 окт 2014, 21:44
Версия LabVIEW: 13
Контактная информация:

Фильтрация сигнала. Шум.

Сообщение Sith »

Здравствуйте ув. Форумчане!
Столкнулся с такой проблемой - необходимо отфильтровать сигнал от шума (скриншот спектра сигнала и сам сигнал прилагается). Я новичек в решении таких задач, и полистав наш форум, и интернет не смог реализовать фильтрацию, и поэтому обращаюсь к вам за помощью.
Изображение
Я предполагаю, что это белый шум, из за его равномерности вдоль всего спектра сигнала.
В интернете вычитал, что для подавление белого шума наиболее подходящим является медианный фильтр. Так же пробовал фильтровать с помощью фильтра низких частот, но и там и там возникли проблемы - либо я неправильно настраиваю фильтры, либо все делаю в принципе не правильно :(...
Товарищи, подскажите пожалуйста, в каком направлении "копать" ??? Что я сделал не правильно? :help:
Свои наработки и сам сигнал выкладываю во вложениях.
Заранее спасибо!
Вложения
Filtering.zip
(812.43 КБ) 255 скачиваний
Sith
user
user
Сообщения: 70
Зарегистрирован: 16 окт 2014, 21:44
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение Sith »

Добрового времени суток, ув. коллеги! Все также безуспешно пытаюсь решить данную проблему фильтрации. Все так же сталкиваюсь с трудностями. А именно, после того как с помощью :vi: Auto Power Spectrum отображаю спектр сигнала, я предполагаю, что частота несущей - это частота с самой большой амплитудой(в моем случае 2100 Гц), а все те амплитуды, что ниже - шумы. (см. рис. 1)
Изображение

Делаю БПФ, для перехода в частотную область, ставлю фильтр высоких частот от 2000 Гц, чтобы подавить все нижние, и делаю обратное преобразование фурье, но при этом, спектр не меняется, а лишь "съедаются" края сигнала, как видно на скриншоте ниже.

Изображение

Ув. Коллеги, прошу вашего совета, скажите - что я делаю не так???... Я ведь еще совсем зеленый в :labview:, а для самообучения иногда очень нехватает совета опытного специалиста :help: Заранее спасибо!

Тело самой программы.

Изображение

Саму программу и аудио сигнал так же добавляю.
Вложения
2_CUT.zip
WAV файл
(1.66 МБ) 182 скачивания
Filter.vi
LV 8.6
(60.16 КБ) 230 скачиваний
mixail_
user
user
Сообщения: 93
Зарегистрирован: 05 июн 2013, 08:58
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение mixail_ »

Sith, вы же знаете свою полосу частот, поставьте ФНЧ на нее (во временной области). В примерах LV поищите по слову lowpass (например FIR Filtering and Response.vi Pulse Demo.vi)
Sith
user
user
Сообщения: 70
Зарегистрирован: 16 окт 2014, 21:44
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение Sith »

mixail_ писал(а):Sith, вы же знаете свою полосу частот, поставьте ФНЧ на нее (во временной области). В примерах LV поищите по слову lowpass (например FIR Filtering and Response.vi Pulse Demo.vi)
Пробовал подавать на ФНЧ массив данных временнОй области (Y составляющие волны), но в итоге он режет мне информативную часть спектра(сигнал фазово манипулирован для передачи двоичных данных), в итоге вся информация теряется.

На самом первом скриншоте в начале темы, я показал где находятся шумовые составляющие с помощью программы Signal analyzer. Но как их убрать, не навредя основному сигналу?..... Я до сих пор не могу разобраться :(
Sith
user
user
Сообщения: 70
Зарегистрирован: 16 окт 2014, 21:44
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение Sith »

В Большенстве источников прочитал, что для подавления шума необходимо вычесть из амлитудного спектра сигнала - амлетудный спектр заранее записанного шума. Но если этого записанного шума нет, тогда что делать???... Как будто бьюсь головой об стену... и Examples в :labview: смотрел, и читал учебники по ЦОС, но все равно не монял, как поступать конкретно в моей ситуации, когда в Фазово-манипулированном сигнале присутствуют шумы :dntknw:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Фильтрация сигнала. Шум.

Сообщение IvanLis »

Sith писал(а):Пробовал подавать на ФНЧ массив данных временнОй области (Y составляющие волны), но в итоге он режет мне информативную часть спектра(сигнал фазово манипулирован для передачи двоичных данных), в итоге вся информация теряется.(
Значит Вы неверно выбрали частоту среза.

Sith писал(а):На самом первом скриншоте в начале темы, я показал где находятся шумовые составляющие с помощью программы Signal analyzer. Но как их убрать, не навредя основному сигналу?..... Я до сих пор не могу разобраться :(
Вы бы полностью картинку положили, не понятно что там вообще изображено. Что за величины по осям X и Y. Судя по виду, это оконная обработка, как минимум STFT или Wavelet. Отсюда и неверные выводы и действия.
Sith
user
user
Сообщения: 70
Зарегистрирован: 16 окт 2014, 21:44
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение Sith »

IvanLis писал(а): Значит Вы неверно выбрали частоту среза.
Скорее всего.
IvanLis писал(а): Вы бы полностью картинку положили, не понятно что там вообще изображено. Что за величины по осям X и Y. Судя по виду, это оконная обработка, как минимум STFT или Wavelet. Отсюда и неверные выводы и действия.
Вы совершенно правы, это оконная обработка, подобную спектограмму можно получить и средствами :labview: , например TFA STFT Spectrogram :vi: , что я и хочу попробовать реализовать в ближайшее время. А насчет осей: Y - это частоты, а X - время. Картинка кстати вся. Сам сигнал длится около двадцати секунд. Выше данного изображения просто черное поле (обозначающее скорей всего отсутствие каких либо гармоник)
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Фильтрация сигнала. Шум.

Сообщение IvanLis »

Если честно, я не понимаю, что Вы хотите получить на выходе.
У Вас практически идеальный сигнал:
1.png
Что Вы хотите получить после фильтрации и для чего ее выполняете?
mixail_
user
user
Сообщения: 93
Зарегистрирован: 05 июн 2013, 08:58
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение mixail_ »

Sith, фильтр нужен чтобы выделить вашу полосу (т.е. ваш сигнал + шум), фильтром вы шум в основной полосе убрать не сможете. почему вы решили что у вас фазаманипулированный сигнал, а не икм?
Sith
user
user
Сообщения: 70
Зарегистрирован: 16 окт 2014, 21:44
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение Sith »

IvanLis писал(а): Что Вы хотите получить после фильтрации и для чего ее выполняете?
Была поставлена задача, устранить шум (указан именно тот участок, что отмечен на первом скриншоте), т.к. мешает чтению данных. Пытался его подавить с помощью медианного фильтра, выделяя с помощью дискретного синусного преобразования именно ту полосу шириной в 1000гц (эта ширина(по оси Y) зашумленного спектра, который изображен на все том же первом скриншоте), но все равно необходимая информация не была считана.
mixail_ писал(а):Sith, фильтр нужен чтобы выделить вашу полосу (т.е. ваш сигнал + шум), фильтром вы шум в основной полосе убрать не сможете. почему вы решили что у вас фазаманипулированный сигнал, а не икм?
Сам не решал. Была, скажем так, информация по умолчанию, что это фазаманипулированный сигнал.
Так а какие есть способы удаления шума в основной полосе?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Фильтрация сигнала. Шум.

Сообщение IvanLis »

Sith писал(а):Так а какие есть способы удаления шума в основной полосе?
На сколько мне известно нет, по крайней мере в классическом понимании "фильтрация".
Есть например понятие "согласованный фильтр", но это уже не та фильтрация, а больше похоже на "детектирование".
Sith
user
user
Сообщения: 70
Зарегистрирован: 16 окт 2014, 21:44
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение Sith »

IvanLis писал(а): На сколько мне известно нет, по крайней мере в классическом понимании "фильтрация".
Есть например понятие "согласованный фильтр", но это уже не та фильтрация, а больше похоже на "детектирование".
Для меня не принципиально важно, что бы это была именно "фильтрация", мне просто необходимо "подавить" шумы.
насчет согласованной фильтрации, ознакомился с ней в учебнике Федосова и Нестеренко "ЦОС в LabView", и на сколько я понял, согласованные фильтры показывают, есль в зашумленном сигнала - искомый нами сигнал, но который заранее известен, и подается на этот согласованный фильтр. Но в моем ведь случае нет заранее известного искомого сигнала. Есть только зашумленный...
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Фильтрация сигнала. Шум.

Сообщение Borjomy_1 »

Можно только сказать... для того, чтобы отделить шум от сигнала, надо понимать, чем шум от сигнала отличается. И детектировать эти отличия.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Фильтрация сигнала. Шум.

Сообщение IvanLis »

Sith писал(а):Для меня не принципиально важно, что бы это была именно "фильтрация", мне просто необходимо "подавить" шумы.
Ладно, мы разговариваем немного на разных языках.
Вот спектр Вашего сигнала:
Без имени.png
Без имени.png (2.7 КБ) 11665 просмотров
Вы можете выделить на нем частоты которые вам нужны и частоты которые необходимо подавить?

p.s. "Белый шум" присутствует на всех частотах и побороть его не получится никак. С ним можно только смириться и иметь ввиду.
mixail_
user
user
Сообщения: 93
Зарегистрирован: 05 июн 2013, 08:58
Версия LabVIEW: 13
Контактная информация:

Re: Фильтрация сигнала. Шум.

Сообщение mixail_ »

Ваш файл:
CompressionMethod: 'Uncompressed'
NumChannels: 1
SampleRate: 48000
TotalSamples: 960512
Duration: 20.0107
Title: []
Comment: []
Artist: []
BitsPerSample: 16
Безымянный.png
Безымянный.png (7.16 КБ) 11652 просмотра

http://audiocoding.ru/article/2008/05/2 ... cture.html
байт 20-21 = 0x01, т.е. это обычный PCM, можете его проиграть - услышите набор тонов
Вам следует погуглить алгоритмы подавления шума звуковых сигналов, например http://wikisound.org/Adobe_Audition_Ada ... _Reduction
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Обработка сигнала»