bandpass.m

来自「Matlab实现的带通滤波器」· M 代码 · 共 23 行

M
23
字号
function B3=bandpass(wp,ws,as)
Fs=44100;
Ws1=2*pi*ws1/Fs;
Wp1=2*pi*wp1/Fs;
Wp2=2*pi*wp2/Fs;
Ws2=2*pi*ws2/Fs;
As=50;
tr_width=min((Wp1-Ws1),(Ws2-Wp2));
M=ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)+1;
beta=0.1102*(As-8.7);
wc1=(Ws1+Wp1)/2;
wc2=(Wp2+Ws2)/2;
hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);
w_kai=(kaiser(M,beta))';
h=hd.*w_kai;
a=wavread('asd');
b=filter(h,[1],a);
B=fft(b,512);
Bpower=B.*conj(B);
B3=Bpower*25;
fre=44100*(0:256)/512;
plot(fre,B3(1:257));

⌨️ 快捷键说明

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