o.m

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

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

wp=0.1*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,'s');     
[Z,P,K]=buttap(N);               %创建butterworth模拟滤波器
[Bap,Aap]=zp2tf(Z,P,K);
[bz,az]=lp2lp(Bap,Aap,Wc);   
[num,den]=bilinear(bz,az,fs);         %用双线性变换法
[h,f]=freqz(num,den,256,1000);               
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 + -
显示快捷键?