数字信号处理实验二 IIR数字滤波器设计及软件实现

简介: 数字信号处理实验二 IIR数字滤波器设计及软件实现

一、实验目的

1.熟悉用双线性变换法设计IIR数字滤波器的原理和方法。

2.学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具FDATool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

3.掌握IIR数字滤波器的MATLAB实现方法。

4.通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。


二、实验内容及步骤

1.调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图(1)所示。由图可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离。


078b0df47dda42218bf9b3fd750ce21b.png


2.要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB。

提示:抑制载波单频调幅信号的数学表示式为


e0cbb21b396e468ca601abd31cdb2f3d.png


其中,称为载波,为载波频率,称为单频调制信号,为调制正弦波信号频率,且满足于。由上式可见,所谓抑制载波单频调幅信号,就是两个正弦信号相乘,它有2个频率成分:和频、差频,这两个频率成分关于载波频率对称。所以,1路抑制载波单频调幅信号的频谱图是关于载波频率对称的两根谱线。容易看出,图(1)中三路调幅信号的载波频率分别为250Hz、500Hz、1000Hz。


3.编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,并绘图显示其损耗函数曲线。


4.调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号、和,并绘图显示、和的时域波形,观察分离效果。


三、程序代码及运行结果

实验内容1:函数 产生信号

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

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


fbbc36900b8449b0ae27db3c27420c27.png


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


实验内容2:分别设计滤波器,将三路信号从st中分离

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

2.实验结果:如图(4)、图(5)、图(6)所示


8256acd57bb54185b7ce083ee5f4b0cd.png


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


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

1.请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。


2.信号产生函数mstg中采样点数 ,对st进行 点 可以得到 根理想谱线。如果取 ,可否得到 根理想谱线?为什么? 呢?请改变函数mstg中采样点数 的值,观察频谱图验证判断是否正确。


3.修改信号产生函数mstg,给每路调幅信号加入载波成分,产生调幅AM信号,重复本实验,观察AM 信号与抑制载波调幅信号的时域波形及其频谱的差别。


五、上机体会

实验过程中,在老师的讲解下,我明白了由于滤波器边界频率关于π归一化,故代码中w与f的转换不需要另加π;另外高通滤波器设计与低通带通稍有不同, 设计高通滤波器时ellip函数调用中还需加上’high’,即代码应为ellip(N,ap,as,wpo,‘high’),否则无法得到正确的实验结果。

通过这次上机实验,我熟悉了用双线性变换法设计IIR数字滤波器的原理和方法,学会了根据滤波需求确定滤波器指标参数,调用MATLAB信号处理工具箱中滤波器设计函数设计各种IIR数字滤波器,也掌握了IIR数字滤波器的MATLAB实现方法。



相关文章
|
网络协议 网络架构
计算机网络期末复习——计算大题(一)
计算机网络期末复习——计算大题(一)
1462 0
计算机网络期末复习——计算大题(一)
|
传感器
STM32:红外传感器代码部分(内含实物图+外部信号流程,编写代码思路+代码+解析代码和扩展应用)
STM32:红外传感器代码部分(内含实物图+外部信号流程,编写代码思路+代码+解析代码和扩展应用)
6295 1
STM32:红外传感器代码部分(内含实物图+外部信号流程,编写代码思路+代码+解析代码和扩展应用)
|
机器学习/深度学习 算法 大数据
Dataset之CASIA-WebFace:CASIA-WebFace 数据集的简介、安装、使用方法之详细攻略
Dataset之CASIA-WebFace:CASIA-WebFace 数据集的简介、安装、使用方法之详细攻略
Dataset之CASIA-WebFace:CASIA-WebFace 数据集的简介、安装、使用方法之详细攻略
|
机器学习/深度学习 算法 数据挖掘
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
3200 1
|
异构计算
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
2115 0
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
|
人工智能 JSON 安全
酒店旅游API:数据交互的隐形桥梁——以携程API为例
携程API提供酒店旅游行业的实时数据互通、业务自动化及生态扩展功能,涵盖酒店详情获取、搜索、房态管理、订单处理和支付等核心接口。技术架构采用微服务集群与数据中台,支持高并发和金融级安全防护。挑战包括高并发、数据一致性和商业博弈,未来将融合AI、元宇宙和区块链技术,实现智能旅游体验。
|
存储 C语言 Python
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
566 3
|
机器学习/深度学习 算法 PyTorch
【从零开始学习深度学习】25.卷积神经网络之LeNet模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】25.卷积神经网络之LeNet模型介绍及其Pytorch实现【含完整代码】
|
小程序 JavaScript Java
暹罗外卖开源啦,一款java多商户外卖系统-商家入驻如美团饿了么
暹罗外卖是一款Java外卖配送系统,适用于多商户入驻,对标美团外卖、饿了么。系统包含用户端、商家端、配送端以及总管理后台; 前端使用uni-app开发,可打包部署到微信小程序、APP、H5 Web端使用vue + Element开发 服务端使用java语言开发,技术栈:Spring Cloud & Alibaba + Redis + RocketMQ + WebSocket + ElasticSearch + ELK + Sentinel + Seata + SkyWalking + SpringBoot Admin + Promethues + Grafana
1451 2
暹罗外卖开源啦,一款java多商户外卖系统-商家入驻如美团饿了么
|
机器学习/深度学习 人工智能 PyTorch
Transformers 4.37 中文文档(三十二)(1)
Transformers 4.37 中文文档(三十二)
624 0

热门文章

最新文章