短时傅里叶变换怎样在MATLAB中做短时傅立叶变换

短时傅里叶变换  时间:2021-09-21  阅读:()

短时傅立叶变换原理

短时傅里叶变换是给信号在时域上加窗,把信号分成一小段一小段,分别做傅里叶变换; 小波变换直接更换了基函数,将无限长的三角函数基换成了有限长的会衰减的小波基。

相比于窗宽窄不能变化的短时傅里叶变换,小波基的尺度可以伸缩,从而解决了时域、 频域分辨率不可兼得的问题,并且可以实现正交化。

傅里叶变换的例子

一个关于实数离散傅里叶变换(Real DFT)实例 先来看一个变换实例,一个原始信号的长度是16,于是可以把这个信号分解9个余弦波和9个正弦波(一个长度为N的信号可以分解成N/2+1个正余弦信号,这是为什么呢?结合下面的18个正余弦图,我想从计算机处理精度上就不难理解,一个长度为N的信号,最多只能有N/2+1个不同频率,再多的频率就超过了计算机所能所处理的精度范围),如下图: 9个正弦信号: 9个余弦信号: 把以上所有信号相加即可得到原始信号,至于是怎么分别变换出9种不同频率信号的,我们先不急,先看看对于以上的变换结果,在程序中又是该怎么表示的,我们可以看看下面这个示例图: 上图中左边表示时域中的信号,右边是频域信号表示方法,从左向右表示正向转换(Forward DFT),从右向左表示逆向转换(Inverse DFT),用小写x[]表示信号在每个时间点上的幅度值数组, 用大写X[]表示每种频率的幅度值数组, 因为有N/2+1种频率,所以该数组长度为N/2+1,X[]数组又分两种,一种是表示余弦波的不同频率幅度值:Re X[],另一种是表示正弦波的不同频率幅度值:Im X[],Re是实数(Real)的意思,Im是虚数(Imagine)的意思,采用复数的表示方法把正余弦波组合起来进行表示,但这里我们不考虑复数的其它作用,只记住是一种组合方法而已,目的是为了便于表达(在后面我们会知道,复数形式的傅里叶变换长度是N,而不是N/2+1)。

用Matlab进行傅里叶变换 FFT是离散傅里叶变换的快速算法,可以将一个信号变换到频域。

有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。

这就是很多信号分析采用FFT变换的原因。

另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。

FFT结果的具体物理意义。

一个模拟信号,经过ADC采样之后,就变成了数字信号。

采样定理告诉我们,采样频率要大于信号频率的两倍。

采样得到的数字信号,就可以做FFT变换了。

N个采样点,经过FFT之后,就可以得到N个点的FFT结果。

为了方便进行FFT运算,通常N取2的整数次方。

假设采样频率为Fs,信号频率F,采样点数为N。

那么FFT之后结果就是一个为N点的复数。

每一个点就对应着一个频率点。

这个点的模值,就是该频率值下的幅度特性。

具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。

而第一个点就是直流分量,它的模值就是直流分量的N倍。

而每个点的相位呢,就是在该频率下的信号的相位。

第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。

例如某点n所表示的频率为:Fn=(n-1)*Fs/N。

由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。

1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。

如果要提高频率分辨力,则必须增加采样点数,也即采样时间。

频率分辨率和采样时间是倒数关系。

假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=根号a*a+b*b,相位就是Pn=atan2(b,a)。

根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。

对于n=1点的信号,是直流分量,幅度即为A1/N。

由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。

下面以一个实际的信号来做说明。

假设我们有一个信号,它含有2V的直流分量,频率为50Hz、相位为-30度、幅度为3V的交流信号,以及一个频率为75Hz、相位为90度、幅度为1.5V的交流信号。

用数学表达式就是如下:S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)。

式中cos参数为弧度,所以-30度和90度要分别换算成弧度。

我们以256Hz的采样率对这个信号进行采样,总共采样256点。

按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是1Hz,第n个点的频率就是n-1。

我们的信号有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第51个点、第76个点上出现峰值,其它各点应该接近0。

实际情况如何呢?我们来看看FFT的结果的模值如图所示。

从图中我们可以看到,在第1点、第51点、和第76点附近有比较大的值。

