Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
1

Фильтрация отраженного сигнала с задержкой

02.11.2015, 09:40. Просмотров 2823. Ответов 48

Всем доброго времени суток.

Задача передо мной стоит следующая: есть сигнал записанный семплами по 2048 отсчетов, сигнал акустический. из того что известно так это несущая частота сигнала и период дискретизации.

Необходимо отфильтровать сигнал от наложений акустических/отраженных/эхо составляющих.

Подходил к этой задаче разными способами. Пробовал адаптивными фильтрами, но для них требуется образцовый опорный сигнал, коего у меня нет. Те способы адаптивной фильтрации которые решают эту задачу вслепую не думаю что смогут показать хорошие результаты, да и алгоритмов практических не отыскал.
Рассматривал гетеродинирование, но так и не понял каким образом можно селектировать в спектре необходимые составляющие, то ли это основная волна, то ли это отражённая. Пробовал сдвигать спектр путём комплексного умножения на опорное колебание, но это в моём случае похоже что не имеет смысла.

Прошу помочь советом в этом деле.

Ниже прикрепил две картинки, первая это сам семпл сигнала, где заметно присутствие слева отражённых составляющих. вторая это частотный спектр этого семпла, в увеличенном масштабе.
Как можно заметить отражённые составляющие проникают в полосу полезного сигнала (на частотном спектре) и делают попытки фильтрации обычными фильтрами (полосовым например) бессмысленными.
0
Миниатюры
Фильтрация отраженного сигнала с задержкой   Фильтрация отраженного сигнала с задержкой  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2015, 09:40
Ответы с готовыми решениями:

Simulink: генератор сигнала с программируемой (случайной) задержкой
Доброго времени суток. Подскажите пожалуйста, как в simulink смоделировать генератор сигнала, время...

Фильтрация сигнала
Здравствуйте, нужна помощь. Имеется Сигнал (S), Помеха (P), Наложенная помеха на сигнал (S+P)....

Фильтрация ВЧ сигнала
Здравствуйте, подскажите, пожалуйста, какой фильтр лучше выбрать, если необходимо отфильтровать...

Низкочастотная фильтрация сигнала
Искал по форуму, не увидел. Программа низкочастотной фильтрации окном, название фильтрации не...

48
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
02.11.2015, 12:30 2
Если время прихода эха фиксировано, то такая фильтрация может быть реализована КИХ фильтром.
См. Канасевич "Анализ временных последовательностей в геофизике" 16.5 Реверберация в водном слое.
Вот еще применительно к телефонной связи:
http://elar.uniyar.ac.ru/jspui... bn_1_a.pdf
1
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
02.11.2015, 13:22  [ТС] 3
A_Santik, благодарю за ответ. книгу примусь изучать.
насчет времени прихода эха могу сказать так: во временной области эти отражённые составляющие имеют закономерность находиться в начале семпла (из 2048 отсчётов приблизительно занимают первые 400 отсчётов).
однако уверен, что группа этих отражений в своём устойчивом интервале, ведёт себя непредсказуемо, т.е. совершенно не понятно какие их части, "хвосты", задевают полезный импульс и накладываются на его амплитуду тем самым искажая его.
для примера другой семпл и его спектр в увеличенном масштабе.
0
Миниатюры
Фильтрация отраженного сигнала с задержкой   Фильтрация отраженного сигнала с задержкой  
Модератор
Эксперт по электронике
8263 / 6123 / 820
Регистрация: 14.02.2011
Сообщений: 21,264
02.11.2015, 13:39 4
Цитата Сообщение от ЦеЗарЬ Посмотреть сообщение
где заметно присутствие слева отражённых составляющих.
я правильно понимая, что отраженный сигнал приходит раньше основного?
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
02.11.2015, 13:51 5
Цитата Сообщение от ЦеЗарЬ Посмотреть сообщение
уверен, что группа этих отражений в своём устойчивом интервале, ведёт себя непредсказуемо
Ну тогда более сложным путём придется задачу решать. См. статью Меньшикова.
1
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
02.11.2015, 13:52  [ТС] 6
ValeryS, признаюсь вы озадачили меня) действительно, отражённый сигнал не может прийти раньше чем тот, кто направляется прямо (возможно только если условия среды как-то повлияют).
в общем, могу только сказать что полезный импульс (который нужно оставить в сигнале) это не тот кто приходит первым. скорее всего я ошибся с формулировками в начале темы.
0
Модератор
Эксперт по электронике
8263 / 6123 / 820
Регистрация: 14.02.2011
Сообщений: 21,264
02.11.2015, 14:25 7
Цитата Сообщение от ЦеЗарЬ Посмотреть сообщение
признаюсь вы озадачили меня) действительно, отражённый сигнал не может прийти раньше чем тот, кто направляется прямо
при точечном источнике не может, при протяженном может, например молния, правда что там считать прямым а что отраженным
хотя если паразитка прошла допустим через сталь, а прямой по воздуху, то наверно возможно

