数字滤波器设计实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字滤波器设计实验报告

实验目的

研究数字滤波器的设计思想,理解数字频域,模拟频域的关系,掌握数字系统处理模拟信号的方法。

FIR数字滤波器设计:掌握窗函数设计FIR数字滤波器的方法,理解FIR 的意义:线性相位。

1、实验原理

1、FIR的特点

(1)系统的单位冲击响应在有限个n值处不为零。

(2)对于稳定系统,系统函数在| z |>0处收敛,极点全部在z=0处。(3)结构上主要是非递归结构,没有输出到输入的反馈,但在个别结构中(如频率抽样结构)也包含反馈的递归部分‘

2、FIR滤波器的优点

(1)即具有严格的线性相位,又具有任意的幅度’

(2)FIR滤波器的抽样响应是有限长的,因而滤波器的性能稳定。

(3)只要经过一定的延时,任何非因果的有限长序列都能变成有限长的因果的序列,因而能用因果系统来实现。

(4)FIR滤波器单位冲击响应是有限长的,因而可以进行快速傅立叶变换,提高运算效率。

3、用窗函数设计FIR数字滤波器

对函数加窗处理,实际是用一个有限长函数来逼近原函数。常用的窗函数有矩形窗、三角窗,汉宁窗、海明窗、布莱克曼窗、凯撒窗等。

2、实验要求

1、设计FIR数字低通滤波器,要求在不同窗口长度(N=15,33)下,分别求出h(n),画出相应的幅频特性和相频特性曲线,观察3dB带宽和20dB带宽,总结窗口长度N对滤波特性的影响。

2、对三个拟合三角函数进行滤波处理。

3、对含噪心电信号函数进行滤波处理。

3、实验内容

1、不同窗函数长度对于滤波特性的影响

fs=100,N=32;

n=0:N-1;t=n/fs;

f0=n*fs/N;

y=exp(-2*t);

z=fft(y);m=abs(z);

w1=blackman(N);

z1=w1'.*y;

x1=fft(z1),mo1=abs(x1);

subplot(1,2,1);

plot(f0,m/fs);

subplot(1,2,2);

plot(f0,mo1/fs)

运行结果

改变N值,令N=14,得到结果

2、对三个拟合三角函数进行滤波

clear;fs=2000;t=(1:1000)/fs;

x=10*cos(2*pi*30*t)+cos(2*pi*150*t)+5*cos(2*pi*600*t); L=length(x);N=2^(nextpow2(L));Hw=fft(x,N);

figure(1);subplot(2,1,1);plot(t,x);

grid on;title('滤波前信号x');xlabel('时间/s');% 原始信号

subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw));% 查看信号频谱

grid on;title('滤波前信号频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');

%% x_1=10*cos(2*pi*30*t)

Ap=1;As=60;% 定义通带及阻带衰减

dev=[(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量

mags=[1,0];% 低通

fcuts=[60,100];% 边界频率

[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh1=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计

x_1=filter(hh1,1,x);% 滤波

x_1(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分

L=length(x_1);N=2^(nextpow2(L));Hw_1=fft(x_1,N);

figure(2);subplot(2,1,1);plot(t(1:L),x_1);

grid on;title('x_1=10*cos(2*pi*30*t)');xlabel('时间/s');

subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_1));% 查看信号频谱

grid on;title('滤波后信号x_1频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');

%% x_2=cos(2*pi*150*t)

Ap=1;As=60;% 定义通带及阻带衰减

dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量

mags=[0,1,0];% 带通

fcuts=[80,120,180,220];% 边界频率

[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh2=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计

x_2=filter(hh2,1,x);% 滤波

x_2(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分

L=length(x_2);N=2^(nextpow2(L));Hw_2=fft(x_2,N);

figure(3);subplot(2,1,1);plot(t(1:L),x_2);

grid on;title('x_2=cos(2*pi*150*t)');xlabel('时间/s');

subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_2));% 查看信号频谱

grid on;title('滤波后信号x_2频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');

%% x_3=5*cos(2*pi*600*t)

Ap=1;As=60;% 定义通带及阻带衰减

dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1)];% 计算偏移量

mags=[0,1];% 高通

fcuts=[500,550];% 边界频率

[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数

相关文档
最新文档