我们分别将这三个点附近的数据拿上来细看: 1点: 512+0i 2点: -2.6195E-14 - 1.4162E-13i 3点: -2.8586E-14 - 1.1898E-13i 50点:-6.2076E-13 - 2.1713E-12i 51点:332.55 - 192i 52点:-1.6707E-12 - 1.5241E-12i 75点:-2.2199E-13 -1.0076E-12i 76点:3.4315E-12 + 192i 77点:-3.0263E-14 +7.5609E-13i 很明显,1点、51点、76点的值都比较大,它附近的点值都很小,可以认为是0,即在那些频率点上的信号幅度为0。

接着,我们来计算各点的幅度值。

分别计算这三个点的模值,结果如下: 1点: 512 51点:384 76点:192 按照公式,可以计算出直流分量为:512/N=512/256=2;50Hz信号的幅度为:384/(N/2)=384/(256/2)=3;75Hz信号的幅度为192/(N/2)=192/(256/2)=1.5。

可见,从频谱分析出来的幅度是正确的。

然后再来计算相位信息。

直流信号没有相位可言,不用管它。

先计算50Hz信号的相位,atan2(-192, 332.55)=-0.5236,结果是弧度,换算为角度就是180*(-0.5236)/pi=-30.0001。

再计算75Hz信号的相位,atan2(192, 3.4315E-12)=1.5708弧度,换算成角度就是180*1.5708/pi=90.0002。

可见,相位也是对的。

根据FFT结果以及上面的分析计算,我们就可以写出信号的表达式了,它就是我们开始提供的信号。

总结:假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。

相位的计算可用函数atan2(b,a)计算。

atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。

要精确到xHz,则需要采样长度为1/x秒的信号,并做FFT。

要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。

解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度达到需要的点数,再做FFT,这在一定程度上能够提高频率分辨力。

具体的频率细分法可参考相关文献。

怎样在MATLAB中做短时傅立叶变换

假设原数据存储在A(...)里面 就这样: B=abs(fft(A)) plot(B) 但这样的横坐标是从1到A的元素个数,并没有意义。

要量化到采样频率: 假设采样率fs,A共有777个元素 则: C=linspace(0,fs,778) 记住要加一。

C(778)=[ ] 把多的那一个去掉。

具体原因,比较复杂。

然后就plot(C,B) 此时横坐标:频率 纵坐标:幅度 但fs/2--fs的那一段其实和前面的对称,可以忽略。

纵坐标,是幅度。

UCloud:全球大促降价,云服务器全网最低价,1核1G快杰云服务器47元/年

ucloud:全球大促活动降价了!这次云服务器全网最低价,也算是让利用户了,UCloud商家调低了之前的促销活动价格,并且新增了1核1G内存配置快杰型云服务器,价格是47元/年(也可选2元首月),这是全网同配置最便宜的云服务器了!UCloud全球大促活动促销机型有快杰型云服务器和通用型云服务器,促销机房国内海外都有,覆盖全球20个城市,具体有北京、上海、广州、香港、 台北、日本东京、越南胡志明市、...

创梦网络-四川大带宽、镇江电信服务器云服务器低至56元

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

hostkey俄罗斯、荷兰GPU显卡服务器/免费Windows Server

Hostkey.com成立于2007年的荷兰公司,主要运营服务器出租与托管,其次是VPS、域名、域名证书,各种软件授权等。hostkey当前运作荷兰阿姆斯特丹、俄罗斯莫斯科、美国纽约等数据中心。支持Paypal,信用卡,Webmoney,以及支付宝等付款方式。禁止VPN,代理,Tor,网络诈骗,儿童色情,Spam,网络扫描,俄罗斯色情,俄罗斯电影,俄罗斯MP3,俄罗斯Trackers,以及俄罗斯法...

短时傅里叶变换为你推荐
400电话会议收费电视电话会议怎么收费的?电子系统设计什么是电子设计信息系统等级测评什么是信息安全等级保护,评测标准??番禺网站优化广州网站优化的公司网站优化最最专业的哪家中山大学南校区地址中山大学各个校区的地址,专业分布杭州工作室我想找杭州最好的摄影工作室高清网络球机百万网络高速球机。除了海康,大华品牌之外。还有哪些品牌?性价比好的,fusioninsight苹果A10X Fusion处理器性有多强北京理工大学图书馆北京理工大学珠海学院图书馆允许外人入内吗?我想进去查些资料.顶尖设计网国内有哪些顶尖设计师
万网域名查询 服务器租用托管 lamp安装 yardvps 流媒体服务器 sockscap 名片模板psd 网站保姆 xfce 好看的桌面背景图 免费网络电视 申请空间 网盘申请 免费个人空间申请 40g硬盘 域名转向 炎黄盛世 免费申请网站 免费phpmysql空间 hktv 更多