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

📄 filter_p300k_s600k_iir_butter.m

📁 通带频率300K
💻 M
字号:
%通带频率300k,阻带频率600k,通带衰减1dB,通带衰减1dB
%采样频率Fs=3M,若改变Fs就可以改变通带频率和阻带频率
%采样点书数N=1024
%用butterword逼近


%产生采样信号
f1=100000;f2=200000;f3=800000;f4=900000;%两个在带内,两个在带外
Fs=3000000;Num=1024;%采样点数,最好取2^n,否则会产生其他分量
n=(0:Num-1);
x1=cos(2*pi*f1*n/Fs);%采样了30个周期
x2=cos(2*pi*f2*n/Fs);%采样了60个周期
x3=cos(2*pi*f3*n/Fs);%采样了200个周期
x4=cos(2*pi*f4*n/Fs);%采样了300个周期
x=x1+x2+x3+x4;

%分析原信号的频谱
X=fft(x);
F_max=(Num/2-1)*Fs/Num;%最高频率
f_pos=linspace(0,F_max,Num/2);%只分析正频率分量
X_pos=X(1:Num/2);%正频率分量
subplot(3,1,1);stem(f_pos,abs(X_pos));%必须用abs()不然会有负数产生

%设计滤波器
Wp=0.2;Ws=0.4;%pi略掉
Rp=1;Rs=80;
[N,Wn]=buttord(Wp,Ws,Rp,Rs);
[p,d]=butter(N,Wn)%IIR滤波器的系数
[h,omega]=freqz(p,d,256);%H(e(jw))采样
subplot(3,1,2);
plot(omega/pi,20*log10(abs(h)));%画出FIR系统响应H(e(jw))

%信号通过设计的滤波器
y=filter(p,d,x);

%分析滤波后的信号频谱
Y=fft(y);
Y_pos=Y(1:Num/2);%正频率分量
subplot(3,1,3);stem(f_pos,abs(Y_pos));

⌨️ 快捷键说明

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