【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析
【学习笔记】matlab进行数字信号处理(二)信号的相关分析及幅值分析
【学习笔记】matlab进行数字信号处理(三)数字滤波技术
【学习笔记】matlab进行数字信号处理(四)信号的时频域分析

b站视频地址:https://www.bilibili.com/video/BV18E411f7ZQ?p=16&spm_id_from=pageDriver

第七章 信号的数字滤波技术

7.1 数字滤波器的概念



将低、中、高三种频率的信号叠加在一起,频谱有相应的低中高三个频率成分
滤波前提:信号的频率是不重叠的,这样可以将干扰和信号分离



方法一:直接使用数字滤波器,采样频率至少是最高频率的两倍,为了不让高频成分发生频谱混叠,这时采样频率必须非常高
方法二:如果先经过一个模拟滤波器,将高频去掉,采样频率是低频段最高频率的两被以上即可
所以,对于模拟和数字滤波器,由于滤波位置的不同,会影响采样频率
因此,当干扰信号是非常高的频率成分时,必须用模拟滤波器将高频成分去除掉,这样才能降低采样率,进而降低运算量

方法一:如果信号的有用成分是高频成分,经过AD和滤波后得到的信号,AD的满量程精度并不高,并没有全用满
方法二:在通过高通滤波器后,可以讲幅值很大的低频分量滤除掉,将其放大到满量程,再进行AD转换,此时会将AD的满量程精度全部用上
所以,当干扰信号的量程很大,而有效信号的量程给非常小时,应该用模拟滤波器将大量程的干扰信号滤除,然后再放大和AD转换

所以,模拟和数字滤波器的使用顺序会影响采样频率和有效的AD位数

滤波器中的吉普现象, 实现左图这种滤波的系统是理想的,是物理不可实现系统


可通过半功率点计算截止频率;
纹波幅度指在频率通带内浮动的幅度;
带宽指上限和下限截止频率之差,带宽除以中心频率叫品质因数,品质因数越高,说明滤波器越窄,即频率选择性越强;
倍频程选择性W看10fc和fc之间衰减了多少,主要用来衡量滤波器的衰减速度,W越大,衰减速度越大

滤波器设计标准:1是过度区较窄,2是脉冲响应较短
实际这两个指标是矛盾的,过渡区越陡,脉冲响应越宽
实际设计要根据这两个参数进行平衡

频域相乘,时域卷积

7.2 频率域滤波


输入信号进行FFT后,与频率域定义的滤波器相乘,得到频域的输出信号,再进行傅立叶n逆变换得到输出信号

在频谱上直接处理,哪里不要,哪里直接清零

信号经过FFT变换,由实部和虚部两部分构成;图中黑色为正频率部分,红色为负频率部分
这几种滤波器虚部设为0

1、定义一个50、300、500Hz的测试组合信号,
2、进行FFT
3、定义一个低通滤波器
4、频域相乘,再进行逆变换

由于数字滤波借用了FFT算法,将长数据信号分成很多时间片,分别进行滤波,滤波后再将每个时间片接起来
但是这个时间片的一头一尾会有暂态效应,会存在失真,所以要对滤波后的数据进行掐头去尾
如果取的是1024点,可以将尾部或头部的64点去掉;如果取的是2048点,可以将尾部或头部的128点去掉

7.3 时域滤波


由时域卷积分,写到离散域,采集点的卷积分

离散域中将频域的滤波器转换到z域的滤波器



已知一个系统的拉式变换,可以直接求出z变换

时域滤波的关键就是得到Z变换形式的滤波器

生成一个低频加高频的合成信号,经过差分之后低频被滤除掉,等效为一个高通滤波器

将一个测量点测很多次,然后求平均,此时可以将随机测量误差去除掉,这种数据平滑的过程,等价于一个简单的低通滤波器

7.4 FIR滤波器


也叫有限脉冲响应滤波器,含义是指如果给滤波器一个脉冲信号,则单位脉冲响应是有限长度的

计数长度是20,f是频率点,m是对应的幅值
折线是对应的理论上的滤波器,平滑的是实际的滤波器,点线是滤波器的脉冲响应

直观,定义一个滤波器系统,给这个系统输入一个脉冲激励,系统的输出就是脉冲响应,对这个响应离散取样,就能够得到脉冲响应的系数

v1是归一化因子





强行的截断,并不合理,需要对这种方法进行改进

理想低通滤波器,在傅立叶逆变换后系数长度为无穷,物理不可实现,但滤波器的系数长度只能是有限的,这样在窗口外的数据认为强制的是0,只对窗口内的部分做傅立叶变换,频率特性如右图所示,但其中的跳变往往是我们不希望的
用一个窗函数对理想滤波器的脉冲响应相乘,使得窗口外的系数被衰减到0

用脉冲响应函数和汉宁窗相乘
优点:在截断处没有跳变
缺点:衰减特性变差
最常用的方法!去设计fir滤波器



以上的过程都集成到了fir1函数中

fir1