но и отраженный может быть сильнее прямого, несколько отражений и интерференция, при определенных условиях горб наложился на горб, впадина на впадину
но я даже представить не могу, как вырезать сигнал который который приходит раньше
1
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
02.11.2015, 14:41  [ТС] 8
ValeryS, ну пока что направление у меня остается одно, каким оно и было: адаптивная фильтрация. правда в статье Меньшикова рассказывается про нелинейный адаптивный фильтр Вольтера. с ним мне ещё предстоит познакомиться, однако сначала всё же хотелось бы применить обычные адаптивные фильтры, например как идентификацию неизвестной системы, благо пишется что эхоподавление такой идентификацией и производится. но с реализацией на практике пока что туго с этим
0
Модератор
Эксперт по электронике
8263 / 6123 / 820
Регистрация: 14.02.2011
Сообщений: 21,264
02.11.2015, 15:29 9
Цитата Сообщение от ЦеЗарЬ Посмотреть сообщение
благо пишется что эхоподавление
так в том то и дело что эхоподавление, т.е берется сигнал задерживается на какое то время умножается на какой либо коэффициент и вычитается, сигнал проходит практически без задержки
а здесь как ?
я так вижу оцифровать сигнал через какой то промежуток взять уровни вычесть их из первых уровней
выходной сигнал появится с задержкой
время между паразиткой и полезным сигналом фиксировано?
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
02.11.2015, 19:59 10
ЦеЗарЬ, ну запиши с многократным эхом контрольную фразу: "Кому не спится в ночь глухую?"
задержка 0.5 секунд
wav формат, моно, 16 кГц
0
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
02.11.2015, 20:32 11
Если время задержки фиксировано - тогда проще КИХ.
Тестовый сигнал:
1
Вложения
Тип файла: rar Кому.rar (140.8 Кб, 4 просмотров)
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
03.11.2015, 06:17  [ТС] 12
ValeryS, время между паразиткой и полезным сигналом неизвестно. также не известна точно форма полезного сигнала. нет чистого семпла. есть правда семпл на котором практически только шум.
0
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
03.11.2015, 06:31  [ТС] 13
не успел отредактировать сообщение, поэтому заново:
время между паразиткой и полезным сигналом неизвестно, вернее время каждый семпл разное. также не известна точно форма полезного сигнала, хотя примерную форму конечно получить можно, учитывая что некоторые семплы в моём файле повторяют одинаковый шум. но чистого семпла нет. есть также семпл на котором практически только шум.
прикрепляю семпл-шум и семпл-полезный импульс соот.
0
Миниатюры
Фильтрация отраженного сигнала с задержкой   Фильтрация отраженного сигнала с задержкой  
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
03.11.2015, 08:19 14
Цитата Сообщение от ЦеЗарЬ Посмотреть сообщение
время между паразиткой и полезным сигналом неизвестно, вернее время каждый семпл разное.
А вот это хорошо бы проверить. Надо вычислить кепстр.
Это просто - от модуля преобразования Фурье ещё раз преобразование Фурье сделать.
На спектре видна ярко выраженная периодичность - так что определить время (времена) сдвигов скорее всего получится!
1
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
03.11.2015, 08:53  [ТС] 15
A_Santik, правильно ли я нахожу кепстр? (ранее находил его, но анализировать и получить полезную информацию из него не сумел)
1. делаю БПФ действительного сигнала, 2048 отсчётов загоняю в re часть комплексного числа, im часть зануляю, нахожу комплексный частотный спектр из 2048 отсчётов.
2. загоняю в буферный массив в действительную часть sqrt(sqr(spectrComplex[i].re)+sqr(spectrComplex[i].im));, мнимую зануляю и делаю от этого комплексного числа БПФ.
3. от результата вывожу на экран модуль полученного компл. числа. только половину результата, так как вторая половина симметричная.

