同步挤压变换和重新分配方法时频分析(TFA)解决海森堡不确定性原理(HUP)提供新的方法(Matlab代码实现)

????????欢迎来到本博客????????

??博主优势:??????博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

??座右铭:行百里者,半于九十。

??????本文目录如下:??????

目录

??1 概述

??2 运行结果

??3 参考文献

??4 Matlab代码实现


??1 概述

摘要:
时间频率(TF)分析方法在工业工程领域中是一个重要的工具。然而,受限于海森堡不确定性原理或意外的交叉项,传统的TF分析方法往往会产生模糊的TF表示,严重阻碍了其工程应用。如何为强烈时变信号生成集中的TF表示是一个具有挑战性的任务。本文提出了一种新的TF分析方法来研究强烈时变信号的非平稳特性。所提出的方法基于同步挤压变换,并采用迭代重新分配程序,以分步方式集中模糊的TF能量,同时保留信号重构能力。提供了离散算法的两种实现,表明所提出的方法具有有限的计算负担,并在实时应用中具有潜力。此外,我们引入了一种有效的算法来检测瞬时频率轨迹,可用于分解单分量模式。通过比较一些先进方法,利用数值和真实信号验证了所提出方法的有效性。通过比较,表明所提出的方法在处理强烈时变信号和嘈杂信号方面具有更好的性能。

同步挤压变换和重新分配方法应当被视为拓扑变换的一部分,这将为理解时频分析(TFA)带来全新的视角,并为克服海森堡不确定性原理(HUP)提供新的途径。这种方法的发展可能会为我们带来一种能够规避HUP限制的TFA方法,为我们在时频分析领域开辟新的可能性。通过对这些方法的深入研究和探索,我们有望在未来实现对时频分析的全新认识,为我们解决现有的理论和技术难题提供更为有效的手段。

同步挤压变换和重新分配方法是一种用于解决海森堡不确定性原理(HUP)的新方法,可以应用于时频分析(TFA)领域。

海森堡不确定性原理指出,无法同时准确确定一个粒子的位置和动量。在时频分析中,这意味着无法同时准确确定一个信号的时间和频率特性。传统的时频分析方法往往在时间和频率分辨率之间存在权衡,无法提供同时高时间和频率分辨率的分析结果。

同步挤压变换和重新分配方法通过对信号进行挤压变换,将信号在时间和频率上进行重新分配,从而提供了一种新的方法来解决HUP。这种方法可以在不损失时间和频率分辨率的情况下,同时准确地描述信号的时间和频率特性,克服了传统方法的局限性。

因此,同步挤压变换和重新分配方法为研究海森堡不确定性原理提供了新的途径,可以在时频分析领域中应用于信号处理、通信系统和物理学等领域,为相关领域的研究和应用提供了新的方法和思路。

??2 运行结果

主函数代码:
 

clear
load('Sig_noise.mat');

SampFreq = 100;
t = 1/SampFreq : 1/SampFreq : 4;

Sig = sin(2*pi*(17*t + 6*sin(1.5*t)))+sin(2*pi*(40*t + 1*sin(1.5*t)));
S1 = sin(2*pi*(40*t + 1*sin(1.5*t)));
S2 = sin(2*pi*(17*t + 6*sin(1.5*t)));

n=length(Sig);
time=(1:n)/SampFreq;
fre=(SampFreq/2)/(n/2):(SampFreq/2)/(n/2):(SampFreq/2);

IF1=40 + 1.5*cos(1.5*t);
IF2=17 + 6*1.5*cos(1.5*t);

x11=3.05; x22=3.55;
y11=13.5;   y22=23.5;

