📄 appl7_3.m
字号:
%Appl7_3
%用FIR数字滤波器实现对数字信号的滤波
load grbx3.txt %读取数据序列
Xt=grbx3; %把数据赋值给变量
Fs=50; %设定采样率
dt=1/Fs; %计算采样间隔
n=1:length(Xt);
Nn=length(Xt); %序列长度
t=n/Fs; %时间序列
Fcs1=3; Fcs2=23; %设置的通带和阻带边界频率,
Ws1=Fcs1/(Fs/2); Ws2=Fcs2/(Fs/2); %转换为标准频率
Wn=[Ws1 Ws2]; %通带、阻带频率(为标准频率)
N=400; %滤波器阶数为400
pa=(N-1)/2/Fs; %计算相位延迟
b=fir1(N,Wn,'stop'); % 设计FIR带阻滤波器
figure(1);
[H,f]=freqz(b,1,Nn,Fs); %求出滤波器幅频相频特性
subplot(2,1,1),plot(f,20*log10(abs(H)))
xlabel('频率/Hz');ylabel('振幅/dB');grid on;
subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))
xlabel('频率/Hz');ylabel('相位/^o');grid on;
figure(2);
subplot(2,1,1),plot(t,Xt); %绘制原始波形序列
xlabel('时间/s');ylabel('振幅');title('滤波前信号')
grid on;
Yt=filter(b,1,Xt); %对信号进行滤波
t=t-pa; %计算相位延迟
subplot(2,1,2),plot(t,Yt); %绘制滤波后波形序列
ylim([-600 200])
xlabel('时间/s');ylabel('振幅');title('滤波后信号');
xlim([0 max(t)+1]);grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -