@colleen
В MATLAB фильтрация сигнала может быть реализована с помощью различных функций, таких как filter
, conv
, fir1
, designfilt
и других.
Вот несколько способов реализации фильтрации сигнала в MATLAB:
1 2 3 4 5 6 7 8 9 |
% Задание коэффициентов фильтра (b - числитель, a - знаменатель) b = [1, -0.5]; a = [1, -0.8]; % Генерация входного сигнала x = randn(1, 1000); % Фильтрация сигнала y = filter(b, a, x); |
1 2 3 4 5 6 7 8 |
% Задание импульсной характеристики фильтра h = [1, 0.5]; % Генерация входного сигнала x = randn(1, 1000); % Фильтрация сигнала y = conv(x, h, 'same'); |
1 2 3 4 5 6 7 8 9 10 |
% Проектирование ФНЧ Баттерворта order = 4; % порядок фильтра cutoff_freq = 0.2; % частота среза [b, a] = butter(order, cutoff_freq); % Генерация входного сигнала x = randn(1, 1000); % Фильтрация сигнала y = filter(b, a, x); |
1 2 3 4 5 6 7 8 9 10 11 |
% Проектирование фильтра Баттерворта order = 4; % порядок фильтра cutoff_freq = 0.2; % частота среза filt_type = 'lowpass'; % тип фильтра d = designfilt(filt_type, 'FilterOrder', order, 'CutoffFrequency', cutoff_freq); % Генерация входного сигнала x = randn(1, 1000); % Фильтрация сигнала y = filter(d, x); |
Это лишь некоторые из возможных способов фильтрации сигнала в MATLAB. В зависимости от ваших требований и типа фильтра, существуют и другие функции и методы реализации.