x1=3.05; x2=3.55;
y1=35.5;   y2=45.5;
[Ts1]=MSST_Y(Sig_noise(12,:)',50,1);
[Ts1_6]=MSST_Y_new(Sig_noise(12,:)',50,6);

gamma = 10^(-2);
sigma = 0.055;
SIF1=INT(IF1,time);
SIF2=INT(IF2,time);

[~,~,~,~,~,~,Ts2,Ts3,Ts4] = sstn(Sig_noise(12,:),gamma,sigma);
[RM]=RS_Y(Sig_noise(12,:)',50);
[~, DTs1] = SST2(Sig_noise(12,:)',100,150,IF1,SIF1);
[~, DTs2] = SST2(Sig_noise(12,:)',100,150,IF2,SIF2);
.................................................................
figure
suptitle('Fig. 2');
subplot(621)
imagesc(time,fre,abs(Ts1));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
rectangle('Position',[x11 y11 x22-x11 y22-y11],'EdgeColor','red','Linewidth',1);
ha=subplot(622);
imagesc(time,fre,abs(Ts1));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
set(ha,'xlim',[x11 x22],'ylim',[y11 y22]);

subplot(623)
imagesc(time,fre,abs(Ts1_6));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
rectangle('Position',[x11 y11 x22-x11 y22-y11],'EdgeColor','red','Linewidth',1);
ha=subplot(624);
imagesc(time,fre,abs(Ts1_6));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
set(ha,'xlim',[x11 x22],'ylim',[y11 y22]);

subplot(625)
imagesc(time,fre,abs(Ts2));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
rectangle('Position',[x11 y11 x22-x11 y22-y11],'EdgeColor','red','Linewidth',1);
ha=subplot(626);
imagesc(time,fre,abs(Ts2));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
set(ha,'xlim',[x11 x22],'ylim',[y11 y22]);

subplot(627)
imagesc(time,fre,abs(Ts4));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
rectangle('Position',[x11 y11 x22-x11 y22-y11],'EdgeColor','red','Linewidth',1);
ha=subplot(628);
imagesc(time,fre,abs(Ts4));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
set(ha,'xlim',[x11 x22],'ylim',[y11 y22]);

subplot(629)
imagesc(time,fre,abs(RM));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
rectangle('Position',[x11 y11 x22-x11 y22-y11],'EdgeColor','red','Linewidth',1);
ha=subplot(6,2,10);
imagesc(time,fre,abs(RM));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
set(ha,'xlim',[x11 x22],'ylim',[y11 y22]);

subplot(6,2,11)
imagesc(time,fre,abs(DTs1));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
rectangle('Position',[x11 y11 x22-x11 y22-y11],'EdgeColor','red','Linewidth',1);
ha=subplot(6,2,12);
imagesc(time,fre,abs(DTs1));axis xy;
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;
set(ha,'xlim',[x11 x22],'ylim',[y11 y22]);

...........................................................
t1=331;
figure
suptitle('Fig. 3');
subplot(211)
%plot(fre,abs(tfr(:,100)));hold on;
plot(fre,abs(Ts1(:,t1)),'b-','linewidth',2);hold on;
plot(fre,abs(RM(:,t1)),'k-','linewidth',2);
plot(fre,abs(Ts2(:,t1)),'c-','linewidth',2);
plot(fre,abs(Ts4(:,t1)),'g-','linewidth',2);
plot(fre,abs(DTs1(:,t1)),'m-','linewidth',2);
plot(fre,abs(Ts1_6(:,t1)),'r-','linewidth',2);
axis([39 42 0 1.5]);
legend('SST','RM','2nd-SST','4th-SST','DSST','MSST')
xlabel('Fre / Hz');
ylabel('Amp / V');

subplot(212)
%plot(fre,abs(tfr(:,300)));hold on;
plot(fre,abs(Ts1(:,t1)),'b-','linewidth',2);hold on;
plot(fre,abs(RM(:,t1)),'k-','linewidth',2);
plot(fre,abs(Ts2(:,t1)),'c-','linewidth',2);
plot(fre,abs(Ts4(:,t1)),'g-','linewidth',2);
plot(fre,abs(DTs1(:,t1)),'m-','linewidth',2);
plot(fre,abs(Ts1_6(:,t1)),'r-','linewidth',2);
axis([18 21 0 1.5]);
legend('SST','RM','2nd-SST','4th-SST','DSST','MSST')
xlabel('Fre / Hz');
ylabel('Amp / V');

..............................................................
Sig2 = Sig_noise(12,:)-Sig+sin(pi*(17*t + 6*sin(1.5*t)))+sin(pi*(40*t + 1*sin(1.5*t)));
[tfr_wv] = tfrwv(Sig2');
[tfr_pwv] = tfrpwv(Sig2');
[tfr_ridt] = tfrridt(Sig2');
[tfr_ridh] = tfrridh(Sig2');

tfr_wv=abs(tfr_wv(1:200,:));
tfr_pwv=abs(tfr_pwv(1:200,:));
tfr_ridt=abs(tfr_ridt(1:200,:));
tfr_ridh=abs(tfr_ridh(1:200,:));

figure;
suptitle('Fig. 4');
subplot(221);
imagesc(time,fre,abs(tfr_wv));
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;

subplot(222);
imagesc(time,fre,abs(tfr_pwv));
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;

subplot(223);
imagesc(time,fre,abs(tfr_ridt));
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;

subplot(224);
imagesc(time,fre,abs(tfr_ridh));
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy;

.................................................................
[Cs1] = Ridge_mult_detection_Y(abs(Ts1), 1:2, 2, 1, 5);
[Cs1_6] = Ridge_mult_detection_Y(abs(Ts1_6), 1:2, 2, 1, 5);

Cs1=sort(Cs1,'descend');
Cs1_6=sort(Cs1_6,'descend');

ds=1;
for k=1:2
for j=1:n
Ts1_sig(k,j)=sum(real(Ts1(max(1,Cs1(k,j)-ds):min(round(n/2),Cs1(k,j)+ds),j)));
Ts1_6_sig(k,j)=sum(real(Ts1_6(max(1,Cs1_6(k,j)-ds):min(round(n/2),Cs1_6(k,j)+ds),j)));
end
end

figure;
suptitle('Fig. 5');
subplot(121)
plot(time,IF1,'k-','linewidth',4);hold on;
plot(time,fre(Cs1),'r-','linewidth',1.5);
plot(time,IF2,'k-','linewidth',4);
plot(time,fre(Cs1),'r-','linewidth',1.5);
legend('True IF','Estimated IF');
axis ([0 4 0 50]);
xlabel('Time / s');
ylabel('Fre / Hz');

subplot(122)
plot(time,IF1,'k-','linewidth',4);hold on;
plot(time,fre(Cs1_6),'r-','linewidth',1.5);
plot(time,IF2,'k-','linewidth',4);
plot(time,fre(Cs1_6),'r-','linewidth',1.5);
axis ([0 4 0 50]);
xlabel('Time / s');
ylabel('Fre / Hz');
legend('True IF','Estimated IF');

figure;
suptitle('Fig. 6');
subplot(221)
plot(time,S1,'k-','linewidth',1.5);hold on;plot(time,Ts1_sig(1,:),'r-','linewidth',1);xlabel('Time / s');ylabel('Amp / V');axis ([0 4 -1.5 1.5]);
subplot(222)
plot(time,S2,'k-','linewidth',1.5);hold on;plot(time,Ts1_sig(2,:),'r-','linewidth',1);xlabel('Time / s');ylabel('Amp / V');axis ([0 4 -1.5 1.5]);
subplot(223)
plot(time,S1,'k-','linewidth',1.5);hold on;plot(time,Ts1_6_sig(1,:),'r-','linewidth',1);xlabel('Time / s');ylabel('Amp / V');axis ([0 4 -1.5 1.5]);
subplot(224)
plot(time,S2,'k-','linewidth',1.5);hold on;plot(time,Ts1_6_sig(2,:),'r-','linewidth',1);xlabel('Time / s');ylabel('Amp / V');axis ([0 4 -1.5 1.5]);
legend('Original signal','Reconstructed signal');

??3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

??4 Matlab代码实现