1、滤波器设计与实现数字信号处理课程设计报告 设计课题 滤波器设计与实现 专业班级 姓 名 学 号 报告日期 2012年11月 数字信号处理课程设计任务书题 目滤波器设计与实现学生姓名学号专业班级设计内容与要求一、设计内容:产生包含三个正弦成分(120hz,80hz,20hz)的信号,设计滤波器去除120hz,20hz成分,保留800hz信号。采样频率500hz,通带衰减为1dB,阻带最大衰减10dB。 二、设计要求1 设计报告一律按照规定的格式,使用A4纸,格式、封面统一给出模版。2 报告内容 (1)设计题目及要求(2)设计原理 (包括滤波器工作原理、涉及到的matlab函数的说明)(3)设计内
2、容(设计思路,设计流程、仿真结果)(4)设计总结(收获和体会) (5)参考文献 (6)程序清单起止时间2012年 12 月 3日 至 2011年 12月11 日指导教师签名2011年 12月 2日系(教研室)主任签名年 月 日学生签名年 月 日 目 录1课题描述 2脉冲响应不变法设计原理3 方案设计及分析4总结与体会5参考文献1课题描述摘要:IIR 滤波是数字信号处理领域中最基本的一种处理方法,已广泛应用于通信等众多领域。目前,数字滤波器的设计常借助计算机,利用MATLAB 软件来实现。采用MATLAB 函数直接设计法、脉冲响应不变法及双线性变换法等3 种不同方法快速有效地完成了对IIR 数字
3、带通切比雪夫I 型滤波器的设计,并实现了结果的仿真。随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。在数字信号处理中起着重要作用并已获得广泛应用的是数字滤波器(DF,Digital Filter)。IIR 滤波是数字信号处理领域中最基本的一种处理方法,已广泛应用于通信等众多领域。IIR 滤波器可用较低的阶数获得较高的选择性,不但所用的存储单元少而且经济高效。目前,数字滤波器的设计常借助计算机,利用MATLAB 软件来实现。MATLAB 自带的信号处理工具箱(signal processingtoolbox)具有强大的信号处理和分析功能,其中自带了许多函数,可以
4、快速有效地实现数字滤波器的设计与仿真。本文介绍了IIR数字滤波器的设计方法,以MATLAB7.0 为设计平台,根据指定指标进行IIR 数字带通切比雪夫型滤波器的设计。数字滤波器(DF)是数字信号处理的重要基础,在对信号的过滤、检测与参数估计等处理过程中,它是使用最为广泛的一种新型系统。数字滤波器是指完成信号滤波处理功能的、用有限精度算法实现的离散时间线性非时变系统。其输入是一组由模拟信号取样和量化的数字量,其输出是经过数字变换的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。IIR 滤波器是一类新的LTI系统,这类系统有无限持续时间的冲击响应,因此,这类系统通常叫作无限冲激响
5、应(IIR)系统或者IIR 滤波器。2脉冲响应不变法设计原理1. 利用巴特沃思模拟滤波器,通过脉冲响应不变法设计巴特沃思数字滤波器,数字滤波器的技术指标为采样周期为T=2程序代码T=2; %设置采样周期为2fs=1/T; %采样频率为周期倒数Wp=0.25*pi/T; Ws=0.35*pi/T; %设置归一化通带和阻带截止频率Ap=20*log10(1/0.9);As=20*log10(1/0.18); %设置通带最大和最小衰减 N,Wc=buttord(Wp,Ws,Ap,As,s); %调用butter函数确定巴特沃斯滤波器阶数B,A=butter(N,Wc,s); %调用butter函数设
6、计巴特沃斯滤波器W=linspace(0,pi,400*pi); %指定一段频率值 hf=freqs(B,A,W); %计算模拟滤波器的幅频响应 subplot(2,1,1);plot(W/pi,abs(hf)/abs(hf(1); %绘出巴特沃斯模拟滤波器的幅频特性曲线 grid on;title(巴特沃斯模拟滤波器);xlabel(Frequency/Hz);ylabel(Magnitude);D,C=impinvar(B,A,fs); %调用脉冲响应不变法 Hz=freqz(D,C,W); %返回频率响应 subplot(2,1,2);plot(W/pi,abs(Hz)/abs(Hz(1
7、); %绘出巴特沃斯数字低通滤波器的幅频特性曲线 grid on;title(巴特沃斯数字滤波器);xlabel(Frequency/Hz);ylabel(Magnitude);进行试验输出图像:2. 利用脉冲响应不变法设计巴特沃思数字高通滤波器,数字滤波器的技术指标为采样周期为T=1,比较当T分别为0.01,0.1,0.25,0.5,0.8是的数字滤波器的频率响应,观察是否能够通过改变采样周期来减少滤波器设计中的频谱混叠。程序代码T=1; %设置采样周期为1fs=1/T; %采样频率为周期倒数Wp=0.75*pi/T; Ws=0.65*pi/T; %设置归一化通带和阻带截止频率Ap=20*l
8、og10(1/0.9);As=20*log10(1/0.18); %设置通带最大和最小衰减 N,Wc=buttord(Wp,Ws,Ap,As,s); %调用butter函数确定巴特沃斯滤波器阶数B,A=butter(N,Wc,high,s); %调用butter函数设计巴特沃斯滤波器W=linspace(0,pi,400*pi); %指定一段频率值 hf=freqs(B,A,W); %计算模拟滤波器的幅频响应 subplot(2,1,1);plot(W/pi,abs(hf); %绘出巴特沃斯模拟滤波器的幅频特性曲线 grid on;title(巴特沃斯模拟滤波器);xlabel(Frequen
9、cy/Hz);ylabel(Magnitude);D,C=impinvar(B,A,fs); %调用脉冲响应不变法 Hz=freqz(D,C,W); %返回频率响应 subplot(2,1,2);plot(W/pi,abs(Hz); %绘出巴特沃斯数字高通滤波器的幅频特性曲线grid on;title(巴特沃斯数字滤波器);xlabel(Frequency/Hz);ylabel(Magnitude);进行试验输出图像如下:3 方案设计及分析程序设计ft=500;fpl=60;fph=95;wp1= fpl *2*pi; %临界频率采用模拟角频率表示wph= fph*2*pi; %临界频率采用模
10、拟角频率表示wp= wp1,wph;wpb=wp/ ft; %求数字频率rp=1;rs=10;fsl=40;fsh=110;ws1= fsl *2*pi; %临界频率采用模拟角频率表示wsh= fsh *2*pi; %临界频率采用模拟角频率表示ws= ws1, wsh;wsb=ws/ ft; %求数字频率OmegaP=2* ft *tan(wpb/2);%频率预畸OmegaS=2* ft *tan(wsb/2);%频率预畸 %选择滤波器的最小阶数n,Wn=buttord(OmegaP,OmegaS, rp, rs,s); %此处是代入经预畸变后获得的归一化模拟频率参数bt,at=butter(
11、n,Wn,s); % 设计一个n阶的巴特沃思模拟滤波器bz,az=bilinear(bt,at, ft); %双线性变换为数字滤波器H,W = freqz(bz,az); %求解数字滤波器的频率响应figure(2);plot(W*ft/(2*pi),abs(H);grid; xlabel(频率/Hz);ylabel(幅值); 设计带通滤波器的程序滤波器幅频响应图象t=(1:100)/500;x=sin(2*pi*20*t)+sin(2*pi*80*t)+sin(2*pi*120*t);输入3频率正弦信号q=filter(bz,az,x); plot(t,q);滤波后的图象y=sin(2*pi
12、*80*t);plot(t,y);grid;80hz正弦信号4 总结与体会巴特沃思数字滤波器的实现虽然比较简单、应用比较广泛,但其本身也有缺陷如从通带到阻带的衰减较慢等。本文介绍的巴特沃思数字滤波器的设计方法也可以类似地应用于切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等其他常用滤波器的设计,所以根据滤波器设计需要和各种类型滤波器的优缺点,合理地选择滤波器的类型,最终可以达到所需滤波器的最优化设计。本人用脉冲响应不变法设计的滤波器 不能很好地滤掉120hz的频率,高频坡度太缓。修改参数也不行。我认为是脉冲响应不变法的一些缺陷造成的。由于数字信号设计学的不是很好,matlab编程不熟悉,设计这个滤波器很是麻烦,中间有很多的问题,好多都是参考的网上的资料和信息。参考文献 数字信号处理 高西全 丁玉美 编著
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1