记录LvD分布仿真实现过程
- 先实现单个LFM信号的WVD分布图
- 再实现单个的LFM信号瞬时对称相关的因子变换以后的信号的WVD图
- 如果可以仿真实现前面两步则继续实现多个LFM信号WVD
wv函数官方参考
[TFR,T,F]=tfrwv(X,T,N,TRACE)
计算WVD
- X:可以为单个信号X或者两个不同信号[X1,X2]
- T : 时间持续时间,默认是1:length(X)
- N :频点数量,默认是length(X)
- TRACE : 如果非零,则显示算法的进度(默认值:0)。
- TFR:时频表达式
- F:归一化频率
- 例子:
sig=fmlin(128,0.1,0.4); tfrwv(sig);
%subplot(m,n,p)表示的是图形分为m*n的网格,p为当前图片的位置
非平稳信号的生成
- 第一类是幅值调制信号,函数以
am开头比如amrect.m,amgauss.m
- 第二类是不同的频率调制信号,函数以
fm开头比如fmlin.m,fmhyp.m
- 第三类是预先定义好的信号,函数以
ana开头
fmlin函数
- 语法格式
[y,iflaw]=fmlin(N)
其中N是产生信号的点数[y,iflaw]=fmlin(N,fnormi,fnormf)
其中fnormi是初始的归一化频率,fnormf是最后的归一化频率;[y,iflaw]=fmlin(N,fnormi, fnormf )
其中t0是相位时间参考点- 输出的参数:
y 是返回产生的信号,iflaw是瞬时频率
fmlin产生LFM信号
%产生线性调频信号
[sig,f]=fmlin(256,0.05,0.3,50);
%LFMt-m图
figure(1);
plot(real(sig),'b-','LineWidth',2);
hold on;
plot(imag(sig),'ro--','LineWidth',1);
legend('实部','虚部');
xlabel('时间 t');
ylabel('幅值 A');
%LFM信号时频t-f图
figure(2);
plot(f,'g-','LineWidth',2);
legend('LFM信号t-f图');
xlabel('时间 t');
ylabel('频率 f');
figure(3);
tfrwv(sig);
产生的t-m图如下图:
产生的t-f图如下图所示:
产生的wvd图如下图所示:
LFM信号做WVD,WVD+H,画出对应的图形
- 代码:
%产生线性调频信号
%信噪比为1dB
N=64;
sig=sigmerge(fmlin(N,0,0.3),noisecg(N),1);
%时域波形
figure(1);
subplot(2,1,1);
plot(1:N,real(sig),'LineWidth',2);
xlabel('时间 t');
ylabel('幅值 A');
%计算Wigner-Ville分布
[tfr,t,f]=tfrwv(sig);
%显示Wigner-Ville分布等高线
figure(2);
contour(t,f,tfr);
xlabel('时间 t');
ylabel('频率 f');
%Hough变换
[WH,rho,theta]=htl(tfr,N,N);
figure(3);
mesh(rho,theta,WH);
xlabel('极半径 rho');
ylabel('角度 theta');
- t-m图:
- t-f等高线图:
- WVD-H三维图:
不用fmlin产生LFM,用理论表达式生成LFM信号
先考虑一个LFM信号而且没有噪声的情况