⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample_filter.m

📁 基于matlab和DSP的IIR/FIR 滤波器
💻 M
字号:
%用窗函数法设计一个线形相位FIR低通数字滤波器,设计指标为wp=0.25pi,ws=0.4pi,Rp=1dB,Rs=40dB
N=256;F=1000;T=1/F;                                             %抽样频率设置
n=1:N;f1=300;f2=100;                                            %信号的频率设置
x=1.3*sin(2*pi*f1*n*T)+sin(2*pi*f2*n*T)+sin(2*pi*(f1+20)*n*T)   %信号的产生:f1=300HZ,f2=100Hz,f3=320Hz
subplot(2,2,1);stem(n,x);title('signal x(n)');grid;             %信号的绘图
k=[0:1:N/2];w=2*pi/N*k;                                         
X=fft(x,N)';magX=abs(X(1:1:N/2+1));                             %输入信号的频谱及绘图
subplot(2,2,2);plot(w/(2*pi),magX);
title('X(e^j^w)');xlabel('频率(单位:2*pi)');ylabel('|X|');axis([0,0.8,0,200]);grid;  

wp=0.25*pi;ws=0.3*pi;Rp=1;Rs=40;N=256;n=[0:1:N-1];
wc=(ws+wp)/2;
hd=ideal_lp(wc,N);
w_han=(blackman(N))';
h=hd.*w_han
[db,mag,pha,grd,w]=freqz_m(h,1);
subplot(2,2,3);plot(w/pi,db);
xlabel('频率(pi)');title('H(db)');axis([0,1,-150,30]);
%subplot(2,2,2);plot(w/pi,pha);
%xlabel('频率(pi)');title('相位(pi)');
%subplot(2,2,3);stem(n,h);title('h(n)');
%subplot(2,2,4);stem(n,w_han);title('win-hanning');
y=filter(h,1,x);                                                %用所设计滤波器对输入信号进行滤波处理                                   
k=[0:1:N/2];w=2*pi/N*k;
Y=fft(y,N)';magY=abs(Y(1:1:N/2+1));                             %滤波输出信号的频谱及绘图
subplot(2,2,4);plot(w/(2*pi),magY);axis([0,0.8,0,120]);grid;    
title('Y(e^j^w)');xlabel('频率(单位:2*pi)');ylabel('|Y|');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -