信号时频分析方法

目录

1.短时傅里叶变换

1.1含义

1.2matlab仿真

 2.小波变换

2.1含义

2.2matlab函数

2.3 参数使用

2.3.1时频成像清晰度--wavename

2.3.2 频率分辨率--totalscal

2.3.3 信号中心频率--fs

傅里叶变换是一种全局性的分析方法,它的核心是将时间序列信号从时间域变换到频率域,实现提取波形信号的频率信息的目的,并得到信号的不同频率成分和分布情况。傅里叶变换只能体现信号的频域特征,但对于信号在不同时间上的频率分布并不能很好的表达出来。

常见的信号时频分析方法包括短时傅里叶变换、小波变换等等,这两种方法相对比较常见,因此这里仅讨论这两种方法。

1.短时傅里叶变换

1.1含义

短时傅里叶变换也称为窗式傅里叶变换,它是一种有效的时频分析方法,其基本思想是:首先选择一个局部化的时频窗函数,将时域信号在时间轴上把信号截取成多个固定时长的时间窗,对信号进行加窗处理,并假定在时间窗内的信号是一个平稳信号(伪平稳),然后对每一个时间窗内的信号进行傅里叶变换,得到信号的时变频谱,不断地滑动时间窗并进行傅里叶变换,直到信号末端,便可得到信号每个时间窗内的频率分量分布情况和整个信号的时变频谱。

在短时傅里叶变换过程中,窗的长度决定频谱图的时间分辨率和频率分辨率,窗长越长,截取的信号越长,信号越长,傅里叶变换后频率分辨率越高,时间分辨率越差;相反,窗长越短,截取的信号就越短,频率分辨率越差,时间分辨率越好,也就是说短时傅里叶变换中,时间分辨率和频率分辨率之间不能兼得,应该根据具体需求进行取舍。

因此窗长度的调整对信号时频分析结果影响较大。

1.2matlab仿真

在matlab仿真中,使用spectrogram函数进行短时傅里叶变换仿真

S = spectrogram (X,WINDOW,NOVERLAP),指定相邻线段之间重叠的NOVERLAP采样。NOVERLAP必须是小于WINDOW的整数。如果未指定NOVERLAP,则使用默认值获得50个重叠。

S = spectrogram (X,WINDOW,NOVERLAP,NFFT),指定用于计算离散傅里叶变换的频率点的数目。如果未指定NFFT,则使用默认NFFT。

S = spectrogram (X,WINDOW,NOVERLAP,NFFT,Fs),指定采样率Fs(Hz)。如果Fs指定为空,则默认为1Hz。如果未指定,则使用规范化频率。

[S,F,T] = spectrogram (X,WINDOW,NOVERLAP,F),计算矢量F中指定的归一化频率下的双面谱图。F必须至少有两个元素。

[S,F,T] = spectrogram (X,WINDOW,NOVERLAP,F,Fs),计算矢量F中指定频率下的双侧频谱图。F必须以赫兹表示,并且至少有两个元素。

[S,F,T,P] = spectrogram (...),P是表示每段功率谱密度(PSD)的矩阵。对于实信号,SPECTROGRAM返回每段PSD的单边修正周期图估计值;对于复信号,如果指定了频率向量,则返回双边PSD。

图 短时傅里叶变换结果 

 2.小波变换

2.1含义

由于短时傅里叶变换在同一次变换过程中,时间窗的大小一经选定下来,就不能随着信号频率的改变而改变,即信号的时频分辨率不能改变,不具备有自适应能力,因为短时傅里叶变换的这些缺点,对于时变的非稳态信号分析存在很大的局限性。因此,法国著名的信号处理科学家J. Morlet于1980年提出了小波变换(Wavelet Transform,WT)。

小波变换是短时傅里叶变换的一种改进方法,是短时傅里叶变换的继承和发展,它继承了短时傅里叶变换的局部化思想,而同时又克服了短时傅里叶变换时间窗大小不能随信号频率的变化而变化的缺点,为信号的变换提供一个能够随着频率的变化而改变的时间-频率窗口,小波变换与短时傅里叶变换相比,是一种在时间和频率上的局部变换,因而能够有效地从信号中提取出局部信息。和短时傅里叶变换相比,小波变换有着窗口自适应的特点,即高频信号分辨率高(但是频率分辨率差),低频信号频率分辨率高(但是时间分辨率差),而在工程中常常比较关心低频的频率,关心高频出现的时间,所以近些年用途比较广泛。

