matlab小波变换频率确定_从傅里叶变换进阶到小波变换(一)

一、傅里叶变换 (FT)

二、傅里叶变换(FT)的缺点与短时傅里叶变换(STFT)

三、短时傅里叶变换(STFT)的缺点与连续小波变换(CWT)

四、连续小波变换(CWT)的缺点与离散小波变换(DWT)

源代码:1368069096/From_FT_to_WT_examples-

一、傅里叶变换(FT)

1、傅里叶变换(FT)

在看这篇文章之前,你首先得有傅里叶变换(FOURIER TRANSFORM,简称FT)的基本知识。

我们都知道,傅里叶变换可以把一个信号从时域变换到频域。但是,我们必须要理解,为什么傅里叶变换可以把信号从时域转为频域呢?

傅里叶变换的形式为:

PS:傅里叶变换还存在系数,有的文章写的是

,有的文章写的是
,两个系数只要满足正变换系数乘上逆变换系数等于
即可。这是为了保证经过一次正变换和反变换之后,得到的信号与原信号幅值相同,与我们接下来的讨论关系不大。

我们知道,根据欧拉公式,

。也就是说,傅里叶变换的本质就是:将原始信号乘上一组三角函数(正余弦),之后在整个时间域上积分。就这么简单!

那么,为什么这么做就能将信号从时域转为频域呢?

我们来看一个信号:y = sin(3t),如下图:

d721052755abebb1346e4dcad9bec1ad.png

很好的周期性质,且每个周期的积分值都是0,是吧?如果对这个函数在

积分,那就是基本是0,因为
包含了无数个周期。PS:虽然这个积分在高数上不可积,但是你应该明白这里我要表达的意思:
因为良好的周期性,且每个周期积分值是0,那么最后在很长的一段时间区间上积分,得到的还是一个很小的数,近似为0。

我们来用一段较长的时间区间计算一下,

,符合我们的预计。

现在,我们来将这个信号乘上一个sin(4t) ,则信号变为y1 = sin(3t)*sin(4t),如下图:

95572016b7b8dcbd7573cb1e9e1b7a68.png

具有一个较短的小幅震动的周期和一个较长的主体周期,对吧?且每个主体周期的积分值都是0。同以上讨论,如果对这个函数在

积分,基本还接近于0,因为
包含了无数个主体周期。

我们来用一段较长的时间区间计算一下,

,也比较符合我们的预计。

之后呢,我们来将这个信号乘上一个sin(3.1t) ,则信号变为y2 = sin(3t)*sin(3.1t),如下图:

4ffe5bf57524c193ea343f06ab747a74.png

同样是有一个较短的小幅震动的周期和一个较长的主体周期,对吧?可以判断,每个主体周期的积分值都是0(虽然(0,50)这个区间没有完整地展示主题周期)。那么,依然同以上讨论,如果对这个函数在

积分,基本还接近于0,因为
包含了无数个主体周期。

我们来用之前的时间区间计算一下,

咦?这一次怎么距离0这么远了呢?

原因就是:对于sin(3t)*sin(4t),它的主体周期较短,(0,50)是包含了好几个主体周期的,也就是说(0,50)在某种程度上是类似于

的。但是,
对于sin(3t)*sin(3.1t),它的主体周期很长,(0,50)连它的一个完整的主体周期都没有包含,那么(0,50)是不能类似于
的,积分值自然就比较大。

我们此时可以这样小小总结一下,对于信号y = sin(3t),它的频率是3rad/s,(如果你喜欢用HZ,那就除以

,就是
HZ,这里使用rad/s,是为了与前面的傅里叶变换的公式中的w一致),而sin(4t)的频率是4rad/s,sin(3.1t)的频率是3.1rad/s。如果在
积分,那么y1 = sin(3t)*sin(4t),y2 = sin(3t)*sin(3.1t)的积分值都是0,也就是说,sin(4t)和sin(3.1t)在这里是没差别的。但是!!!
如果在一个有限区间内积分,由于sin(3.1t)的频率3.1rad/s,距离原信号y = sin(3t)的频率3rad/s更近,那么sin(3.1t)和sin(3t)的乘积,也就是y2 = sin(3t)*sin(3.1t)的积分的绝对值会更大,也就是会离0更远。这里已经显示出一定的频率选择性了。

最后,让我们请出我们今天的主角,将这个信号乘上一个自己同频率的sin(3t) ,则信号变为y3 = sin(3t)*sin(3t),如图:

ae3eb193e20e87f83d30b7af8047d1eb.png

Amazing!!!发现了什么?良好的周期性?还有呢?由于乘上了自己,任何时间的幅值都大于等于0了!不再满足周期内积分值为0这个条件了!那么,此时,我们对这个信号在

积分,就会得到一个非常非常大的数字。
这个很大很大的数字就告诉你,这个信号和你乘的信号是同频率的!这就是可以知道信号中具有哪些频率部分了,不是吗?

