怎么把设计的滤波器用于实际,比如:声音处理、图像处理等等。跪求一个源程序。

如题所述

利用MATLAB求出系数,再写个代码,就可以了,很简单啊。我用FPGA给你举个例子吧
module fir_srg_module //----> Interface
(input clk,
input signed [7:0] x,
output reg signed [7:0] y);

reg signed [7:0] tap [0:3];

integer I,t1,t2;
always @(posedge clk)
begin : p1
t1<=tap[0]+tap[3];
t2<=tap[1]+tap[2];
y <= (t2 <<< 2) - (t2 >>> 2) - t1;
for (I=3; I>0; I=I-1) begin
tap[I] <= tap[I-1]; // Tapped delay line: shift one
end
tap[0] <= x; // Input in register 0
end
endmodule

这就是一个滤波器啊,不知道还有什么不懂的?追问

我们做实验和你写得不太一样,我们是脉冲响应不变法、双线性变换法、频率响应等。N=15;Wp=0.2*pi;
m=0:(N+1)/2;
Wm=2*pi*m./(N+1);
mtr=floor(Wp*(N+1)/(2*pi))+2;
Ad=[Wm<=Wp];
Ad(mtr)=0.38;
Hd=Ad.*exp(-j*0.5*N*Wm);
Hd=[Hd conj(fliplr(Hd(2:(N+1)/2)))];
h=real(ifft(Hd));
w=linspace(0,pi,1000);
H=freqz(h,[1],w);
plot(w/pi,(abs(H)));grid;
xlabel('Normalized frequencey');
ylabel('Gain,dB');grid;

追答

还不是一样啊。MATLAB只是一个工具,你这个变换还不是你分析问题的啊。你实际用的话,还是要写个程序啊。

追问

如何把语音信号加进去,滤除噪音,之类的。求解大侠

追答

你是要通过MATLAB仿真还是?如果只是仿真的话,可以用电话录个语号信号,再在MATLAB中调用就可以了,如果是要通过验证,可以把程序烧进芯片里,让信号通过芯片用示波器看就可以了。

温馨提示:答案为网友推荐,仅供参考
相似回答