马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
下午做了个小程序如下:
load('IR014_1.mat','y')
N=1200;
n=0:1199;
f0=120;
fs=12000;
f=linspace(-fs/2,fs/2,N);
for i=1:1200
x(i)=y(2*i);
end
figure;
plot(n,x);xlim([0,1200]);xlabel('点数');ylabel('幅值');title('原信号');grid off;
X=fft(x,N);
Y=fftshift(X);
figure;
plot(n,X);xlim([0,1200]);xlabel('点数');ylabel('幅值');title('原信号FFT变换');grid off;
figure;
plot(f,abs(Y));xlim([0,fs/2]);xlabel('频率/fz');ylabel('幅值');title('原信号FFT谱');grid off;
输出的FFT谱如下图:
在此程序后面添加了
w0=2*pi*f0/fs; %归一化频率
m=0.99; %input('please input a number : m=');
B1=2*(1-m); %带宽计算
b1=[1 -2*cos(w0) 1];
a1=[1 -2*m*cos(w0) m*m];
impz(b1,a1); %单位冲激响应
[H ,W]=freqz(b1,a1);
z=filter(b1,a1,x);
figure;
plot(n,z);xlim([0,1200]);xlabel('点数');ylabel('幅值');title('原信号经低通滤波器后的输出');grid off;
这段低通滤波器程序后,上面的FFT谱输出的怎么是这样的啊?
请问大家这是怎么回事啊?低通滤波器的程序对吗?要做一个低通1000HZ的低通滤波器程序该怎么写啊?求帮助!
|