我们还是来用之前的时间区间计算一下,

是不是比其他的积分值都大了好多?

好了,我们已经知道,将一个信号乘上一个特定频率的sin函数,在

上积分,可以将信号中与sin函数同频率的部分筛选出来。那么,原则上讲,只要乘上所有频率的sin函数,并积分,不就知道原始信号中的所有频率部分了吗?

但是这样做需要把所有频率乘进去,做无数次计算哈!算不出来的。所以,我们将所乘的sin函数的频率作为符号变量w,来进行积分,即:

注意:这里的w只是一个符号,一个变量,这样的话,就只需要做一次积分,可以计算了。

计算出来X(w)之后,想知道特定的频率w0对应的积分值,直接将w0带入X(w)就立马得到积分值。也就知道原信号中是否含有这一频率的部分了。

好了,我们推导的这个式子,是不是与傅里叶变换的式子:

,很像了呢?

这就是傅里叶变换的原理!乘上带有符号变量的sin、cos函数,并积分,就知道原始信号中的所有频率部分啦!

2、傅里叶变换(FT)的正交性

傅里叶变换是一种变换。在变换中,我们将原始信号乘上的信号称为基函数

在傅里叶变换中,一系列不同频率的sin、cos等函数称为这个变换的基函数。至于为什么需要既使用sin,又使用cos,这涉及到一点点正交函数的概念。傅里叶变换中的不同频率的sin、cos等函数是正交函数,使用正交函数组成的基函数会带给变换一些方便。

我们都知道,向量

的内积为
正交的定义为内积为0,即
。如
表示x轴,
表示y轴,则
即意味着x轴与y轴正交。

假设有一个向量

在x轴上定位v,
在y轴上定位v。
当x轴与y轴正交时,意味着x坐标和y坐标表示的信息是彼此独立的,两坐标可以完全定位v。

那么,当我们已知向量v,已知x轴a与y轴b,如果知道v的坐标呢?答案就是,投影/内积

将v向x轴a做投影/内积:

,可以得到
;将v向y轴b做投影/内积:
,可以得到

类似的,函数

的内积定义如下:
函数正交的定义同样为内积为0,即
。PS:对于周期函数,定义中的积分区间为一个周期。

我们来看,

,因此,傅里叶变换中的不同频率的sin、cos等函数都是正交函数。我们
将cos想象为一个轴,将sin想象为一个轴 ,这两个轴,就张了一个 函数空间

我们已经知道,

的傅里叶变换为:

我们来看,实部

即相当于将
与cos做内积,即向cos轴投影,得到的是在这个函数空间内的cos坐标,也就是与cos的相似度;虚部
即相当于将
与sin做内积,即向sin轴投影,得到的是在这个函数空间内的sin坐标,也就是与sin的相似度。

因此,傅里叶变换之后,实部是与cos的相似度,虚部是与sin的相似度,傅里叶变换也就是与cos的相似度和与sin的相似度的总和,也就表示了相应的频率信息。

3、小例子

最后,我们对于y=sin(3t)做傅里叶变换(这里画图用的matlab的FFT,是FT的离散快速算法,不是积分出来的,但是原理是相同的,仅做展示使用),变换后的图像如下:

a27275cf8043bdc74de9a979822942f3.png

可以看到,与我们的预期相同,变换之后,在

处,出现了峰值,即表示该信号中包含了
的频率成分。

这里需要说明三点:

1、如果是理想的FT,即在

上积分,那么除了
的积分值将是
之外,其他任意频率处的值都应该是0,得到的将是一个冲击函数。但是,这里我用的是离散傅里叶变换(详见我的下一篇文章),可以暂时理解为
类似于我们讨论过的有限区间,当频率靠近3rad/s时(如之前提到的3.1rad/s的例子),也会积分出来一个较大的数值,所以这里不是一个冲击函数,而是一个山峰状的函数;

2、傅里叶变换之后是具有实部和虚部的,实部是与cos的相似度,虚部是与sin的相似度。我们要频率信息的时候,不管是与某一频率w的cos的相似还是与某一频率w的sin的相似,都是这一频率w嘛,不需要区分。因此,这里画图取了模,就不存在实部和虚部了。

3、在

处之所以没有出现我们讨论的很大很大很大的值,是因为我对于变换之后的幅值统一除以了信号取样点的个数,统一压缩了一定的倍数。

Anyway,这三点都不影响我们这篇文章的讨论。

1335:从傅里叶变换进阶到小波变换(二)​zhuanlan.zhihu.com
1335:从傅里叶变换进阶到小波变换(三)​zhuanlan.zhihu.com
1335:从傅里叶变换进阶到小波变换(四)​zhuanlan.zhihu.com

http://feihu.eng.ua.edu/NSF_TUES/w7_2.pdf (强烈安利,必看教程)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值