LFM信号时频的Matlab仿真
理论知识
编程
LFM的频谱
先说频谱,频谱整明白了
%%
clc;clear;close all;
%% 参数初始化
A = 1; %信号幅度
f0 = 2e3; %频率/Hz
T = 1; %脉冲宽度/s
B = 1e3; %LFM信号带宽1k
k=B/T; %LFM调频斜率
fs = 10e3; %采样频率10k
N = T*fs; %采样点数
tt = linspace(-T/2,T/2,N);
t = linspace(0,T,N);
%% 产生发射信号
zt_lfm_in = A*exp(1i*(2*pi*f0*(tt)+pi*k*(tt).^2));
zt_lfm_in_fft = fft(zt_lfm_in);
len = length(zt_lfm_in_fft);
zt_lfm_out_fftshift = fftshift(zt_lfm_in_fft);
x_ref = (-len/2:len/2-1)*fs/len;
figure;plot(t,real(zt_lfm_in));
figure;plot(x_ref,abs(zt_lfm_out_fftshift));
上述程序,LFM中心频率给2k,带宽给1k,脉宽给1s,观察此条件下的频谱。
在构造LFM函数时,应该注意的是,要用以0为中心的时间区间带入函数式,再用以T/2为中心的时间区间画图。
tt = linspace(-T/2,T/2,N); %以0为中心
t = linspace(0,T,N); %以T/2为中心
这样才能让f0是线性调频的中心频率而不是起始频率!
更直观的表示。如下图:
可以看到上图的中心频率是2k,和预想一致。
上图中,2k做为了起始频率,和预想不一致。
剩下就没啥要注意的了,有个频谱横轴物理意义恢复,有个纵轴物理意义恢复(上述程序没管这个),LFM的频谱就算完事了。
注意,区别于实信号的对称谱线,LFM时域信号用的复信号形式,所以频谱不是双侧对称的。
LFM的时域信号
采样率足够的情况下,直接画就行,采样率不够的时候会有包络。
LFM的模糊度函数
待写。。。