我最近在做时频分析方面的研究,在对线性调频脉冲信号进行WVD分析的时候下方也出现了交叉项,不知道有没有会做的前辈帮我解答一下,谢谢了~
下面是我的程序和图~
clc
clear all
close all
%% ========================基本参数设置============================= %%
fs=35000;
TT=0.02;%LFM信号长度
N=fs*TT;
fl=3000;
fh=5000;
B=fh-fl;
k=B/TT;
tt=1/fs:1/fs:TT-1/fs;
L=256;%滤波器阶数
Hn=fir1(L,[2500 11500]*2/fs);
SNR=5;%信噪比
%% =========================信号的构造============================== %%
sig=sin(2*pi*fl*tt+pi*k*tt.^2);
sig1=[zeros(1,fs*0.01) sig zeros(1,fs*0.01) sig zeros(1,fs*0.01)];%脉冲信号
Nt=length(sig1);%脉冲信号点数
T=Nt/fs;%脉冲信号时长
TT=1/fs:1/fs:T;
noise=normrnd(0,1,1,Nt);
noise1=filter(Hn,1,[noise zeros(1,L/2)]);%补偿滤波器延迟
noise1=noise1(1,L/2+1:end);
bb1=var(sig);
cc1=10^(SNR/10);
cc=var(noise1);
cc3=bb1/cc1;
sig_addnoise=sqrt(cc3/cc).*noise1+sig1;%加入信噪比
figure
plot(TT,sig_addnoise,'k')
grid on
title('信号时域波形')
xlabel('时间/s')
ylabel('幅度/v')
xlim([0 T])
ylim([-3 3])
%% =========================时频分析============================== %%
[P,T,F1]=tfrwv(sig_addnoise');
figure
mesh(T/fs,F1(1:length(F1)/2)*fs,abs(P(1:length(F1)/2,:)));
axis tight
view(0,90);
colorbar
title('WVD时频分析')
xlabel('时间/s')
ylabel('频率/Hz')