信号处理——时频分析

经典傅里叶变换的限制:

1、只能反映信号的整体特性;(完全是时域或频域)

2、要求信号满足平稳条件;

3、必须获得时域中的全部信息。

所以引入时频分析,同时使用时间和频率的联合函数来表示信号。

1 时频分析

1.1 短时Fourier变换

具体理论可以参看参考资料[1]的103~105页。

短时傅里叶变换的实现:

[tfr,t,f]=tfrstft(x)

tfr为短时傅里叶变换的变换系数,t为系数tfr对应的时刻,f为归一化频率向量。

例1:构建一个有256个点的正弦信号x,在[30,80]区间的频率为32Hz,在[140,190]区间的频率为64Hz。fs=256Hz.用tfrstft对x进行时频分析。

clc;
clear;
fs=256;
ts=1/fs;
N=256;
pt=0*ts:ts:(N-1)*ts;
t1=zeros(N,1);
t2=zeros(N,1);
t1(30:80)=pt(30:80);
t2(140:190)=pt(140:190);
f1=32;
f2=64;
x=sin(2*pi*f1*t1)+sin(2*pi*f2*t2);
figure(1);
subplot(311)
plot(pt,x);
xlabel('time/s');
ylabel('幅值');
title('时域图')
subplot(312)
[tfr,t,f]=tfrstft(x);
pcolor(t,f(1:N/2,1),abs(tfr([1:N/2],:)));
colorbar;
xlabel('采样点');
ylabel('归一化频率')
title('时频分布')
subplot(313)
t=(t-1)/fs;
f=f*fs;
pcolor(t,f(1:N/2,1),abs(tfr([1:N/2],:)));
xlabel('time/s');
ylabel('频率/Hz');
colorbar;

1.2 Gabor变换

理论部分在参考资料[1]中110~111.

Gabor变换以高斯函数为窗函数。

选择高斯函数的原因:1、高斯函数的傅里叶变换仍为高斯函数;2、Gabor变换是最优的窗口Fourier变换。

Gabor变换才是真正意义上的时间-频率分析。

Gabor变换的局限性:时间频率的宽度对所有频率是固定不变的。

matlab实现:

[tfr,dgr,gam]=tfrgabor(x)

[tfr,dgr,gam]=tfrgabor(x,N) N为Gabor系数的个数

[tfr,dgr,gam]=tfrgabor(x,N,Q) Q为过采样度。

例2 对信号进行gabor变换

clc;
clear;
fs=256;
t=0:1/fs:1-1/fs;
y=cos(20*pi.*t.*t)+cos(2*pi.*cos(6*pi.*t)+120*pi.*t);
tfrgabor(y',64,32)

1.3 Wigner-Ville时频分析

[1] 张玲玲 《基于matlab的机械故障诊断技术案例教程》

相关推荐
weixin_432702761 天前
统计信号处理基础 习题解答11-11
信号处理
Xiaoxll121 天前
基于盲信号处理的声音分离——最大化信噪比的ICA算法
信号处理
weixin_432702761 天前
统计信号处理基础 习题解答11-5
算法·信号处理
Xiaoxll121 天前
基于盲信号处理的声音分离-基于改进的信息最大化的ICA算法
信号处理
极客代码2 天前
进程间通信之信号全面总结与实例解析
c语言·开发语言·信号处理·signal·进程间通信
哥廷根数学学派3 天前
基于模糊神经网络的时间序列预测(以hopkinsirandeath数据集为例,MATLAB)
开发语言·人工智能·深度学习·神经网络·机器学习·matlab·信号处理
哥廷根数学学派3 天前
基于KNN的旋转机械故障诊断方法(MATLAB)
开发语言·人工智能·机器学习·支持向量机·matlab·信号处理
weixin_432702763 天前
统计信号处理基础 习题解答11-4
信号处理
weixin_432702763 天前
统计信号处理基础 习题解答11-12
信号处理
xwz小王子3 天前
IEEE JSTSP综述:从信号处理领域分析视触觉传感器的研究
信号处理