作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
根据雷达原理,匹配滤波系统输出信号比输入信号幅度增大倍。但是,在实际仿真过程中发现幅度增益与理论值不一致。这是因为该结论是在输入信号为模拟信号,并且将匹配滤波器的频谱归一化的前提下得出的。仿真中的信号是经过采样的数字信号,匹配滤波器的频谱也没有进行归一化。
根据采样理论,一个连续信号经采样后,采样信号的频谱幅度变为原信号频谱的Fs倍。回波信号和匹配滤波器分别进行傅里叶变换,相乘后再经过逆傅里叶变换,幅度总共比采样前增加Fs倍。未经归一化的模拟匹配滤波器的幅度为。所以,脉压后幅度增加为。
⛄ 部分代码
%% *****************模拟回波带fd的原理**********************
clear all
clc
close all
Fs = 10e6; %脉冲周期倒数
Bw = 30e6;%调频带宽30MHz
polar = 1;
fd = 0;
pulseNum = 16;
Pw = 100e-6;
PRT = 500e-6;
prtPointNum = PRT * Fs;
pwPointNum = Pw * Fs;
% 噪声增益计算
Gs(i, 1) = dpcsignalAmp/signaAmp;
Gn(i, 1) = dpcNoiseAmp/NoiseAmpBeforeDpc;
SNR0(i, 1) = db(signaAmp/NoiseAmpBeforeDpc);
SNR1(i, 1) = db(dpcsignalAmp/dpcNoiseAmp);
Gsnr(i, 1) = SNR1(i, 1) - SNR0(i, 1);
figure(10)
x = 1 : prtPointNum;
subplot(3, 1, 1)
plot(x, abs(signal_td_matrix(:, 1)), '-b')
grid
xlabel('t/s');
ylabel('幅度');
title('LFM信号real part');
subplot(3, 1, 2)
f = linspace(-Fs/2, Fs/2, Nfft) ./ 1e6; % 单位换算成MHz
dpcSys = fftshift(conj(fft(replica_matrix, Nfft))); % 滤波器系统函数
plot(f, abs(dpcSys(:, 1)), '-b')
xlabel('w/hz');
ylabel('幅度');
title('经过匹配滤波器后的频谱');
grid
subplot(3, 1, 3)
plot(x, echoPcMod(:, 1), '-b')
grid
title('脉压信号幅度')
end
Gsnr_avr = mean(Gsnr);
figure(1)
plot(Gsnr),
xlabel('运行次数')
ylabel('Gsnr(dB)')
title(['SNR增益均值:', num2str(Gsnr_avr)])
grid on
⛄ 运行结果
⛄ 参考文献
⛄ 完整代码
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料