基于线调频小波变换的一维时间序列时频分析方法(MATLAB)

在机械故障诊断领域,振动信号的处理常采用以快速傅立叶变换为基础的相关分析、幅值分析、频谱分析等时域和频域分析方法。但经典的FFT存在固有缺点,即它虽然在频域范围内是完全局部化的,但是它不包含任何时域信息,因而不适于分析非平稳信号。近年来涌现的各种时频分析方法(短时傅立叶变换、Wigner-Ville分布、Cohen类时频分布、小波分析等)较好地解决了非平稳信号分析的问题 。小波分析又是其中运用最为成功的一种方法,具有良好的时频局部性、多尺度性和"数学显微"特性。但这种方法只适应于频率范围很窄的信号,不能满足设备振动信号的分析需要。

线调频小波变换源于19世纪20年代的光学研究,但将其作为信号处理的数学工具来研究,则只是最近几年的事。许多学者研究过采用基函数来表示和逼近信号的思想,用一系列的线性调频信号来逼近自然界中的各种信号,并提出了各种寻找与待分析信号最匹配的基函数的优化算法。线调频小波变换属于时间-频率-尺度变换,利用它作信号的谱估计,不仅具有小波变换谱估计方法高频域分辨率的优点,而且可以根据需要自由地选择尺度参数,谱估计值更准确有效,对非平稳信号的分析功能更加强大。线调频小波变换使用的时频分析网格除了时移、频移、尺度变化外,还有斜方向的拉伸与旋转变化,这些复杂形状的网格所提供的分析功能是短时傅立叶变换、小波变换等各种方法所无法企及的。

鉴于此,采用一种线调频小波变换对非平稳信号进行时频分析,运行环境为MATLAB R2018A。

Matlab 复制代码
for elec = 1:nChan  
    dataY = squeeze(data(elec,:)); % one sensor of data
    X=fft(dataY, Ly2);              % Fast Fourier transform
    Y=X.*H;                         % multiply power spectra (frequency-domain convolution)
    convDat=ifft(Y, Ly2, 2);        % Inverse fast Fourier transform
    convDat=convDat(:,1:1:Ly);      % Take just the first N elements
    if t_even==1
        wavDat(elec,:,:) = convDat(:,half_of_wavelet_size:end-half_of_wavelet_size); %remove half of wavelet from either side
    else
        wavDat(elec,:,:) = convDat(:,half_of_wavelet_size+1:end-half_of_wavelet_size); %remove half of wavelet from either side
    end
    %update progress bar
    prog=100*(elec/size(data,1));
    fprintf(1,'\b\b\b\b%3.0f%%',prog);
end
fprintf(1,'\n');

%format
tfRes.power = squeeze(reshape(abs(wavDat).^2,nChan,numel(freqs),nTimes,nTrls)); %power, reshape back
tfRes.phase = squeeze(reshape(angle(wavDat),nChan,numel(freqs),nTimes,nTrls)); %phase, reshape back
tfRes.freqs=freqs;
tfRes.times=0:1/Fs:((1/Fs)*nTimes)-(1/Fs);
tfRes.nsensor=nChan;
tfRes.ntrls=nTrls;
tfRes.Fs=Fs;
tfRes.cycles = cycles;
tfRes.method='wavelet';

完整代码:https://mbd.pub/o/bread/ZJqTk5Zs

tfRes.scale = 'linear';
  • 擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
相关推荐
mingchen_peng几秒前
第一章 初识智能体
算法
百锦再3 分钟前
国产数据库的平替亮点——关系型数据库架构适配
android·java·前端·数据库·sql·算法·数据库架构
m0_650108244 分钟前
Vision-Language-Action 模型在自动驾驶中的应用(VLA4AD)
论文阅读·人工智能·自动驾驶·端到端自动驾驶·vla4ad·自动驾驶与多模态大模型交叉
爱笑的眼睛1111 分钟前
文本分类的范式演进:从统计概率到语言模型提示工程
java·人工智能·python·ai
星川皆无恙16 分钟前
基于知识图谱+深度学习的大数据NLP医疗知识问答可视化系统(全网最详细讲解及源码/建议收藏)
大数据·人工智能·python·深度学习·自然语言处理·知识图谱
美狐美颜SDK开放平台21 分钟前
自研还是接入第三方?直播美颜sdk与滤镜功能的技术选型分析
人工智能·美颜sdk·直播美颜sdk·美颜api·美狐美颜sdk
weixin_4166600722 分钟前
插件分享:将AI生成的数学公式无损导出为Word文档
人工智能·ai·word·论文·数学公式·deepseek
毕设源码-钟学长24 分钟前
【开题答辩全过程】以 基于PHP的家常菜谱教程网站为例,包含答辩的问题和答案
开发语言·php
PM老周24 分钟前
DORA2025:如何用AI提升研发效能(以 ONES MCP Server 为例)
大数据·人工智能