0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 13
|
||||||
1 | ||||||
Как убрать помеху и восстановить сигнал12.01.2014, 17:10. Показов 14020. Ответов 24
Метки нет (Все метки)
я построил частотный спектр синала1.txt:
p= 10*randn(size(a)) наложил ее на сигнал: a1=a+p A1 = fft(a1,NFFT)/L plot(f,2*abs(A1(1:NFFT/2+1))) ВОПРОС: каким образом можно убрать помеху и восстановить сигнал?
0
|
12.01.2014, 17:10 | |
Ответы с готовыми решениями:
24
NE555. Как устранить помеху? сма indesit модуль Lov end, как победить помеху Объект испускает сигнал и этот сигнал принимает 100 объектов, как они будут обработаны? Помогите поймать помеху |
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
12.01.2014, 17:31 | 2 |
Полностью - уже никак. Можно убрать помеху там, где нет (или пренебрежимо мал) спектр сигнала.
Что бы убрать шум в полосе сигнала прийдеться применять далеко не тривиальные фильтры. Если же остановится на первом варианте - то классический ФНЧ. Вам какой Баттерворта, Чебышева, Бесселя?
0
|
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 13
|
|
12.01.2014, 17:39 [ТС] | 3 |
Первый вариант - то что нужно. ФНЧ лучше тот который легче реализовать
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
12.01.2014, 18:34 | 4 |
Они все реализуются (в матлабе) одиниково (с точки зрения количества строк кода). Вам бы для начала определится с параметрами фильтра, как то: частота среза, пульсации в полосе пропускания и подавления и тд. Также нужно условится, что считать верхней частотой в спектре сигнала, т.к. он у Вас, быстрее всего, расползется на весь интервал от нуля до частоты Найквиста = fs/2.
0
|
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 13
|
|
12.01.2014, 18:53 [ТС] | 5 |
Первоначально сигнал выглядит вот так:
я думаю, что частотой среза будет значение 200 Гц. А с остальными значениями я не разобрался
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
||||||
12.01.2014, 21:37 | 6 | |||||
1
|
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 13
|
|
17.01.2014, 19:30 [ТС] | 7 |
Возник ещё один вопросик: возможно ли посчитать СКО сигнала?
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
17.01.2014, 22:56 | 8 |
std(y) вроде бы. Проверь...
0
|
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
|
|
22.05.2014, 21:10 | 9 |
Добрый день, я новичок в MatLabe пытаюсь разобраться в этих дебрях, но ничего не выходит.
изначально задача у меня такая же как и у ТС, есть некий файл, в нем шум, необходимо шум убрать, и проиграть файл, чтобы услышать звук (какой он должен быть я так же не могу понять =( ) Заранее прошу прощения, за неправильные действия, но делал как понял: 1) посмотрел спектр сигнала , и по нему определил несущую частоту, и ширину боковых полос. 2) с этих данных попытался через fdatool создать полосовой фильтр, вроде он у меня как получился, потому что при фильтрации, по спектру вижу что все, что вне ширины боковых полос, все занулено. Но при проигрывании полученного сигнала, я так же слышу шум.. и ничего больше... и... прочитал кучу информации, но не могу разобраться, скорее всего я не правильно понимаю необходимый мне процесс фильтрации (простите если не там написал) файл - вот сам файл. Заранее благодарю.
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
26.05.2014, 13:39 | 10 |
Если у Вас в полосе сигнала присутствует шум, а тем более если отношение С/Ш плохенькое то ничего Вы и не добьетесь традиционной фильтрацией. Это если бы у Вас помеха была сосредоточенная - тогда да. Настроили режекторный фильтр, подавили и готово. А так -
0
|
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
|
|
27.05.2014, 00:20 | 11 |
спасибо, но я все же пытаюсь ... это было задано в универе, ну раз задано, значит добиться как то можно. Шум вроде подавить получилось, подобрал полосовой фильтр. Где то вычитал, что нужен некий *диодный мост*, но пока безрезультатно.
Буду разбираться =)
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
27.05.2014, 14:27 | 12 |
Toksy, частоту дискретизации укажите.
0
|
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
|
|
27.05.2014, 22:48 | 13 |
fd=96 кГц
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
28.05.2014, 10:01 | 14 |
Toksy, нашлось у меня таки пара минут. Итак: давайте Вы для себя громко в слух проговорите, что Вы хотите получить.
Спектр сигнала как_бы_намекает на то, что это АМ. Не так ли? Вы же не детектируя этот АМ-сигнал фильтруете одну (или две, непонятно, так как код Вы не предоставили) боковую, проигрываете ее и при этом хотите услышать что то (видимо) информационное. Не хотите все же попробовать детектировать, а потом фильтровать? Может даже лучше наоборот (полосовой фильтр, потом - детектор). Как поступим? Для детектирования есть пара способов: 1. В нем я уверен на 98%: делаем мат.модель детектора. Диод - это abs, а RC-цепочку моделируем фильтром с передаточной функцией 1/(1+j*w*R*C). Но это уныло. 2. В этом способе я не так уверен, так как не углублялся в теорию его работы. Но на Вашем примере, кажись, срабатывает. Детектируем с помощью abs(hilbert(y)). ТОесть считаем комплексную огибающую сигнала. Оставшиеся ВЧ шумы фильтруем тем таки банальным ФНЧ. Или более крутым (с более прямоугольной АЧХ) фильтром. Что скажете?
0
|
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
|
|
28.05.2014, 15:59 | 15 |
Благодарю за уделенное время. Итак, я пытался сделать так : (естественно fft, далее узнаю несущую и боковые) делаю полосовой фильтр, с полосой пропускания от частоты чуть ниже первой боковой до частоты чуть выше второй. Далее нужно делать детектировпние? Сегодня с универа домой приду, сделаю как Вы написали. И небольшой вопрос: во втором пункте на место 'у' ставить мой профильтрованный сигнал?
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
28.05.2014, 16:41 | 16 |
Вся крутость второго метода как раз в том, что у - это Ваш исходный сигнал. Операция abs(hilbert(y)) переносит процесс, который происходит в окрестности Вашей несущей частоты в окрестность нуля Вот оно где, детектирование А там уже можно и полосовой фильтр использовать настроив его по полосе сигнала.
0
|
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
|
||||||
28.05.2014, 18:22 | 17 | |||||
Огромное спасибо за разьяснения, буду дома минут через 30 постараюсь реализовать
Добавлено через 45 минут Вот мой результат:
Скажите, мои действия верны? (еще не разобрался как поставить картинки... сейчас найду) Добавлено через 8 минут А и еще, после проигрывания *G*, слышу монотонный гул, с небоьшими помехами ( как будто не до конца вставил наушники в гнездо) Как думаете, это может быть верным результатом? или этот гул есть те же помехи?
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
28.05.2014, 19:27 | 18 |
Смотри, вот я отметил на рисунке твои боковые и одну из них (верхнюю), но после детектирования. Там мы имеем две некие тональные компоненты (0.8295 и 1.243 кГц). Их будем вырезать полосовым фильтром?
0
|
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
|
|
28.05.2014, 19:46 | 19 |
Как нам говорили, их необходимо оставить, ибо они несут полезную информацию. То есть при создании фильтра в fdatool , fstop нужно ставить после 2го пика, так?
Добавлено через 8 минут а тот код, что я написал выше? он неправильный? Добавлено через 3 минуты Не по теме: прошу прощения, как загружать миниатюры?
0
|
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
28.05.2014, 22:37 | 20 |
Забудьте про fdatool. Это подход для нубов Ты же попал на форум, где все магическим образом множат опыт.
Немного неправильный, так как если его просто скопипастить и попытаться запустить - ничего не выйдет. А еще В функцию filter мы должны подать сигнал, а не модуль его спектра. Я тут немного пошуршал и вот что получил (для сохранения твоего спортивного интереса сам код не выкладываю. Если энтузиазм угаснет - могу сбросить, мне не жалко ). В detected_signal.wav детектированный и отфильтрованный полосовым фильтром сигнал, как ты понял.
0
|
28.05.2014, 22:37 | |
28.05.2014, 22:37 | |
Помогаю со студенческими работами здесь
20
Можно ли сделать Repeat сигнал с помощью USB Wi Fi чтобы сигнал дошел до улицы Определить, сигнал какого цвета сигнал горит для пешеходов в этот момент. Найти вероятность того, что: посланный сигнал будет принят; принятый сигнал типа А Определить вероятность что a) будет получен сигнал 1 б) сигнал 2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |