1 软件基础
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB在数学类科技应用软件中在数值计算方面首屈一指,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
2简单易用的程序语言
3强大的科学计算机数据处理能力
4出色的图形处理功能
5应用广泛的模块集合工具箱
2 数字滤波器的基本概念
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,Digital Filter),根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应IIR(Infinite Impulse Response)滤波器和有限冲激响应FIR(Finite Impulse Response)滤波器。与FIR滤波器相比,IIR的实现采用的是递归结构,极点须在单位圆内,在相同设计指标下,实现IIR滤波器的阶次较低,即所用的存储单元少,从而经济效率高。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。数字滤波器也是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基木工作原理是利用离散系统特性对系统输人信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与I两个电平状态)、灵活性强等优点。
滤波器的种类很多,从功能上可分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器两种形式。如果滤波器的输人和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。
不同滤波器的传输特性分别为:
低通滤波器:
带通滤波器:
高通滤波器:
带阻滤波器:
实际中通常使用的数字滤波器属于一般选频滤波器。射数字滤波器传输函数为表示如下:。式中称为幅频特性,称为相频特性。幅频特性表示信号通过滤波器后个频率成分的衰减情况,而相频特性反映各频率成通过滤波器后的延时情况。一般选频滤波器的技术要求由幅频特性给出,但如果对输出波形有要求,则需考虑提出指标的选频滤波器的设计。
通常用和分别表示通带截止频率和阻带截止频率,它们都是数字频域。在通带内,幅度响应以为误差,且逼近1。~称为过渡带。在阻带内,幅度响应应以小于而逼近0为误差。通带和阻带内允许的衰减一般用dB数表示,通带内允许最大衰减用表示,阻带内允许最小衰减用表示。当幅度下降到0.707时,,此时=3dB,称为3dB通带截止频率。
3 数字滤波器设计的基本步骤
数字滤波器的设计是用有限精度算法来实现的,是线性非移变系统,一般的设计内容和步骤如下:
1根据实际需要去诶的那个数字滤波器的技术指标,例如滤波器的频率响应的幅度特性和截止频率等。
2用一个因果稳定的离散线性非移变系统的系统函数去逼近这些性能指标。具体来说,就是用这些指标来计算系统函数。
3利用有限精度算法来实现这个系统函数,包括选择运算结构、进行误差分析和选择适合字长等。
4数字滤波器的实现技术包括采用通用的计算机软件或专用的数字滤波器硬件来实现,以及采用通用或专用的数字信号处理器来实现。
以上步骤的结果得到的滤波器,通常是以差分方程、系统函数或脉冲响应描述的。根据这个描述就可以分析其频率特性和相位特性、以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
另外,根据数字滤波器的设计方法,要先设计出模拟滤器,模拟滤波器的理论和设计方法已经发展的相当成熟,切有若干典型的模拟滤波器可供选择,例如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等。这些典型的滤波器各有特点:巴特沃斯滤波器具有通带内最平坦且单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带或阻带内有波动,可以提高选择性;贝塞尔滤波器通带内具有较好的线性相位特性;而椭圆滤波器的选择性相对于前三种是最好的。
4 设计程序
4.1 ellip函数法
MATLAB信号处理工具箱提供了各种滤波器设计函数及滤波器实现函数, Ellip是完全设计函数之一,其调用格式为[b,a]=ellip(n,Rp,Rs,Wn,Options),n为滤波器阶数,Rp表示通带波纹最大衰减,Rs表示阻带波纹最小衰减,Wn为滤波器的归一化截止频率(Nyquist频率为1Hz);函数默认为低通或带通滤波器:低通滤波器时,Wn为截止频率;带通滤波器时,截止频率Wn=[W1,W2]。a分别为滤波器传递函数分子和分母系数向量;options为滤波器类型参数:high为高通滤波器,截止频率为Wn;stop为带阻滤波器,截止频率Wn=[W1,W2]。
按照要求产生一个4阶IIR带通滤波器,通带为300Hz到700Hz,并得出其幅频响应,程序如下:
Fs=1000
[b,a]=ellip(4,0.1,40,[300,700]/Fs);
[H,w]=freqz(b,a,512);
plot(w*Fs/(2*pi),abs(H));
title('IIR带通滤波器幅频响应');
set(gcf,'color','white');
xlabel('频率(Hz)');
ylabel('幅度(DB)');
grid on;
所得幅频特性曲线如图所示:
图4.1.1 ellip函数所得滤波器特性曲线
图形分析:根据图形可以看出,带宽为400Hz,通带频率为300到700Hz,中心频率为500Hz。符合设计要求。图形上的过渡带比较陡峭,但在实际设计中可能达不到这样的效果。
4.2 切比雪夫滤波器
切比雪夫滤波器的特点是幅度特性具有等波纹的特点,它有两种类型,一种是通带内为等波纹,在阻带内是单调的,称为切比雪夫I型;另一种在通带内为单调,阻带内为等波纹,称为切比雪夫II型。I型滤波器的幅度平方函数可以写成:
为小于1的正数,是与通带波纹有关的参量,越大通带波动越大。为的归一化频率。
按照要求,利用切比雪夫函数来设计滤波器,程序如下:
wp1=0.3*pi; wp2=0.7*pi;
ws1=0.2*pi; ws2=0.8*pi;
Rp=1; Rs=40;
Wp1=tan(wp1/2); Wp2=tan(wp2/2);
Ws1=tan(ws1/2); Ws2=tan(ws2/2);
BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);
WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);
[N,Wn]=cheb1ord(WP,WS,Rp,Rs,'s');
[B,A]=cheby1(N,Rp,Wn,'s');
[BT,AT]=lp2bp(B,A,W00,BW);
[num,den]=bilinear(BT,AT,0.5);
[h,omega]=freqz(num,den,64);
stem(omega/pi,abs(h));
xlabel('\omega/\pi');ylabel('|H(z)|');
grid on
利用切比雪夫函数所得滤波器的幅频特性曲线如图所示:
图4.2.1 利用切比雪夫函数所得滤波器幅频特性曲线
图形分析:根据图形可以看出,带宽为400Hz,通带频率为300到700Hz,中心频率为500Hz。符合设计要求。图形上的通带内是等波纹,阻带内是单调的,这显然符合切比雪夫I型滤波器的特点。
4.3双线性变换
上述程序中还利用了双线性变化原理将模拟滤波器变换成数字滤波器。其变换原理为:首先把整个s域平面压缩到某一中介的s1平面的一条横线带里(宽度为2/T,即从-/T到/ T),其次再通过标准变化关系将此横带变化到整个z平面上去,这样就使s平面与z平面形成一一对应的关系,消除了多值变换性,也就从根本上消除了频谱混叠现象。
5 设计总结
本文提出关于滤波器的设计可以充分地利用MATLAB信号处理工具箱(实际上,MATLAB针对许多不同的专门领域开发了功能强大的工具箱,利用这些工具箱提供的函数,用户可以快速地解决该领域的许多问题),可直接得到符合要求的带通滤波器。
基于MATLAB的信号处理工具箱(Signal Processing Toolbox)的SPTool工具可以更快速有效地设计由软件组成的常规数字滤波器,设计方便、快捷,大大减轻了工作量。在设计过程中可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。滤波器的设计工作完成后,可以借助MATLAB中的export操作导出所设计滤波器的系统函数H(z)。由于MATLAB具有强大的接口功能,仿真后的结果可以很方便的移植到DSP、CPLD或FPGA等器件中,在此不做过多的阐述了。
另外,根据数字滤波器的设计方法,要先设计出模拟滤器,模拟滤波器的理论和设计方法已经发展的相当成熟,切有若干典型的模拟滤波器可供选择,例如巴特沃斯滤波器、切比雪夫滤波器等。本文直接利用切比雪夫波器来设计符合要求的滤波器。
6心得体会
通过这次课程设计,加强了我们动手、思考和解决问题的能力。
在设计过程中,经常会遇到这样那样的情况,就是心里想着这样的程序可以行得通,但实际接上总是实现不了,因此耗费在这上面的时间用去很多。
我觉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。
平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如一些芯片的功能,通过动手实践让我们对各个元件映象深刻。所以这个课程设计对我们的作用是非常大的。
设计程序时,我发现只有细心才能做到完美,首先是参数设置,还有图表显示部分的设置,兼顾到方方面面去考虑是很需要的,否则只是一纸空话。
同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。某个人的离群都可能导致导致整项工作的失败。课程设计中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们实习成功的一项非常重要的保证。而这次实习也正好锻炼我们这一点,这也是非常宝贵的。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
参考文献
[1] 刘波.MATLAB信号处理.北京:清华大学出版社,2001
[2] 楼顺天.基于MATLAB的系统分析与设计.西安:西北工业大学出版社,2004
[3] 张葛祥. MATLAB仿真技术与应用.北京:清华大学出版社,2004
[4] 刘泉.数字信号处理原理与实现.北京:电子工业出版社,2005
[5] 陈希林.数字信号处理、理论、算法与实现.北京:高等教育出版社,2004
数字信号处理大作业
一、 目的
1.使学生增进对MATLAB的认识,加深对数字信号处理理论方面的理解。
2.使学生掌握数字信号处理中IIR和FIR滤波器的设计。
3.使学生了解和掌握用MATLAB实现IIR和FIR滤波器的设计方法、过程,为以后的设计打下良好基础。
二、说明及要求
1.学生可以自选题目。
2.要达到的结果:要求写出详细报告,在报告中写出源程序、并附上综合结果和仿真波形等。
三、过程
1.选择题目:根据自己掌握的情况选择合适的题目。要求IIR滤波器的设计中,模拟滤波器的设计选择一个,数字滤波器的设计选择一个;FIR滤波器的设计中,窗函数选择一个;频谱分析题为必做内容。
2.技术参数设定:选定所要设计的某种类型的滤波器后,自己设定相应的技术参数。
3.Matlab程序设计。
4.得出结果和仿真波形。
5.总结:对以上各设计步骤写出详细的设计报告,存在什么问题,如何解决。
四、数字信号处理课程设计参考题目
1.IIR(无限脉冲响应)模拟滤波器设计
(1)模拟低通滤波器设计
(2)模拟高通滤波器设计
(3)模拟带通滤波器设计
(4)模拟带阻滤波器设计
从以上四个题目中任选一个。对于滤波器的类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等)。
技术指标:自拟
总体要求:Matlab原程序+仿真波形+技术指标
2.IIR(无限脉冲响应)数字滤波器设计
(1)IIR数字低通滤波器设计
(2)IIR数字高通滤波器设计
(3)IIR数字带通滤波器设计
(4)IIR数字带阻滤波器设计
从以上四个题目中任选一个。对于滤波器的类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等)。
总体要求:Matlab原程序+仿真波形+技术指标
技术指标::自拟
3.FIR(有限脉冲响应)数字滤波器设计
(1)基于矩形窗的FIR滤波器设计
(2)基于汉宁窗(升余弦窗)的FIR滤波器设计
(3)基于汉明窗(改进的升余弦窗)的FIR滤波器设计
(4)基于布莱克曼窗(三阶升余弦窗)的FIR滤波器设计
(5)基于凯塞窗的FIR滤波器设计
从以上五个题目中任选一个。
总体要求:Matlab原程序+仿真波形+技术指标+窗函数
技术指标:自拟
4、利用FFT进行频谱分析。
设一序列中含有三种频率成分,f1=2Hz,f2=2.05Hz,f3=1.9Hz,采样频率为fs=10Hz,序列:分别取N1=64,N2=128点有效数据作频谱特性分析,分别在四个图形窗口绘出x(n), X(k)64点DFT,X(k)补零到128点DFT,X(k)128点DFT。比较得出在哪种情况下可以清楚地分辨出信号的频谱成分。
此题目为必做内容。
五、数字信号处理课程设计环节参考资料及网站:
1.参考资料
(1)数字信号处理,高西全,电子工业出版社
(2)应用MATLAB实现信号分析和处理,张明照,科学出版社
(3)数字信号处理及MATLAB实现,余成波,清华大学出版社
(4)MATLAB7.0在数字信号处理中的应用,罗军辉,机械工业出版社
(5)MATLAB信号处理,刘波,电子工业出版社
(6)Matlab信号处理与应用,董长虹,国防工业出版社
(7)数字信号处理原理及其MATLAB实现,从玉良,电子工业出版社
(8)数字信号处理基础及MATLAB实现,周辉,中国林业出版社
2.相关网站
Matlab学习网
六、设计报告要求
1.设计报告一律按照规定的格式,使用A4纸,格式、封面统一给出模版。
2.报告内容
(1)设计题目
(2)设计要求
(3)设计原理
(4)源程序清单
(5)设计结果和仿真波形
(6)收获和体会
(7)参考文献
字数要求不少于2000字。
七、成绩评定办法
1.要求设计的程序和波形、设计报告必须独立完成,鼓励创新。 注意:凡是两份完全一样的设计,两人都按不及格处理。
2.设计报告交打印件,内容必须齐全、完整、工整。
注意:仿真波形图不准手画,必须是从原图中抓取。
一课程设计综合实验的目的与要求目的与要求1掌握数字信号处理基础课程的基本理论2掌握应用MATLAB进行数字信号处理的程序设计实验内…
福州大学至诚学院Matlab实践报告专业电子科学与技术班级08级1班姓名黄来奋学号210891205指导老师周老师20xx年5月2…
课程设计报告课程名称课题名称专业通信工程班级学号姓名指导教师20xx年12月25日湖南工程学院课程设计任务书课程名称数字信号处理课…
江南大学物联网工程学院课题数字信号处理综合设计报告设计题目信号处理系统综合设计专业通信工程班级通信0902姓名吴磊学号07020x…
数字信号处理课程设计报告班级电信0803班学号成绩设计一正余弦信号的谱分析一设计目的1用DFT实现对正余弦信号的谱分析2观察DFT…
青岛科技大学数字信号分析及数字滤波器设计题目张淑军指导教师刘云生学生姓名1108020xx0学生学号信息与科学技术学院信息工程11…
中南大学数字信号处理课程设计报告专业班级通信工程1201指导老师李宏姓名学号完成日期20xx年10月18日前言现代信号处理是将信号…
中南大学现代信号处理课程设计报告专业班级指导老师姓名学号目录1课程设计要求2设计过程A总体设计构成及界面1主界面2子界面B具体题目…
一课程设计综合实验的目的与要求目的与要求1掌握数字信号处理基础课程的基本理论2掌握应用MATLAB进行数字信号处理的程序设计实验内…
数字信号处理课程设计报告基于matlab的时域采样理论研究及实现专业通信工程班级通信11级组次第3组姓名及学号汪志发20xx013…
数字信号处理课程设计报告题目语音信号频谱分析仪的设计20xx年1月7日目录1课程设计目的及意义12课程设计题目描述要求及理论基础1…