设计了一个48点的滤波器,滤波器的归一化频带在0.35到0.65之间,用窗函数Blackman(窗函数的长度要不滤波器的长度加1
freqz(b,1,512):画出滤波器的频率响应特性
fir1:用脉冲响应加窗函数实现的滤波器

滤波后头部会有部分失真,filter函数

右一图:1表示原始信号,2表示信号由3个频率成分构成,3表示滤波后的效果
fir1(48,0.1):设计的是一个低通滤波器,fir1,48个点,归一化截止频率是0.1(滤波区间0~0.1)
fir1(48,[0.2,0.4]):带通滤波器
fir1(48,0.4,‘high’):高通滤波器

fir2-复杂频率通带滤波器

fir1能定义的滤波器种类比较少,直上直下导致暂态效应比较重,吉普丝现象比较强烈
fir2比fir1有改进,定义若干个过渡衰减点,通过f 和m的数组去定义这样的点,但fir2实际还是窗函数滤波

先定义一些频率点及相应的幅值,再使用fir2去滤波


用fir2滤除高频成分
fir2求出滤波器系数,然后使用filter进行滤波

和fir2一样,用两个数组去定义滤波器,用最小二乘求出滤波器的系数,可以保证在指定点处的误差最小,但是点取的不好的话,结果可能比fir2要差

firls只是保证设定点的误差最小,其余位置很难进行约束;fir2在设定点的特性不保证,但是整体尚可

作业

7.5 IIR滤波器


IIR传递函数有分母 ,FIR没有分母
IIR脉冲响应是无限长的,在相同的长度和计算量时,IIR和FIR相比,幅频滤波特性更好,相频滤波特性差些,存在相位失真
FIR做成对称或反对陈时,相位失真为0

首先定义一个模拟滤波器,然后通过傅立叶变换得到脉冲响应曲线,再对脉冲响应曲线进行离散取值,该方法叫脉冲响应不变法,在时域上让数字滤波器模仿模拟滤波器,但这种方法会存在频率混叠

解决频谱混叠问题,将s域映射到一个有限的s区间内,再映射到z平面


设计一个butter 的低通滤波器,bilinear双线性变换
将频带压缩到归一化频带当中去,不会发生频谱混叠

最常用,在频率通带内特别平坦,阻带能平滑的下降,2P阶次越高,过渡带越陡,衰减越快,但同时计算量也增加
这个滤波器有两个参数:滤波器的阶数、截止频率的位置

过渡带更陡峭,但是牺牲条件是在通带内有波纹(切比雪夫1型);
(切比雪夫2型)在阻带内有波纹

过渡带更陡峭,但是通带和阻带都有波纹


iir滤波器-matlab函数


设计一个8阶的巴特沃斯低通滤波器,归一化频率是0.1,然后用filter函数进行滤波



作业

7.6 其他滤波器


滤除掉特定点的频率成分,而临近的频率成分依然能够通过




左侧是梳状陷波滤波器(‘notch’),可以让一组频率成分阻断掉,如f0、2f0、3f0等,这个滤波器在工程上很有用,因为干扰信号经常是谐波的关系,也就是说干扰除了在特定的频率会有,在特定频率的倍频也会有
右侧是梳妆尖峰滤波器(‘peak’),可以让一组谐波频率成分通过,常用于振动信号测量,往往很关心振动信号的基频倍频,希望把背景的非振动频率成分滤除掉

小波设计理论的基础,fir的一种

右1、2分别是半带的低通和高通滤波器

分别通过半带低通和半带高通然后再叠加,发现和原信号一致,只是在开始部分有一定延迟,是由于滤波器的暂态效应导致的

正弦信号通过这个滤波器,结果是一个余弦信号,信号产生了90度相移,但是幅值不变
常用于包络信号的检波
信号外面的轮廓,叫信号的包络,通过这个全通滤波器可以提取包络

经过希尔伯特变换后,实部是原信号本身,虚部是原信号加90度相移


产生一个调幅波信号
z=abs(y)相当去取根号下实部的平方加虚部的平方,便成功提取了包络

7.7 其他调制解调方法


最常用的是幅度调制AM
原理:如人说话是低频信号,传输距离有限,这时可以和一个高频载波相乘,通过发射台发射出去,就可以传输几百公里,在接收端对这样的信号进行包络检波,提取出轮廓线/包络,再由收音机播放出来

调幅波:A0cos(2pi*ft+相位)就是一个载波信号(就是个正弦波),x(t)是一个低频信号,这时载波的幅值就会随着低频信号的幅值变化
调频波:将测量信号放在频率上,信号越大,载波的频率越大,信号越小,载波的频率越小,疏密有变化
调相波:载波的相位会发生变化


用400Hz载波进行调制


信号幅值最大点,载波频率最高;信号幅值最小点,载波频率最低




7.8 数字滤波的应用

作业

【学习笔记】matlab进行数字信号处理(三)数字滤波技术相关推荐

  1. 对时域连续信号用matlab离散,数字信号处理上机实验一 离散时间信号的时域分析...

    实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...

  2. matlab fftshift_数字信号处理没有Matlab?用Python一样很爽

    通常,在数字信号处理时,我们避不开matlab这个工具,因其它的强大的功能受到广大工程师的好评,也一直都是业界的不二之选.但是,matlab毕竟是商业软件,公司里如果使用的话,就需要支付高昂的费用.即 ...

  3. 基于matlab的心电信号处理毕业论文,浅议仿真基于MATLAB的“数字信号处理”仿真实验毕业论文范文...

    论文导读:),通过扬声器可以听到"重庆邮电大学,重庆邮电大学"声音,对原始语音信号进行FFT 频谱分析,程序关键代码如下: figure: t=(0:length(x)-1)/Fs ...

  4. matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...

    西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 6A-205实验时间 :年月日学 生 姓 名学号成 绩学生所在学院电气信息学院年级/专业/班课 程 名 称数字信号处理课 程 代 码实验项目 ...

  5. matlab x(n)16点DFT,[基于MATLAB的数字信号处理实例分析.doc

    [基于MATLAB的数字信号处理实例分析 湖北文理学院理工学院 学生结业论文 课程名称:MATLAB教程 结业论文名称:基于MATLAB的数字信号处理实例分析 专业名称:通信工程 班级:1011 学号 ...

  6. MATLAB与数字信号处理——常用序列的MATLAB实现

    常用序列的MATLAB实现 单位抽样序列 单位阶跃序列 矩形序列 实指数序列 复指数序列 正余弦序列 随机序列 周期序列 简单复制 用求余数的方法(模运算) 说明 常用序列的MATLAB实现 单位抽样 ...

  7. matlab数字信号处理实验报告,【实验设计论文】Matlab的数字信号处理课程实验设计(共3490字)...

    摘要:本文设计了一个基于Matlab的"数字信号处理"课程综合性实验.该实验把"数字信号处理"课程中的许多离散的知识点串接了起来,包括采样.量化.滤波器设计.滤 ...

  8. 数字信号处理 matlab 答案,数字信号处理课后习题Matlab作业

    <数字信号处理课后习题Matlab作业>由会员分享,可在线阅读,更多相关<数字信号处理课后习题Matlab作业(22页珍藏版)>请在人人文库网上搜索. 1.数字信号处理MATL ...

  9. 用MATLAB绘制国债NSS模型,Matlab在数字信号处理中的运用.ppt

    <Matlab在数字信号处理中的运用.ppt>由会员分享,可在线阅读,更多相关<Matlab在数字信号处理中的运用.ppt(68页珍藏版)>请在装配图网上搜索. 1.第七讲 M ...

  10. R语言学习笔记——入门篇:第三章-图形初阶

    R语言 R语言学习笔记--入门篇:第三章-图形初阶 文章目录 R语言 一.使用图形 1.1.基础绘图函数:plot( ) 1.2.图形控制函数:dev( ) 补充--直方图函数:hist( ) 补充- ...

最新文章

  1. 为何计算机科学领域的女性不多?
  2. ML.NET 示例:对象检测-ASP.NET Core Web和WPF桌面示例
  3. Unity学习笔记:unity介绍(一)
  4. loss函数之SoftMarginLoss
  5. MySQL 主键相关操作
  6. OnSetCursor 及改变鼠标形状
  7. oracle 创建表同时添加注释
  8. 数学史思维导图_思维导图话科学史:图说数学
  9. 百度地图-个性化地图用法
  10. 事件监听(窗口关闭、输入框事件、计算器、画笔、鼠标、窗口、键盘)
  11. CIPS-3D 生成风格化的图像并控制人脸的姿势
  12. 项目管理-人力资源管理-人力资源管理计划-工具-RACI矩阵-Responsible与Accountable的区别
  13. [绍棠] Vue解决V-HTML指令潜在的XSS攻击(‘v-html‘ directive can lead to XSS attack.)
  14. 删除一个字符串中指定位置上的字符
  15. 个人日记-学习究竟是什么读后感3-2020/7/13
  16. 面试容易紧张,有哪些小技巧可以缓解紧张呢?
  17. 《隐私计算应用研究报告(2022年)》:规模将达到145.1亿元
  18. python dataframe合并单元格后写入excel
  19. mysql 查询一小时之内的数据
  20. Linux命令 cat命令

热门文章

  1. 基于matpower的电力系统潮流计算matlab程序
  2. WinRAR 5.60 官方简体中文无广告弹窗版本
  3. Graph Embedding:Node2Vec
  4. Windows下用cmd命令安装及卸载服务
  5. 红色警戒 direct错误
  6. Ubuntu Class ZipArchive not found
  7. 面向GitHub学习网课
  8. ndk C++ 编译器的函数名修饰规则
  9. plecs使用C-Script模块建立PI传递函数模型
  10. 神奇宝贝HTML游戏代码,《我的世界》神奇宝贝召唤神兽指令 各神兽召唤代码大全...