MATLAB频率采样法设计数字滤波器

问题描述:

MATLAB频率采样法设计数字滤波器
0 - 离问题结束还有 14 天 22 小时
x(t)=5*sin(20PI*t)+cos(40PI*t)+5sin(60pi*t)
采样频率100HZ,N=400点
要求1,保留20HZ信号,衰减小于0.5DB
2,滤除10HZ和30HZ的信号,衰减小于40DB
给个思路,
1个回答 分类:数学 2014-11-30

问题解答:

我来补答
close all;
clc
clear
fsamp=100;
N=400;
n=0:N-1;
x=5*sin(20*pi*n/fsamp)+sin(40*pi*n/fsamp)+5*sin(60*pi*n/fsamp)+rand(1,N);
rp=0.5;
wp=2*pi*20;
rs=50;
ws1=2*pi*30;
ws2=2*pi*10;
[Nf,WC]=buttord([2*pi*15 2*pi*25],[ws2 ws1],rp,rs,'s');
[num,den]=butter(Nf,WC,'bandpass','s');
[BZ,AZ]=impinvar(num,den,fsamp);
freqz(BZ,AZ,8192,fsamp);
y=filter(BZ,AZ,x);
%滤波后时域图
figure(1)
plot(y);
%滤波后频域图
figure(2)
plot(((-200:199)*fsamp)/N,20*log10(fftshift(abs(fft(y)))));
%做后发现你说的是FIR的频率采样法,由于时间关系,你自己看数字信号处理书吧,比这个IIR更简单,就一两条指令,如果还是困难,有时间我再帮你看吧
 
 
展开全文阅读
剩余:2000
上一页:hfftbjhg