欢迎来到本博客️️
博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
️座右铭:行百里者,半于九十。
本文目录如下:
目录
️赠与读者
做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......
1 概述
摘要:许多信号包含多个成分,这些成分具有随时间变化的瞬时频率(IF),且共享一个共同的轨迹趋势,例如机械振动信号、语音信号和生物医学信号。为了分析这类信号并实现高时间-频率分辨率,本文提出了一种称为参数化重采样时频变换(PRTF变换)的方法。借鉴广义参数化时频变换(GPTF变换)的思想,我们使用参数化的核函数来表示重采样函数,并进一步构建时变和时不变的重采样算子以消除IF变化并重新定位IF位置。这些算子能够同时提高时频表示(TFR)中多个成分的能量集中度。针对不同类型的信号,提供了包含多项式函数和傅里叶级数在内的典型核函数。提出了一种相应的核估计方法,该方法利用多个成分来检测IF的共享趋势,并递归逼近核参数。数值仿真和实际实验均表明,所提方法能有效提升非平稳多成分信号的时频表示时间-频率分辨率。
在本论文中,我们研究了包含单趋势非线性调频模式(MTNCMs)的信号。我们提出了参数化重采样时频变换(PRTF变换),旨在以高时间-频率分辨率找到MTNCMs的时频表示(TFR)。与单独检测不同成分的瞬时频率(IF)不同,我们分析了多个成分共有的实时频率(RTF)。基于重采样在消除IF变化方面的作用,我们构建并应用了时变和时不变的重采样算子至信号中。这些算子能同时增强所有MTNCMs的能量集中度。提出的变换被证明具有多种性质,包括频率偏移性质和能量守恒性质。为了构建合适的算子,我们提出了一种核估计方法,通过缩放和平比不同时间点的瞬时幅值谱直接检测RTF。数值模拟和实际实验均显示了我们方法的有效性。进一步探索并验证了实际应用,如IF估计、模式提取及去噪。如上述实际案例所示,所提出的方法适用于具有一个共同RTF的非平稳多成分信号,如振动信号和声音信号。未来工作中,我们将进一步发展此方法,以实现对含有多个RTF的多成分信号进行非线性调频模式分解,并将其应用于各个领域。此外,鉴于解调是除GPTF变换之外许多时频分析方法中的基本操作,希望本文讨论的重采样理论能促进其他先前的TFR方法适应自然非平稳信号分析。详细文章见第4部分。
2 运行结果
部分代码:
% Window function
Win = gausswin(2*PLen-1,(2*PLen-1)/(WinLen/2));
% Initializing the spectrogram matrix
Spec = zeros(SigLen,SigLen) ;
%% Calculate
for iLoop = 1:SigLen
if(mod(iLoop,shift)==1)
waitbar(iLoop/SigLen,f_wait, strcat("Calculating:",string(ceil(iLoop/SigLen*100)),"%"));
% Windowed signal
SigWin = PSig.*Win(PLen-iLoop+1:2*PLen-iLoop);
% Resampling function
r_d_t = FSval(F0,coef_f,t(iLoop));
tau_tilde = FSval(F0,coef_r,Pt )+coef_f(1)*Pt';
tau_tilde_tilde = tau_tilde/r_d_t;
% Amplitude modulation
Sig_Win_am = SigWin;%./sqrt(r_d_t).*sqrt(FSval(F0,coef_f,Pt));
% Resampling
if tau_tilde_tilde(end)<Pt(end)
tmp_Len = round(tau_tilde_tilde(end)*SampFreq);
re_Sig_Win_am = interp1(tau_tilde_tilde,Sig_Win_am,Pt(1:tmp_Len), "PCHIP");
re_Sig_Win_am = [re_Sig_Win_am'; zeros(PLen-tmp_Len,1)];
else
re_Sig_Win_am = interp1(tau_tilde_tilde,Sig_Win_am, Pt, "PCHIP");
end
% Discrete freqency transform
Spec_iLoop = fft(re_Sig_Win_am);
Spec_iLoop_re = Spec_iLoop(1:padding_times:end);
Spec(:,iLoop) = Spec_iLoop_re;
3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
4 Matlab代码、文章
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取
文章评论