小波的含义,即为时间上衰减快,和傅里叶的正弦波相比要短。小波变换源自于多尺度分析,它的主要特点是能够通过变换来充分的突出信号的某些特征,能够对时间频率进行局部化的分析。它的基本思想是将傅里叶变换无限长的三角基函数换成有限长的会衰减的小波基函数,小波变换中的“小”指的就是其具有衰减性,这个基函数不仅会伸缩,同时还能平移,通过伸缩和平移,可以对信号进行多尺度地细化和分析,这样不仅可以获取信号的频率,还能够定位到信号的时间上,最终能达到在信号的高频部分在时间上细分,在信号的低频部分在频率上细分。

 图 morlet小波

小波变换和傅里叶变换的本质是大致相似的,傅里叶变换利用三角基函数来表示信号,而小波变换则是利用小波基函数来表示信号,在每一个小波变换里,都会有一个母小波(mother wavelet),也称为基函数,还有一个尺度函数(scaling function),根据尺度函数来平移和缩放母小波来形成不同时间和空间尺度的小波系数,母小波伸缩的比较窄,对应的是信号的高频部分,母小波伸缩的比较宽,对应的是信号的低频部分。

通俗来讲,在时间域上,可以通过小波在时间上的移动,逐一比较不同位置的窗口信号,得到小波系数,小波系数越大,则证明小波与该段信号的拟合程度越好。计算中用小波函数与该窗口信号的卷积,作为该窗口下的小波系数。窗口的长度和小波的长度是相同的。

图 时域移动小波 


在频率域上,通过拉伸或压缩小波的长度,来改变小波的长短和频率,实现不同频率下的小波系数。相应的,窗口长度也会随着小波长度变化。由于高频处小波被压缩,时间窗变窄,使得时间分辨率更高。将不同频率下的小波系数组合起来,便得到了时频变换的小波系数图。

图 频率改变小波长度 

从图上可以看到,低频处频率分辨率要好于高频处的。小波时频图的特点为整体呈现高频处高而瘦,低频处矮而宽。

2.2matlab函数

小波分析中使用到的小波函数具有不唯一性,但不同的小波基的选择会给问题带来不同的结果,目前常用的小波基有Haar小波、dbN小波、mexh小波、Morlet小波、Meyer小波等等。

matlab需要用到的小波工具箱中的三个函数cwt(),centfrq(),scal2frq()。其中

cwt(S,SCALES,'wname')函数实现连续小波变换;

centfrq('wname') 函数求以wname命名的母小波的中心频率;

scal2frq(A,'wname',DELTA)函数能将尺度转换为实际频率,其中A为尺度,wname为小波名称,DELTA为采样周期。

经过版本的更新,cwt函数的使用方法存在一些不同,最明显的区别在于,新版本取消了自定义尺度函数scales的功能。同时新版本还更新替换了一部分小波函数。旧版本支持 ‘haar’,‘db’,‘sym’,‘cmor’,‘mexh’,‘gaus’,‘bior’等小波,新版本支持’morse’, 'amor’和 'bump’小波。新旧版本cwt函数可通过输入输出格式进行区分:

旧版本cwt用法为:coefs = cwt(x,scales,'wname')

新版本cwt用法为:[wt,f] = cwt(x,wname,fs)


2.3 参数使用

2.3.1时频成像清晰度--wavename

wavename=‘cmor3-3’:morlet小波的带宽参数和中心频率

带宽参数和中心频率的选择会影响时频成像结果的清晰度,进而影响有效时频信号的提取。这两个参数具体如何设置并没有查到具体的资料,能确定的是带宽和中心频率并不是信号的实际带宽与中心频率。通过实际遍历两个参数的组合,可知参数设置与显示效果并不是线性关系,但在多组数据的时频拟合中‘cmor3-3’的效果都不错,可作为首次分析的参数选择,再根据成像结果进行微调。

图 cmor1-1参数时频成像结果 

图 cmor3-3参数时频成像结果 

2.3.2 频率分辨率--totalscal

totalscal是尺寸序列的长度,这个参数与时频分析中的频率分辨率有关。

下图是在其他参数均相同时,totalscal分别选择256和8000的时频分布,通过将时频成像结果中的时间与频率进行有效信号的提取,可清楚看到在每一时刻的信号频率。

仔细分析两图可见,totalscal值决定频率分辨率。提高totalscal值,频率分辨率更高,可以看到在时间上频率的更微小变化,充分体现时频分析结果。

图 totalscal=8000的时频分布

 图 totalscal=256的时频分布

2.3.3 信号中心频率--fs

经过时频分析,信号在图像中显示的频率应当与实际频率一致。

假设发射一个180MHz的信号,那么时频分析结果应该是在180MHz左右。如果不在,可从以下方面查询原因:

(1)需要仔细检查一下采样率fs的设置,频率轴由采样频率决定。

(2)若采样率设置正确,而信号中心频率仍然不正确,需调整一下cmor3-3的带宽与中心频率的参数

本人在实际仿真中的结果通过这两个方法调整到了正确的频率范围。

 

 

 

 

 

  • 15
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暮霭露露

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值