sdf4940 发表于 2010-2-4 19:27

IIR椭圆带通滤波 频带设置问题 附完整简洁的程序和问题描述

%需求描述:设计一个0.5-30HZ的带通滤波器
%问题描述:原应出现0.5-30HZ内的5条谱线,实际上一条也没出现,如图所示。

clc;
clear all;
fs=512;% 采样频率(HZ)


%%%%%%%%%%%%%%%%%%%%%%%%%%
%我认为以下4行代码是问题关键,但不知如何设置才满足0.5-30HZ的滤波需求。

wp1=0.5;%允许最低频率(角频率)
wp2=30;%允许最高频率(角频率)
ws1=0.1; %最低截止频率(角频率)
ws2=31;%最高截止频率(角频率)

%%%%%%%%%%%%%%%%%%%%%%%%%



wp=;
ws=;
rp=2 ;%波纹系数
rs=60 ;%波纹系数
=ellipord(wp/(fs/2),ws/(fs/2),rp,rs) ;%获取固有频率和阶
=ellip(n,rp,rs,wn) ;%返回传递函数参数
%freqz(b,a,512,1000);%1000是频率点数
=freqz(b,a);
figure(1);
plot(w*fs/(2*pi),abs(h));grid;%频率响应
xlabel('频率响应')
t=;

%这是待滤波信号,全由简单的正弦谐波构成。
y1=sin(t)+sin(10*t)+sin(20*t)+sin(30*t)+sin(100*t)+sin(200*t);


y=filter(b,a,y1) ;%用椭圆滤波器滤波,y为滤波后的结果
z=fft(y);
N=length(t);
Fs=512;
%f0=1/(2*pi);
F=()*Fs/N;
out=abs(z);
figure(2)
plot(F(1:N/4),out(1:N/4));
xlabel('HZ')

[ 本帖最后由 sdf4940 于 2010-2-4 19:28 编辑 ]
页: [1]
查看完整版本: IIR椭圆带通滤波 频带设置问题 附完整简洁的程序和问题描述