Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 10.03.2019
Сообщений: 24

Фильтрование сигнала

22.05.2019, 00:09. Показов 1544. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прекрасные формучане, помогите разрешить проблему) Есть сигнал, хочу вырезать только спектр со значениями, отличными от нуля. Хотел бы сделать это с помощью простого умножения на импульсную характеристику, но чет не нашел как осуществить. Решил фильтр ППФ сделать. Но он не вырезает...помогите......плиз....

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
clear all;clc
time=10^-2; % Длительность
N=2^16; % Количество линий Фурье спектра
Fd=2^16; % Число отсчетов по времени
dt=time/(Fd-1); % Шаг по времени
t=0:dt:time; % Дискретное время
dw=Fd/(N*time); % Шаг по частоте в спектре, Гц
Nyq=Fd/(2*time); % Частота Найквиста, Гц
w=-Nyq+dw*(0:N-1); % Задание значений частот
 
w1=(10^4-2000)*2*pi;
w2=(10^4+2000)*2*pi;
 
signal=1.*sin(10^4*2*pi.*t);
figure;
plot(t,signal);
 
Wc=[w1,w2];
order=1;
[b,a]=butter(order,Wc/(Nyq),'s');
nt = filter(b, a, signal);
figure;
plot(t,nt);
 
H=freqs(b,a,w);
Hper=abs(H);
figure;
plot(w,Hper);
 
Z=fft(nt,N); % Преобразование Фурье
S=fftshift(Z)/N; % Сдвиг 
S=S*2;
S(N/2+1)=S(N/2+1)/2;  % Амплитуда постоянной составляющей
F=abs(S); % Модуль преобразования
figure;
plot(w,F);
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.05.2019, 00:09
Ответы с готовыми решениями:

Извлечение сигнала заданной частоты из более сложного сигнала
Нужен совет. Предположим, у меня есть некий сложный сигнал. Я знаю, что в него входит синусоида, которая сохраняет свою амплитуду, затем...

Моделирование сигнала, шумового процесса, смеси сигнала с шумом
Доброе время суток. Помогите пожалуйста решить данное задание в MatLab. На двух вложениях одно задание.

Фильтрование по времени
Создал базу с помощь TClientDataSet, есть поле Дата, есть два DateEdit, нужно фильтровать от первой даты до другой. ds1.Filter:='...

4
Эксперт по электронике
 Аватар для R2D2
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,488
22.05.2019, 08:45
Цитата Сообщение от Briz40 Посмотреть сообщение
Хотел бы сделать это с помощью простого умножения на импульсную характеристику
Не слышал о таком "простом" способе фильтрации. Может быть, все таки, свертка?

Добавлено через 2 минуты
Цитата Сообщение от Briz40 Посмотреть сообщение
хочу вырезать только спектр со значениями, отличными от нуля
И вообще, это какая то странная формулировка. Суть фильтрации, как раз и состоит в том, что бы какую то полосу (полосы) занулить (а точнее, снизить уровень сигнала в этих полосах). Нули занулять будем?
0
0 / 0 / 0
Регистрация: 10.03.2019
Сообщений: 24
22.05.2019, 11:26  [ТС]
Спасибо, понял вас. Но чет не выходит все-равно....пытаюсь вроде убрать 10^6, а не получается..
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
time=10^-2; % Длительность
N=2^16; % Количество линий Фурье спектра
Fd=2^16; % Число отсчетов по времени
dt=time/(Fd-1); % Шаг по времени
t=0:dt:time; % Дискретное время
dw=Fd/(N*time); % Шаг по частоте в спектре, Гц
Nyq=Fd/(2*time); % Частота Найквиста, Гц
w=-Nyq+dw*(0:N-1); % Задание значений частот
 
w1=(10^4-2000)*2*pi;
w2=(10^4+2000)*2*pi;
 
signal=1.*sin(10^6*2*pi.*t);
 
Wc=[w1,w2];
order=1;
[b,a]=butter(order,Wc/(Nyq),'s');
nt = filter(b, a, signal);
 
H=freqs(b,a,w);
Hper=abs(H);
figure;
plot(w,Hper);
 
Z=fft(nt,N); % Преобразование Фурье
S=fftshift(Z)/N; % Сдвиг 
S=S*2;
S(N/2+1)=S(N/2+1)/2;  % Амплитуда постоянной составляющей
F=abs(S); % Модуль преобразования
figure;
plot(w,F);
0
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
22.05.2019, 18:56
Briz40, фильтруется же вроде. Посмотрите на значения signal и nt
0
Эксперт по электронике
 Аватар для R2D2
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,488
23.05.2019, 19:47
Лучший ответ Сообщение было отмечено Briz40 как решение

Решение

Briz40, ну вот подправил на скорую руку. Оно?
Кликните здесь для просмотра всего текста
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
clc; close all; clear;
time=10^-2; % Длительность
N=2^16; % Количество линий Фурье спектра
Fd=2^16; % Число отсчетов по времени
dt=time/(Fd-1); % Шаг по времени
t=0:dt:time; % Дискретное время
dw=Fd/(N*time); % Шаг по частоте в спектре, Гц
Nyq=Fd/(2*time); % Частота Найквиста, Гц
w=-Nyq+dw*(0:N-1); % Задание значений частот
 
w1=(10^4-2000)*2*pi;
w2=(10^4+2000)*2*pi;
 
signal=1.*sin(10^6*2*pi.*t);
 
Wc=[w1,w2];
order=1;
[b,a]=butter(order,Wc/(Nyq),'s');
nt = filter(b, a, signal);
 
H=freqs(b,a,w);
Hper=abs(H);
figure;
plot(w,Hper);
 
Z=fft([nt; signal]',N); % Преобразование Фурье
S=fftshift(Z)/N; % Сдвиг 
S=S*2;
S(N/2+1)=S(N/2+1)/2;  % Амплитуда постоянной составляющей
F = abs(S); % Модуль преобразования
figure;
plot(w,10*log10(F), 'LineWidth', 2); grid on
xlim([min(w) max(w)])
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.05.2019, 19:47
Помогаю со студенческими работами здесь

Фильтрование и SQL запросы
Здравствуйте! Подскажите как реализовать следующее: Допустим есть таблица "Книги", она состоит из: индекса...

Фильтрование списка с сохранением id итема
Пишу программу в которой есть listview, в котором n строчек - итемов. каждый итем имеет свой id. Когда я фильтрую листвью то итем, который...

Датчик Холтера (ЭКГ), фильтрование данных
Кто подскажет как нужно фильтровать данные полученные от датчика Холтера (500Гц, несколько каналов АЦП по 16 бит) чтобы убрать помехи? В...

Фильтрование приложений по идентификаторам пакетов в окне "Поделиться"
В общем, проблема такова: для "репоста" в своём приложении использую конструкцию вида Intent shareIntent = new...

Извлечение сигнала заданной частоты из более сложного сигнала
Нужен совет. Предположим, у меня есть некий сложный сигнал. Я знаю, что в него входит синусоида, которая сохраняет свою амплитуду, затем...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru