- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB课程设计-FIR滤波器的分析及设计
1 引言
1.1 MATLAB的概况
MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备优越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,,可视化建筑仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比C、FORTRAN等语言相同的事情简捷得多。
MATLAB包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和科学工具包。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
1.2 MATLAB的语言特点
MATLAB最突出的特点就是简洁。它用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。它给用户带来的是最直观,最简洁的程序开发环境。以下简介MATLAB的主要特点:
语言简洁紧凑,使用方便灵活,库函数及其丰富。程序书写形式自由,利用丰富的库函数避开繁杂的子程序编写任务,压缩了一切不必要的编程工作。
运算符丰富,由于MATLAB使用C语言编写的,它提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。
程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
MATLAB的图形功能强大,在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。它还具有较强的编辑图形界面的能力。
2 FIR滤波器的分析及设计
2.1 用窗函数法设计FIR滤波器的步骤如下:
(1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数)。窗函数类型可根据最小阻带衰减AS独立选择,因为窗口长度N对最小阻带衰减AS没有影响。在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N。设待求滤波器的过渡带宽为△ω,它与窗口长度N近似成反比。窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正。原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N。在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数。
(2)根据待求滤波器的理想频率响应求出理想单位脉冲响应。如果给出待求滤波器的频率响应为,则理想的单位脉冲响应可以用傅里叶反变换式得到,在一般情况下,是不能用封闭公式表示的,需要采用数值方法表示。从到采样N点,采用离散傅里叶反变换(IDFT)即可求出。
(3)计算滤波器的单位脉冲响应h(n)。它是理想单位脉冲响应和窗函数的乘积,即,在MATLAB中用点乘命令表示为。
(4)验算技术指标是否满足要求。为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。
2.2 FIR滤波器的设计
2.2.1 FIR低通滤波器详细设计过程
(1) 确定FIR模拟低通滤波器的技术指标:
(2) 归一化,求得数字边缘频率:
(3) 计算中心频率、过度带宽,设定旁带宽度:
(4) 计算beta和N:
(5) 利用fir1函数确定凯泽窗低通滤波器的实际单位脉冲响应:
(6) 利用freqz函数求得幅频特性:
(7) 作出的幅频特性曲线:
(8) 利用wavread函数把指定路径下的WAV格式的声音文件读入矢量中,本例采用的是一段音乐,采样频率为22050Hz:
(9) 利用sound函数对原始语音信号进行回放:
(10) 利用filter函数对样本信号进行滤波处理:
(11) 利用sound函数对经过滤波器后的语音信号进行回放:
(12) 利用plot函数分别作出信号在滤波前后的时域波形:
(13) 利用fft函数对滤波前后的信号进行1024点的快速傅里叶变换:
(14) 利用plot函数分别作出信号在滤波前后的频域波形:
2.2.2程序流程图,如图1所示:
2.2.3凯泽窗低通滤波器的幅频特性,如图2所示:
2.2.4
您可能关注的文档
- JAVA+SQL_学生成绩管理系统的设计与实现.doc
- java平台下TCP协议编程-聊天室的设计与实现(含源程序).doc
- JAVA某酒店内部管理系统的开发与应用.doc
- JAVA学生管理系统—成绩管理子系统.doc
- Java程序设计实训报告-学生成绩查询系统.doc
- Java程序设计实验报告-弹球游戏.doc
- JAVA程序设计课程设计-坦克大战游戏.doc
- java笔试经典题汇总.doc
- JAVA药品管理系统设计.doc
- JAVA语言课程设计-记事本.doc
- 岸基供电系统 第4部分:工频电源.pdf
- 人教版八下英语Unit 5 What were you doing when the rainstorm came_测试卷.docx
- 热带作物品种区域试验技术规程 木薯.pdf
- 草原防火阻隔带建设技术规程.pdf
- 渔用气胀救生筏技术要求和试验方法-.pdf
- 浙江省杭州市2024-2025学年八年级下学期期中考试英语试卷(含答案).docx
- 重庆市渝北区六校联盟2024-2025学年九年级下学期期中教学大练兵语文试卷.docx
- 食品安全-花椒籽油 (2).pdf
- 2025年海博思创分析报告:储能集成“小巨人”,国内外业务进展可期.pdf
- 地理标志产品 宽城板栗.pdf
文档评论(0)