на рисунке обозначения старые.
0
Миниатюры
Фильтрация отраженного сигнала с задержкой  
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
03.11.2015, 09:07  [ТС] 16
кстати стал анализировать отдельно re часть результата и im часть. и заметил что мнимая часть, вернее второй и третий пики во всех семплах находятся на одном месте и на одинаковом расстоянии друг от друга. как можно интерпретировать мнимую часть кепстра?
0
Миниатюры
Фильтрация отраженного сигнала с задержкой  
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
03.11.2015, 12:03 17
Кепстр это автокорреляция модуля спектра первичного сигнала.
Если спектр является функцией частоты, то кепстр будет функцией времени.
Пусть F(w) комплексный спектр исходного сигнала.
Берём от него модуль. (Можно еще прологарифмировать)
Получили действительную функцию K(w)
Теперь надо сделать автокорреляцию этого частотного ряда.
Делаем преобразование Фурье. Получаем комплексный вектор FK
Умножаем FK на FK* *- комплексное сопряжение.
Делаем обратное преобразование Фурье.
Берём модуль.
В результате получаем Кепстр от времени.
1
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
03.11.2015, 12:40  [ТС] 18
A_Santik, спасибо за ответ. получились довольно устойчивые пики во всех семплах. только как анализировать дальше не совсем пойму
0
Миниатюры
Фильтрация отраженного сигнала с задержкой  
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
03.11.2015, 14:00 19
Ну вот, на 0 пик - это потому что автокорреляция. А второй пик связан конкретно с эхо- сигналом. Можно определить время задержки. Шкала у нижней картинки должна быть время.
Ну если не понятно, можно сигнал с задержкой создать. И посмотреть картинку.
0
17 / 17 / 1
Регистрация: 16.09.2010
Сообщений: 100
05.11.2015, 06:11  [ТС] 20
A_Santik, только вот смущает, что на нижней картинке разница между пиками чуть меньше чем 200 отсчётов, а на верхней картинке при этом видно, что разница между ними должна быть больше.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2015, 06:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Фильтрация зашумленого сигнала
Приятного времени суток, :) Записываю с микрофона, и в записи постоянно присутствуют какие-то...

ВЧ фильтрация звукового сигнала
Добрый день! Подскажите, пожалуйста, какой фильтр лучше использовать для ВЧ фильтрации звукового...

Фильтрация зашумленного сигнала
Здравствуйте! Скажите пожалуйста, какие есть алгоритмы для фильтрации зашумленного сигнала? Заранее...

Фильтрация звукового сигнала
Здравствуйте друзья, пишу работу по фильтрации звуковых сигналов (от шумов). В матлабе я недавно,...

Фильтрация цифрового сигнала
Ребят, помогите, пожалуйста. Есть "сигнал" в массиве. Его необходимо отфильтровать ФНЧ и ФВЧ....

Фильтрация затухающего сигнала.
Есть затухающий сигнал записанный с частотой семплирования 4000Hz, длительность записи составляет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.