数字信号处理实验三 FIR数字滤波器设计与软件实现

简介: 数字信号处理实验三 FIR数字滤波器设计与软件实现

一、实验目的

1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。

2.掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

3.掌握FIR滤波器的快速卷积实现原理。

4.学会调用MATLAB函数设计与实现FIR滤波器。


二、实验内容及步骤

1.认真复习用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理。


2.调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图(1)所示。


ad20e8daa20e42e6be732bb4d33be055.png


3.请设计低通滤波器,从高频噪声中提取xt中的单频抑制载波调幅信号,要求信号幅频失真小于0.l dB,将噪声频谱衰减60 dB。观察xt的频谱,确定滤波器指标参数。


4.根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数firl设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。


5.重复实验内容3,滤波器指标不变,但改用等波纹最佳逼近法设计FIR滤波器,调用MATIAB函数 remezord和remez设计FIR数字滤波器。比较两种设计方法设计的滤波器阶数。

提示:

(1)MATIAB函数firl和 fftfilt的功能及其调用格式请查阅本书;

(2)采样频率fc2834943f2c4baab9bc1dafeefb1169.png,采样周期8cd4c2fe1c0f4daa980ba488c0ec3eac.png

(3)根据实验要求,可选择滤波器指标参数:通带截止频率b53342fed3ec46d2989da8c02416d50b.png,阻带截止频率beb75269f16f424ea883323f8f998eea.png,换算成数字频率,通带截止频率71ddcf977c544772a0d670742756145b.png,通带最大衰减为0.1dB,阻带截至频率90d87a08f5d243768bec99f8cde0df1e.png,阻带最小衰减为60dB。


三、程序代码及运行结果

1.程序代码(详见报告)

2.实验结果:如图(2)与图(3)所示


bff3892feaff439d82435bc388d37778.png4dda75bb25ba41c499657fd81991e8d5.png



3.分析与讨论(详见报告)


四、思考题(答案详见报告)

1.如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤。

2.如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为和,阻带上、下截止频率为和,试求理想带通滤波器的截止频率和。

3.解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低。


五、上机体会

通过这次上机实验,我掌握了用窗函数法和等波纹最佳逼近法设计FIR 数字滤波器的原理和方法,掌握了FIR滤波器的快速卷积实现原理,学会了调用MATLAB函数设计与实现FIR滤波器,学习掌握了remezord、remez、firl和 fftfilt函数的功能及其调用格式。


相关文章
|
7月前
|
敏捷开发 数据可视化 BI
远程团队看板工具全指南:2025年最强推荐与实践策略
《远程团队看板工具:提升协作效率的利器》摘要 远程看板工具正成为现代团队协作的核心,通过可视化任务流、实时同步和进度追踪,有效解决远程办公中的信息不对称问题。本文系统介绍了看板工具的基本概念、核心功能(包括任务可视化、多人协作、时间管理等),并对比了Trello、Jira、Asana等主流产品的特点。针对选型策略,建议从团队规模、易用性、集成能力三个维度考量。文章还分享了任务拆解、每日站会等实用技巧,并解答了数据安全等常见问题。最后强调,合适的看板工具能显著提升远程团队的工作效率和凝聚力。
233 5
|
2月前
|
人工智能 自然语言处理 监控
AI Ping: 一站式大模型服务评测与API调用平台技术解析
在当前大模型应用爆发式增长的背景下,开发者面临着一个共同的痛点:如何高效、低成本地调用大模型服务? 本文将深入解析AI Ping如何通过其vibe coding工具链实现"零成本"接入三大主流免费模型,帮助开发者在日常开发中显著降低AI使用成本。
AI Ping: 一站式大模型服务评测与API调用平台技术解析
|
3月前
|
数据采集 存储 数据可视化
体育爬虫实战:轻松抓取某扑论坛NBA板块热点
本文以虎扑NBA板块为案例,详解如何用Python爬虫抓取热门体育论坛的实时讨论数据。涵盖目标分析、反爬应对、动态加载处理及数据可视化,助你掌握从数据采集到商业洞察的全流程技能。
332 0
|
6月前
|
存储 人工智能 机器人
别再只做聊天机器人:AI 应用商业闭环的工程落地指南,免费体验中
本文介绍了如何通过阿里云百炼平台创建一个星座运势分析AI智能体,并集成支付宝MCP服务实现支付闭环。解决AI产品无法直接变现的问题,完成“服务-支付-交易”全流程闭环,帮助开发者快速实现商业化。
|
Python
python tkinter Tcl_AsyncDelete: async handler deleted by the wrong thread
python tkinter Tcl_AsyncDelete: async handler deleted by the wrong thread
315 1
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
1274 3
|
Ubuntu Docker 容器
本地wsl的Ubuntu安装docker,不使用docker桌面版
本文提供了在WSL的Ubuntu环境中安装Docker引擎的步骤,包括安装引擎、配置iptables以及启动Docker服务。
1139 2
【51单片机】通过定时器中断 在8位数码管显示时间
【51单片机】通过定时器中断 在8位数码管显示时间
440 2
|
前端开发 JavaScript Linux
若依修改之后,无法访问前端项目如何解决,只能访问后端的接口,我的接口8083,端不显示咋解决?在vue.config.js文件中的映射路径要跟后端匹配,到软件商店里找到Ngnix配置代理,设80不用加
若依修改之后,无法访问前端项目如何解决,只能访问后端的接口,我的接口8083,端不显示咋解决?在vue.config.js文件中的映射路径要跟后端匹配,到软件商店里找到Ngnix配置代理,设80不用加

热门文章

最新文章