【学习笔记】matlab进行数字信号处理(三)数字滤波技术
作者:互联网
【学习笔记】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 数字滤波的应用
作业
标签:滤波器,信号,信号处理,滤波,脉冲响应,数字滤波,频率,fir1,matlab 来源: https://blog.csdn.net/weixin_42853410/article/details/114407188