iir滤波器的输出问题
我编写了一段程序,是实现IIR滤波器的功能
不过仿真输出结果图里面,滤波后的频谱却是一个带阻的信号,不是我要的信号输出带通信号的输出
请高手帮我看下可能哪儿编的出问题了
问题补充
为什么用FFT输出的频谱都有两个频带的
这个程序中我观察到的频谱有4个频带请问是什么原因呢?
不是按照理论上说应该只有两个频率的频带吗
附上程序代码
% 输入信号模块以及相关参数设置
t=0:256
x=sin(2*pi*4000/16000.*t)+2*sin(2*pi*6500/16000.*t);
%x1=x+randn(size(x)); %加入噪声
figure(1)
subplot(211);
plot(x);
title('原始信号x');
E=fft(x); % 对X进行傅式变换
E=abs(E);
wp=[3.2,4.8];ws=[2.4,5.6];rp=1;rs=20; % 带通滤波器模块
[n,wn]=cheb1ord(wp/8,ws/8,rp,rs)
[b,a]=cheby1(n,rp,wn) % a,b为fir滤波器的参数
z=filter(b,a,x); % 输入信号X1经过滤波器
zk=fft(z); % 对滤波后的信号进行傅式变换
subplot(212);
plot(z);
title('经过滤波器后的信号 z ');
figure(2)
subplot(211);
plot(abs(E));
title('原始信号频谱');
subplot(212);
plot(abs(zk));
title('经过滤波器后的信号的频谱');
谢谢了