a.m

来自「我的数字信号处理课程设计」· M 代码 · 共 27 行

M
27
字号
[y,fs,bits]=wavread('b.wav');
%信号的频谱
m=fft(y,512);  %取y的512点fft变换。
p=(0:255)/256*(fs/2);  

wp=0.2*pi;ws=0.3*pi;Rp=30;Rs=120; %Fs=fs;Ts=1/Fs;
wp1=2*fs*tan(wp/2);                  %将模拟指标转换成数字指标
ws1=2*fs*tan(ws/2); 
[N,Wc]=buttord(wp1,ws1,Rp,Rs);     
[Z,P,K]=buttap(N);                     %创建butterworth模拟滤波器
[Bap,Aap]=zp2tf(Z,P,K);
[b,c]=lp2lp(Bap,Aap,Wc);   
[num,den]=bilinear(b,c,fs);         %用双线性变换法实现模拟滤波器到数字滤波器的转换
[h,f]=freqz(num,den);               
lp=filter(num,den,y);

lp=filter(num,den,y);
u=fft(lp,512);  %取y的512点fft变换。
lpp=(0:255)/256*(fs/2);  
%subplot(211);plot(y);%信号时域波形
%subplot(212);plot(p,abs([m(1:256)]));%信号的频谱图
%subplot(313);plot(f,abs(h));%低通滤波器的频谱图
%figure(2);
%subplot(211);plot(lp);%滤波后的信号时域波形
%subplot(212);
plot(lpp,abs([u(1:256)]));%滤波后的信号的频谱图
%wavplay(y,fs);

⌨️ 快捷键说明

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