数字信号处理课程设计(1)MATLAB实现
更新时间:2023-09-15 19:21:01 阅读量: 高中教育 文档下载
- 数字信号处理课程设计总结推荐度:
- 相关推荐
数字信号处理课程设计报告
选题名称: IIR滤波器分析与设计 系(院): 计算 机 工 程 学 院 专 业: 通信工程 班 级: 姓 名:学 号: 指导教师:
学年学期: 2010 ~ 2011 学年 第 1 学期
2011 年 01 月 08 日
摘要:
随着社会的进步,数字信号处理技术也在飞跃的发展,作为通信工程的学生要对数字信号有更深一层的理解,本次要做的课程设计就是用MATLAB做滤波器的设计,这次课程设计是检验本学期学习的数字信号处理这门课,加深了对滤波器设计原理以及实现方法的理解。常用的设计低通滤波器的方法有脉冲响应不变法以及双线性法,这两种方法都有各自的优缺点,可以通过编写MATLAB程序观察他们的幅度特性,相位特性,以及更高一层次的就是用自己设计的滤波器来实现数字滤波。现在也有相当成熟的滤波器设计模型,如巴特沃斯,以及切比雪夫滤波器。通过设计界面,编写函数,最终还可以达到可以将自己录制的声音加载到设计的滤波器中,听滤波前后的声音的变化,这种更加直观的感受滤波器的效果的方法,而此次设计的滤波器在现实当中以用也是相当广范的,这也是学习数字信号处理这门课程,以及掌握滤波器设计方法的现实所在。
关键词:数字信号;脉冲响应不变法;双线性法;数字滤波
目 录
1 课题综述......................................................... 1
1.1 课程设计的意义 ........................................................ 1 1.2 课程设计的目的 ........................................................ 1 1.3 课程设计面对的问题以及关键技术 ........................................ 1
2 系统分析......................................................... 2
2.1 整体分析 ............................................................... 2 2.2脉冲响应不变法 ......................................................... 2 2.3双线性变换法的基本原理 ................................................. 3 2.4 巴特沃斯滤波器 ......................................................... 5 2.5 切比雪夫滤波器 ......................................................... 5 2.6 总体设计图 ............................................................. 5
3 代码编写.......................................................... 6
3.1 显示幅度谱函数IIR_DISPMAG() ........................................... 7 3.2 创建滤波器IIR_CREATEFILTER() .......................................... 7 3.3 显示相位谱函数IIR_DISPANGLE() ......................................... 8 3.4 显示零极点图函数IIR_DISPZPLANE() ...................................... 8 3.5 选择波形文件IIR_GETWAVFILE() .......................................... 8 3.6 播放原始文件IIR_PLAYORG ............................................... 9 3.7 播放时滤波后文件IIR_PLAYMOD ........................................... 9
4 代码的运行与调试.................................................. 9 5 软件运行与测试.................................................... 9 总结............................................................... 12 致谢............................................................... 13 参考文献........................................................... 14
设计任务书
课题 名称 IIR滤波器分析与设计 1. 理解并掌握无限脉冲响应数字滤波器(IIR)的机理,分析IIR滤波器的结构特性,观察IIR滤波器的频域特性; 设计 2. 学习IIR数字滤波器的三种典型的设计方法,并观察、比较设计结果; 目的 3. 熟悉IIR数字滤波器的计算机编程; 4. 加深对课堂知识的理解与灵活应用,学习开发资料的收集与整理,学会撰写课程设计报告。 ; 实验 1. 微型电子计算机(PC)环境 2. MATLAB 6.5或Visual C++ 6.0等开发环境。 1. 利用课余时间查阅课题相关资料,深入理解课题含义及设计要求; 2. 在第18周完成预设计,并请指导教师审查,通过后方可进行下一步工作; 任务 3. 按指导书要求设计软件; 要求 4. 要求形成稳定的程序软件,可以运行,方可申请答辩; 5. 结束后,及时提交课程设计报告(含纸质稿、电子稿)。 工作进度计划 序号 1 2 3 4 起止日期 2011.01.03~2011.01.03 工 作 内 容 在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。 2011.01.04~2011.01.05 设计总体方案,绘制流程框图,编写代码,上机调试。 2011.01.06~2011.01.07 测试程序,优化代码,增强功能,撰写设计报告。 2011.01.08~2011.01.08 提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计报告。 指导教师(签章): 年 月 日
数字信号处理课程设计报告
1 课题综述
数字滤波器是数字信号处理理论的一部分。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。
1.1 课程设计的意义
《数字信号处理》课程设计是在学生完成数字信号处理和MATLAB的结合后的基本实验以后开设的。本课程设计的目的是为了让学生综合数字信号处理和MATLAB并实现一个较为完整的小型滤波系统。这一点与验证性的基本实验有本质性的区别。开设课程设计环节的主要目的是通过系统设计、软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平。
1.2 课程设计的目的
1. 理解并掌握无限脉冲响应数字滤波器(IIR)的机理,分析IIR滤波器的结构特性,观察IIR滤波器的频域特性;
2. 学习IIR数字滤波器的三种典型的设计方法,并观察、比较设计结果; 3. 熟悉IIR数字滤波器的计算机编程;
4. 加深对课堂知识的理解与灵活应用,学习开发资料的收集与整理,学会撰写课程设计报告。
1.3 课程设计面对的问题以及关键技术
本次课程设计是用MATLAB软件来实现的,所以第一个需要解决的问题就
是如何把自己的思想转化为MATLAB语言,但是在这次的课程设计中要感谢我们的老师,因为他已经将大部分的代码提供给我们了。本次设计的关键技术就是脉冲响应不变法以及双线性法的函数调用以及求极点,零点的Z变换函数调用。
1
数字信号处理课程设计报告
最后就是如何实现语音信号的数字滤波。
2 系统分析
2.1 整体分析
利用模拟滤波器设计数字滤波器,就是从已知的模拟滤波器系统函数Ha(s)设计数字滤波器系统函数H(z),这归根到底是一个由S平面到Z平面的变换,这种映射变换应遵循两个基本原则:
1)H(z)的频响要能与Ha(s)的频响保持一致,即S平面的虚轴应映射到Z
平面的单位圆上。
2)Ha(s) 的因果稳定性映射成 H(z)后保持不变,即S平面的左半平面 Re{S}
<0 应映射到Z平面的单位圆以内|Z|<1。
所以滤波器的设计就是在给定了滤波器的技术指标后,确定滤波器的阶数N和系数和系数{ai,bi}。在满足技术指标的条件下,滤波器的阶数应尽可能低,因为滤波器的阶数越低,实现滤波器的成本就越低。
2.2脉冲响应不变法
脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)正好等于模拟滤波器的冲激响应ha(t)的采样值,即h(n)=ha(nT), T为采样周期。
如以 Ha(s) 及 H(z)分别表示 ha(t) 的拉氏变换及 h(n) 的 Z 变换,即 Ha(s)=L[ha(t)] , H(z)=Z[h(n)]
计算 H(Z) :
脉冲响应不变法特别适用于用部分分式表达系统函数,模拟滤波器的系统函
数若只有单阶极点,且分母的阶数高于分子阶数 N>M,则其拉氏反变换为:
ha(t)??Aiesitu(t),i?1N u(t) (2.2.1)
单位阶跃对ha(t)采样得到数字滤波器的单位脉冲响应序列
h(n)?ha(nT)??Aiei?1NsinT u(n)??Ai(esiT)nu(n) (2.2.2)
i?1N再对h(n)取Z变换,得到数字滤波器的传递函数:
2
数字信号处理课程设计报告
H(z)???Aien?0i?1?NsinTz?n ??Ai?(esiTz?1)n (2.2.3)
i?1n?0N?
1?(esiTz?1)ksiT?1k第二个求和为等比级数之和,要收敛的话, si T ?1 k ? ? 必有 (ez)k???0,1?ez所以有H(z)??Ai (2.2.4) siT?1zi?11?eN根据理想采样序列拉氏变换与模拟信号拉氏变换的关系
?12???(s)??H? Hs?jm? (2.2.5)?aaTm????T?以上表明,采用脉冲响应不变法将模拟滤波器变换为数字滤波器时,它所完成的 S 平面到 Z 平面的变换,正是拉氏变换到Z变换的标准变换关系,即首先对Ha(s)作周期延拓,然后再经过z=est的映射关系映射到 Z 平面上。 稳定性:
如果模拟滤波器是稳定的,则所有极点 si 都在s左半平 面,即 Re[si]<0 , 那么变换后H(Z)的极点e也都在单位圆以内,即:字滤波器保持稳定。
st
esiT?eRe(si)T?1因此数
2.3双线性变换法的基本原理
脉冲响应不变法使得数字滤波器在时域上能够较好的模仿模拟滤波器,但是
sTz?e由于从S平面到Z平面的映射具有多值性,使得设计出来的数字滤波器不
可避免的出现频谱混迭现象。为了克服脉冲响应不变法可能产生的频谱混跌效应的缺点,我们使用一种新的变换双线性变换。双线性变换法可认为是基于对微分方程的积分,利用对积分的数值逼近的道德。 仿真滤波器的传递函数H(s)为
H(s)??cskk?0Nkk?1Mk,M?Nk?ds (2.2.5)
将展开为部份分式的形式,并假设无重复几点,则
3
数字信号处理课程设计报告
H(s)??Akk?1s?spkN (2.2.6)
那么,对于上述函数所表达的数字信号处理系统来讲,其仿真输入x(t)和模拟输出y(t)有如下关系
y?(t)?spy(t)?Ax(t) (2.2.7)
利用差分方程来代替导数,即
y?(t)?y(n)?y(n?1)T (2.2.8)
同时令
y(t)?11x(t)??x(n)?x(?n?1)?y(n)?y(n?1)?22
这样,便可将上面的微分方程写为对应的差分方程形式
s1A?y(n)?y(n?1)??p?y(n)?y(n?1)???x(n)?x(n?1)?T22 (2.2.9)
两边分别取z变换,可得
H(z)?Y(z)A?X(z)21?z?1??spT1?z?1 (2.2.10)
这样,通过上述过程,就可得到双线性变换中的基本关系,如下所示
2?sz?T?121?z2s???s?1T1?z T
所谓的双线性变换,仅是指变换公式中s与z的关系无论是分子部份还是分母部份都是线性的。
MATLAB中设计IIR数字滤波器的具体步骤如下:
1.把给出的数字滤波器的性能指标转换为模拟低通滤波器的性能指标; 2.根据转换后的性能指标,通过滤波器结束选择函数,来确定滤波器的最小阶数n 和固有频率wn;
3.由最小阶数n得到低通滤波器原型;
4
数字信号处理课程设计报告
4.由固有频率wn把模拟低通滤波器转换为模拟低通、高通、带通或带阻滤波器;
运用双线性变换法把模拟滤波器转换成数字滤波器。
2.4 巴特沃斯滤波器
巴特沃斯滤波器是最常用的滤波器,而巴特沃斯滤波器又可以采用脉冲响应不变法和双线性法来设计,本文主要讲述的是脉冲相应不变法的的设计。脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),即将ha(t)进行等间隔采样,使h(n)正好等于ha(t)的采样值,满足:h(n)=ha(nT),式中,T是采样周期。
这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内,才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真。但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。
2.5 切比雪夫滤波器
切比雪夫滤波器的幅度特性具有等波纹特性,它有两种形式,这里仅描述切比雪夫I滤波器,其振幅特性在通带内是等波纹的、在阻带内是单调递减的。
切比雪夫滤波器特点是在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。
2.6 总体设计图
设计的步骤流程:
5
数字信号处理课程设计报告
图2.1 设计流程图
得到结果 利用MATLAB编程实现滤波器 将模拟滤波器转换为数字滤波器 设计模拟低通滤波器 求出模拟低通滤波器指标 开始 MATLAB数字滤波器设计整体图:
图2.2 整体界面
3 代码编写
6
数字信号处理课程设计报告
3.1 显示幅度谱函数IIR_DispMag()
function IIR_DispMag() %显示幅度谱函数IIR_DispMag
[num den CYPL YYYFlag]=IIR_Createfilter; %参数调用以设计好的滤波器参数 if(~YYYFlag) return; end
figure(1);
[h f]=freqz(num,den,512,CYPL); % 转换成数字滤波器 plot(f,abs(h)); %回执幅频曲线 grid on; zoom on;
3.2 创建滤波器IIR_Createfilter()
3.2.1 巴特沃斯低通滤波器设计 Wp=2*pi*f2/f1;
Ws=2*pi*f3/f1;
OmigaP=Wp*f1; 脉冲相应不变法的数字指标与模拟指标频率转换 OmigaS=Ws*f1;
[n W]=buttord(OmigaP,OmigaS,Rp,Rs,'s');%调用巴特沃斯滤波器函数 [B A]=butter(n,W,'s');%默认为低通滤波器 [num,den]=impinvar(B,A,f1);
3.2.2 巴特沃斯高通滤波器设计 Wp=2*pi*f2/f1;
Ws=2*pi*f3/f1; OmigaP=Wp*f1; OmigaS=Ws*f1;
[n W]=buttord(OmigaP,OmigaS,Rp,Rs,'s');
[B A]=butter(n,W,'high','s'); %高通滤波器设计 [num,den]=impinvar(B,A,f1);
3.2.3 切比雪夫I型低通滤波器设计
Wp=2*pi*f2/f1;
Ws=2*pi*f3/f1;
wp1=Wp*f1; %频率转换 ws1=Ws*f1;
[n W]=cheb1ord(wp1,ws1,Rp,Rs,'s'); % 切比雪夫I型函数调用 [B A]=cheby1(n,1,W,'low','s'); [num,den]=bilinear(B,A,f1);
3.2.4 切比雪夫I型高通滤波器设计 Wp=2*pi*f2/f1;
Ws=2*pi*f3/f1;
wp1=Wp*f1; %频率转换
7
数字信号处理课程设计报告
ws1=Ws*f1;
[n W]=cheb1ord(wp1,ws1,Rp,Rs,'s'); % 切比雪夫I型函数调用 [B A]=cheby1(n,1,W,'high','s'); [num,den]=bilinear(B,A,f1);
3.3 显示相位谱函数IIR_DispAngle()
function IIR_DispAngle()
[num den CYPL YYYFlag]=IIR_Createfilter; if(~YYYFlag) return; end
figure(2);
[h f]=freqz(num,den,512,CYPL); plot(f,(angle(h))); grid on; zoom on;
3.4 显示零极点图函数IIR_DispZplane()
function IIR_DispZplane()
[num den CYPL YYYFlag]=IIR_Createfilter; if(~YYYFlag) return; end
figure(3);
zplane(num,den); % Z域变换 axis([-5,5,-2,2]);
3.5 选择波形文件IIR_GetWAVFile()
function sig=IIR_GetWAVFile()
[name,path]=uigetfile('*.wav','请选择一个.wav波形文件');%选取文件的函数调用 file_path=[path,name];
if(~(isstr(name))|~(isstr(path))) sig=[]; return; end
[data freq bits]=wavread(file_path); time=length(data)/freq;
%info=['源信号-'name ';'str2num(time) '秒;fs='str2num(freq) 'Hz']; s=[];
s.data=data; s.freq=freq; s.bits=bits; %s.info=info; s.time=time;
8
数字信号处理课程设计报告
data_hndl=findobj(gcbf,'Tag','Button_WAV'); set(data_hndl,'Userdata',s);
3.6 播放原始文件IIR_Playorg
function IIR_Playorg()
data_hndl=findobj(gcbf,'Tag','Button_WAV'); sig_info=get(data_hndl,'Userdata'); data=sig_info.data; fs=sig_info.freq; sound(data,fs);
3.7 播放时滤波后文件IIR_Playmod
function IIR_Playmod
data_hndl=findobj(gcbf,'Tag','Button_WAV'); sig_info=get(data_hndl,'Userdata'); data=sig_info.data; fs=sig_info.freq;
[B A suc1 suc2]=IIR_Createfilter; if(~suc2) return; end
out=filter(B,A,data); %音频文件通过选择的滤波器 sound(out,fs);
4 代码的运行与调试
本次试验的大部分代码是书上给出的,但是有点小问题,就是在自编函数哪有错误,原句是:if(strcmp(fil_name,’错误代码’)),修改过后的if(strcmp(fil_name,’巴特沃斯’)),这样程序就可以运行了。再有就是要录一段自己的音频文件,并且格式是WMA的,最好是有高音和低音区别的,因为这样我们就可以更清楚的辨别滤波器的滤音效果。
5 软件运行与测试
在巴特沃斯低通滤波器环境情况下,设置通带截止频率与阻带截止频率分别为100,500;得到的幅度、相位,零极点图如图示:
9
数字信号处理课程设计报告
幅度响应(a) 相位响应(b) 图5.1 低通的幅度、相位,零极点图
零极点(c) 在巴特沃斯高通滤波器环境情况下,设置通带截止频率与阻带截止频率分别为500,100;得到的幅度、相位,零极点图如图示:
幅度响应(a) 相位响应(b) 图5.2 高通的幅度、相位,零极点图
零极点(c) 在切比沃雪夫I高通滤波器环境下,设置通带截止频率与阻带截止频率分别为200,100;得到幅度、相位,零极点图如图5.3所示。
幅度(a) 相位(b) 图5.3 幅度、相位,零极点图
零极点(c) 在切比沃雪夫I低通滤波器环境下,设置通带截止频率与阻带截止频率分别为200,100;得到幅度、相位,零极点图如图5.4所示。
10
数字信号处理课程设计报告
幅度(a) 相位(b) 图5.4 幅度、相位,零极点图
零极点(c) 点击选择音频文件按钮,会出现选择文件的信息框,如图5.4。
图5.4 读取音频文件
选择音频文件李栋.wav,先播放原音频文件,然后播放滤波后的音频文件,二者一对比明显可以听出滤波后音频文件的效果了,高音部分是被滤除的,只保留了满足低通条件的那部分音频,听起来声音低沉,还有点延时。
11
正在阅读:
老马识途的故事02-10
新人教版小学六年级数学下册《比例》同步试题(带解析)检测试卷03-14
北大行管考研《公共政策分析》重难点分析04-30
AutoCAD说课稿11-02
长春版五年下语文一课一练09-23
游天门山作文1000字07-06
2016最新刑法练习题05-29
小学生心理健康教育活动记录01-01
php初学者基础文档(精美版)03-12
- 上海大众、一汽大众、东风日产车型与VIN代号对照表
- 第2章服装原型及原型制作
- 江苏省工商行政管理系统经济户口管理办法及四项制度
- 纪检监察业务知识试题2
- 传感器综合题答案
- 北京第二外国语学院翻硕招生人数及学费
- 初三新编英语教材下册
- 公司庆中秋、迎国庆联欢会客串词
- 向区委常委会汇报安全生产工作材料
- 2006年GCT英语模拟试题(三)及答案解析
- 经济法概念的早期使用
- 我爱做家务课堂教学设计
- 学校安全工作月报表、消防安全排查表、消防隐患排查台账
- 成本会计毕业论文
- 班级文化建设论文
- 2018年天津市高考文科试题与答案汇总(Word版) - 图文
- 铁路论文
- 2017年嵌入式系统设计师考试时间及地点
- 1.111--灾害与突发公共卫生事件应急预案
- 起爆点主图 注意买入 拉升 逃顶源码指标通达信指标公式源码
- 信号处理
- 课程
- 实现
- 数字
- MATLAB
- 设计
- 网络工程实训 - 图文
- 2018年新学期最新班级工作计划
- ××公司薪酬管理存在的问题与对策
- 鱼塘暂行管理规定
- 机动车登记规定(中华人民共和国公安部令第124号)
- 量测员继续教育判断题集锦
- EDA课程设计--病房呼叫系统的设计
- 2019(部编版)人教版一年级语文上册部编版-一年级语文上册第四单元练习题
- 办公室综合协调职能的充分发挥对提升机关管理工作水平的作用探究
- 2009—2012年高考化学试题分类解析:非金属及其化合物 - 图文
- 四年级综合实践活动教案
- XX市政给排水监理实施细则
- 书法进课堂 悠悠翰墨香
- a文化宜化 宜化文化-赵小红
- ALPHA3100-4100 - 图文
- “校讯通”对协同“学校教育与家庭教育”的应用研究(2)
- 主题公园生命周期规律及其营销策略分析
- 水质在线自动监测管理
- 《二次函数的图像(1)》教学设计
- 九年级道德与法治下册第三单元走向未来的少年第七课从这里出发第2框走向未来教案新人教版