Lfm 的 matlab 实现
>> close all
clear all
BandWidth=2e6;%发射信号带宽 2M
TimeWidth=42e-6;%发射信号时宽 42us
Fs=6e6;%采样频率率 6m
SampleNumber=TimeWidth*Fs;%实际点数
Lfm=zeros(1,SampleNumber);
for i=1:SampleNumber
Lfm(i)=exp(j*pi*BandWidth/TimeWidth*(i/Fs)^2);%LFM 计算公式
end
coeff=conj(fliplr(Lfm));%回波
result=conv(Lfm,coeff);%卷积
figure
subplot(2,1,1);
plot(real(Lfm));
subplot(2,1,2);
plot(real(result));
方法二:
>> %% Pulse Compress
clear all; close all; clc;
% LFM parameter
B = 4e+6; % 4MHz 带宽
Tao = 200e-6; % 200us 时宽
T = 2e-3; % 2ms 脉冲重复周期
fs = 8e+6; %采样频率
SNR = 20; % 信噪比 20dB
dis = T*fs/2; % 将目标设置在回波中间处
% Generate LFM
t = -round(Tao*fs/2):1:round(Tao*fs/2)-1; % 脉冲采样点
lfm = (10^(SNR/20))*exp(1i*pi*B/Tao*(t/fs).^2);
figure;
subplot(2,1,1); plot(real(lfm),'b'); title('线性调频信号实部');