Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/76: Рейтинг темы: голосов - 76, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 13

Как убрать помеху и восстановить сигнал

12.01.2014, 17:10. Показов 15351. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я построил частотный спектр синала1.txt:
Matlab M
1
2
3
4
5
6
7
L=1800
Fs=1000
NFFT = 2^nextpow2(L)
f = Fs/2*linspace(0,1,NFFT/2+1)
a=textread('1.txt')
A = fft(a,NFFT)/L
plot(f,2*abs(A(1:NFFT/2+1)))
создал помеху:
p= 10*randn(size(a))
наложил ее на сигнал:
a1=a+p
A1 = fft(a1,NFFT)/L
plot(f,2*abs(A1(1:NFFT/2+1)))

ВОПРОС: каким образом можно убрать помеху и восстановить сигнал?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2014, 17:10
Ответы с готовыми решениями:

NE555. Как устранить помеху?
Вот схема: http://i016.***********/1107/50/0084a19e7a25t.jpg Девайс включает сирену на 10 сек., но проблема состоит в том что на пин...

сма indesit модуль Lov end, как победить помеху
Уважаемые форумчане. Собственно весь вопрос в названии темы. Сетевая помеха не даёт нормально работать машинке. Источник помехи...

Объект испускает сигнал и этот сигнал принимает 100 объектов, как они будут обработаны?
Вопрос: Объект испускает сигнал и этот сигнал принимает 100 объектов, как они будут обработаны? Мысль такая у меня в классе данные...

24
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
28.05.2014, 22:53
Студворк — интернет-сервис помощи студентам
R2D2, Огромное Вам спасибо, сейчас помозгую =) а насчет fdatool.... я ведь только осваивать начал эти дебри

Добавлено через 6 минут
но прошу прощения за наглость...
я правильно понял действия? :
1) открываем сигнал, задаем новую переменную u=abs(hilbert(X)) , где X мой сигнал
2) строим новый фильтр так чтобы в полосе пропускания были пики (боковые полосы)
3) применяем фильтр командой filter(N,1,U);
4) прослушиваем то, что у нас получилось.

Добавлено через 7 минут
а еще.. Вы фильтр задаете своими руками что ли?
(то есть задаем переменную от 0 до 100 у нас будет ноль, 101 будет 0.5 , 102 до 200 будет 1, и потом заглушаем в 0 снова (цифры от потолка))
0
Эксперт по электронике
 Аватар для R2D2
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,488
28.05.2014, 22:58
Цитата Сообщение от Toksy Посмотреть сообщение
я ведь только осваивать начал эти дебри
Вовсе нет. Для того, что бы синтезировать фильтр нужно (к примеру, я так делал) всего две функции:
1. Функция расчета подходящего порядка фильтра по значениям затухания в полосе заграждения и полосе пропускания, и, собственно, по границам этих полос.
2. Непосредственно функция коэффициентов фильтра. Иногда для большей точности используют представление не коэф-ми, а, к примеру, нулями и полюсами.
Я привел пример для фильтра Баттерворта. Аналогичные функции есть и для других (Чебышевских, например) фильтров.
0
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
28.05.2014, 23:04
R2D2, можно Ваш код? а по нему я постараюсь понять =)

я хочу показать что получилось у меня.. но я не могу найти как загрузить картинку, мой полученный сигнал, идентичен вашему (по форме) правда значения у меня все выше 0, в минус не уходят
0
Эксперт по электронике
 Аватар для R2D2
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,488
28.05.2014, 23:46
Цитата Сообщение от Toksy Посмотреть сообщение
но я не могу найти как загрузить картинку
Расширенный режим - кнопка со скрепкой.
Вот тебе код. Только смотри, что б в папке с файлом, куда этот код сохранишьЮ был и файл исходника сигнала.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
clc; close all; clear;
load data111
y_AM = MSr;
fs = 96e3;
L = length(y_AM);
t = (0:L-1)/fs;
y_demod = abs(hilbert(y_AM));
%%
Rp = -3; % dB
Rs = -60; % dB
Wp = 2*[0.7 1.4]*1e3/fs;
Ws = 2*[0.4 1.8]*1e3/fs;
[n, Wn]=buttord(Wp,Ws,Rp,Rs);
[z, p, k] = butter(n,Wn,'bandpass');
[sos,g]=zp2sos(z,p,k);
Hd = dfilt.df2sos(sos,g);
[K, w] = freqz(Hd, 4096);
y_out = filter(Hd, y_demod);
%%
nfft = 2^nextpow2(L);
freq = fs/2*linspace(-1, 1, nfft);
S = fft([y_AM abs(hilbert(y_AM)) y_out], nfft);
Mag = abs(S);
%%
figure('Units', 'Normalized', 'Position', [.01 .05 .98 .8])
hA(1) = subplot(221);
plot(freq/1e3, fftshift(10*log10(Mag(:, 1:2)), 1)); grid on
xlabel('f, kHz')
ylabel('|S|, dB')
xlim([0 fs/2]/1e3)
legend({'Исходный сигнал', 'Детектированный сигнал'}, 'location', 'southeast')
 
hA(2) = subplot(223);
plot(freq/1e3, fftshift(10*log10(Mag(:, 3)))); grid on
xlabel('f, kHz')
ylabel('|S|, dB')
xlim([0 fs/2]/1e3)
 
hA(3) = subplot(222);
plot(fs/2*w/pi, 20*log10(abs(K))); grid on
xlabel('f, kHz')
ylabel('|K|, dB')
title('АЧХ фильтра')
xlim([0.3 2]*1e3)
 
linkaxes(hA(1:2), 'x')
 
%%
temp = 100*y_out*ones(1,3);
temp = temp(:);
sound(temp, fs)
Там сигнал только слабый. Я его в 100 раз усиливаю и при воспроизведении повторяю трижды, т.к. короткий
1
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 9
28.05.2014, 23:51
R2D2, Благодарю =) Доволен как слон
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.05.2014, 23:51

Помогите поймать помеху
Добрый день, беда такая: имеем микроконтроллер, питаемый одним блоком питания (5V), имеем другое устройство (банкнотоприемник), питаемый...

Можно ли сделать Repeat сигнал с помощью USB Wi Fi чтобы сигнал дошел до улицы
Я с ноутбука раздал Wi Fi интернет, у мя в ноуте DSL(через UTP) интернет, раздал с командной строки... ВСЕ БЫЛО НОРМАЛЬНО Недавно подумал...

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

Найти вероятность того, что: посланный сигнал будет принят; принятый сигнал типа А
Люди добрые! Помогите пожалуйста решить! Раздел задачи увы не знаю... По линии связи передано 2 сигнала типа А и В с вероятностью...

Определить вероятность что a) будет получен сигнал 1 б) сигнал 2
По каналу связи передаются два сигнала: ноль и единица. Из-за наличия помех возможны искажения сигналов: Единица переходит в единицу с...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru