📄 slowpassf.m
字号:
function lfdata=slowpassf(f,fdata,fc)
%低通滤波函数
%输出:
% lfdata:经过低通滤波的信号幅频数据;
%输入:
% fdata:信号的幅频值
% fs:输入信号的采样率
% fc:低通滤波器的截止频率
% df:频域内的频率间隔
N = length(f);
df = f(2) - f(1);
fs = N * df;
lowpa = zeros(1,N);
lfdata = zeros(1,N);
wc = fc * 2 * pi;
for h = -( N - 1 ) / 2:( N - 1 ) / 2
w = h * df * 2 * pi;
x = ( N - 1 ) / 2 + h + 1;
lowpa(x) = 1 / (1 - (w / wc) ^ 2 + i * sqrt(2) *( w / wc));
end
lfdata=lowpa.*fdata;
wl=[0 : df : (fs - df)] - fs / 2;
subplot(2,1,1);
plot(wl,abs(lowpa));
xlabel('频率');
ylabel('低通滤波器频响');
subplot(2,1,2);
plot(wl,abs(lfdata));
xlabel('频率');
ylabel('低通滤波后频谱');
pause;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -