前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >雷达基础导论及MATLAB仿真

雷达基础导论及MATLAB仿真

作者头像
Gnep@97
发布2023-10-20 14:20:47
5900
发布2023-10-20 14:20:47
举报
文章被收录于专栏:Gnep's_Technology_Blog

前言

本文对雷达基础导论的内容以思维导图的形式呈现,有关仿真部分进行了讲解实现。


一、雷达基础导论

思维导图如下图所示,如有需求请到文章末尾端自取。

在这里插入图片描述
在这里插入图片描述

二、Matlab 仿真

1、SNR 相对检测距离的仿真

雷达方程:

(SNR)_o=\frac{P_tG^2 \lambda^2\sigma }{(4\pi)^3kT_eBFLR^4}

下面在三种不同数值的 RCS(雷达截面积)和三种不同数值的雷达峰值功率的情况下,对 SNR(信噪比) 相对检测距离的情况进行 Matlab 仿真

①、Matlab 源码

radar_eq.m

代码语言:javascript
复制
function [snr] = radar_eq(pt, freq, g, sigma, te, b, nf, loss, range)
% This program implements Eq. (1.56)
c = 3.0e+8; % speed of light
lambda = c / freq; % wavelength
p_peak = 10*log10(pt); % convert peak power to dB
lambda_sqdb = 10*log10(lambda^2); % compute wavelength square in dB
sigmadb = 10*log10(sigma); % convert sigma to dB
four_pi_cub = 10*log10((4.0 * pi)^3); % (4pi)^3 in dB
k_db = 10*log10(1.38e-23); % Boltzman's constant in dB
te_db = 10*log10(te); % noise temp. in dB
b_db = 10*log10(b); % bandwidth in dB
range_pwr4_db = 10*log10((range).^4); % vector of target range^4 in dB
% Implement Equation (1.56)
num = p_peak + g + g + lambda_sqdb + sigmadb;
den = four_pi_cub + k_db + te_db + b_db + nf + loss + range_pwr4_db;
snr = num - den;
return

相关参数说明:

符号

描述

单位

状态

pt

峰值功率

W

输入

freq

雷达中心频率

Hz

输入

g

天线增益

dB

输入

sigma

目标截面积

m 2 m^2 m2

输入

te

有效噪声温度

K

输入

b

带宽

Hz

输入

nf

噪声系数

dB

输入

loss

雷达损失

dB

输入

range

目标距离(单位或矢量)

m

输入

snr

SNR(单值或矢量,根据输入距离)

dB

输出

m^2

输入te有效噪声温度K输入b带宽Hz输入nf噪声系数dB输入loss雷达损失dB输入range目标距离(单位或矢量)m输入snrSNR(单值或矢量,根据输入距离)dB输出

函数 “radar.m” 的设计使它对于输入“距离”,可以接受单个数值,或包含很多距离值的矢量

fig1_12.m

代码语言:javascript
复制
close all
clear all
pt = 1.5e+6; % peak power in Watts
freq = 5.6e+9; % radar operating frequency in Hz
g = 45.0; % antenna gain in dB
sigma = 0.1; % radar cross section in m squared
te = 290.0; % effective noise temperature in Kelvins
b = 5.0e+6; % radar operating bandwidth in Hz
nf = 3.0; %noise figure in dB
loss = 6.0; % radar losses in dB
range = linspace(25e3,165e3,1000); % range to target from 25 Km 165 Km, 1000 points
snr1 = radar_eq(pt, freq, g, sigma, te, b, nf, loss, range);
snr2 = radar_eq(pt, freq, g, sigma/10, te, b, nf, loss, range);
snr3 = radar_eq(pt, freq, g, sigma*10, te, b, nf, loss, range);
% plot SNR versus range
figure(1)
rangekm  = range ./ 1000;
plot(rangekm,snr3,'k',rangekm,snr1,'k -.',rangekm,snr2,'k:')
grid
legend('\sigma = 0 dBsm','\sigma = -10dBsm','\sigma = -20 dBsm')
xlabel ('Detection range - Km');
ylabel ('SNR - dB');
snr1 = radar_eq(pt, freq, g, sigma, te, b, nf, loss, range);
snr2 = radar_eq(pt*.4, freq, g, sigma, te, b, nf, loss, range);
snr3 = radar_eq(pt*1.8, freq, g, sigma, te, b, nf, loss, range);
figure (2)
plot(rangekm,snr3,'k',rangekm,snr1,'k -.',rangekm,snr2,'k:')
grid
legend('Pt = 2.16 MW','Pt = 1.5 MW','Pt = 0.6 MW')
xlabel ('Detection range - Km');
ylabel ('SNR - dB');
②、仿真

仿真参数默认如下: 峰值功率

P_t=1.5

MW,工作频率

f_0=5.6

GHz,天线增益

G=45

dB,有效温度

T_e=290

K,雷达损失

L=6

dB,噪声系数

F=3

dB,雷达带宽

B=5

MHz,雷达最小和最大检测距离是

R_{min}=25

km 和

R_{max}=165

km,假定目标截面积

\sigma=0.1
m^2
1)、不同 RCS,SNR 相对检测距离仿真
在这里插入图片描述
在这里插入图片描述

对三种不同数值的 RCS,SNR 相对检测距离的曲线

注:分贝平方米(dBsm):用雷达散射截面的对数值的十倍来表示,符号是σ dBsm,单位是分贝平方米(dBsm),即σ dBsm=10lgσ。例如,RCS 值 0.1 平方米对应的是 -10 分贝平方米(即 -10dBsm)。

结论:从图中可以看到 RCS(雷达截面积)越大,雷达信噪比越大,且随着距离的增加,雷达信噪比逐渐减小;

2)、不同雷达峰值功率,SNR 相对检测距离仿真
在这里插入图片描述
在这里插入图片描述

对三种不同数值的雷达峰值功率,SNR 相对检测距离的曲线 结论:从图中可以看到雷达峰值功率越大,雷达信噪比越大,且随着距离的增加,雷达信噪比逐渐减小

2、脉冲宽度相对所要求的 SNR 仿真

雷达检测门限:

(SNR)_{o_{max}}=\frac{P_tG^2\lambda^2\sigma}{(4\pi)^3kT_eBFLR^4_{max}}

可以推出脉冲宽度

\tau=\frac{(4\pi)^3kT_eFLR^4SNR}{P_tG^2\lambda^2\sigma}

下面在三种不同的检测距离数值的情况下,对脉冲宽度相对所要求 SNR(信噪比)的情况进行 Matlab 仿真

①、Matlab 源码

fig1_13.m

代码语言:javascript
复制
close all
clear all
pt = 1.e+6; % peak power in Watts
freq = 5.6e+9; % radar operating frequency in Hz
g = 40.0; % antenna gain in dB
sigma = 0.1; % radar cross section in m squared
te =300.0; % effective noise temperature in Kelvins
nf = 5.0; %noise figure in dB
loss = 6.0; % radar losses in dB
range = [75e3,100e3,150e3]; % three range values
snr_db = linspace(5,20,200); % SNR values from 5 dB to 20 dB 200 points
snr = 10.^(0.1.*snr_db); % convert snr into base 10
gain = 10^(0.1*g); %convert antenna gain into base 10
loss = 10^(0.1*loss); % convert losses into base 10
F = 10^(0.1*nf); % convert noise figure into base 10
lambda = 3.e8 / freq; % compute wavelength
% Implement Eq.(1.57)
den = pt * gain * gain * sigma * lambda^2;
num1 = (4*pi)^3 * 1.38e-23 * te * F * loss * range(1)^4 .* snr;
num2 = (4*pi)^3 * 1.38e-23 * te * F * loss * range(2)^4 .* snr;
num3 = (4*pi)^3 * 1.38e-23 * te * F * loss * range(3)^4 .* snr;
tau1 = num1 ./ den ;
tau2 = num2 ./ den;
tau3 = num3 ./ den;
% plot tau versus snr
figure(1)
semilogy(snr_db,1e6*tau1,'k',snr_db,1e6*tau2,'k -.',snr_db,1e6*tau3,'k:')
grid
legend('R = 75 Km','R = 100 Km','R = 150 Km')
xlabel ('Minimum required SNR - dB');
ylabel ('\tau (pulse width) in \mu sec');
②、仿真

仿真参数参考上面代码

以下为不同检测距离,脉冲宽度相对所要求的 SNR 仿真

在这里插入图片描述
在这里插入图片描述

对三种不同的检测距离数值,脉冲宽度相对所要求的 SNR 曲线 结论:从图中可以看到随着雷达 SNR 的增加,脉冲宽度逐渐增大;对应于同一雷达 SNR,距离越远所需要的脉冲宽度越宽

3、功率孔径积相对于距离仿真 及 平均功率相对于孔径大小仿真

搜索雷达方程:

SNR=\frac{P_{av}A\sigma}{4\pi kT_eFLR^4}\frac{T_{sc}}{\Omega}

功率孔径积:

P_{av}A
①、Matlab 源码

power_aperture.m

代码语言:javascript
复制
function PAP = power_aperture(snr,tsc,sigma,range,te,nf,loss,az_angle,el_angle)
% This program implements Eq. (1.67)
Tsc = 10*log10(tsc); % convert Tsc into dB
Sigma = 10*log10(sigma); % convert sigma to dB
four_pi = 10*log10(4.0 * pi); % (4pi) in dB
k_db = 10*log10(1.38e-23); % Boltzman's constant in dB
Te = 10*log10(te); % noise temp. in dB
range_pwr4_db = 10*log10(range.^4); % target range^4 in dB
omega = (az_angle/57.296) * (el_angle / 57.296); % compute search volume in steraradians
Omega = 10*log10(omega); % search volume in dB
% implement Eq. (1.67)
PAP = snr + four_pi + k_db + Te + nf + loss + range_pwr4_db + Omega ...
    - Sigma - Tsc;
return

相关参数说明:

符号

描述

单位

状态

snr

灵敏度snr

dB

输入

tsc

扫描时间

s

输入

sigma

目标截面积

m 2 m^2 m2

输入

range

目标距离(单位或矢量)

m

输入

te

有效噪声温度

K

输入

nf

噪声系数

dB

输入

loss

雷达损失

dB

输入

az_angle

搜索区域的方位角范围

∘ ^\circ ∘

输入

el_angle

搜索区域的俯仰角范围

∘ ^\circ ∘

输入

PAP

功率孔径积

dB

输出

m^2

输入range目标距离(单位或矢量)m输入te有效噪声温度K输入nf噪声系数dB输入loss雷达损失dB输入az_angle搜索区域的方位角范围

^\circ

输入el_angle搜索区域的俯仰角范围

^\circ

输入PAP功率孔径积dB输出

fig1_16.m

代码语言:javascript
复制
close all
clear all
tsc = 2.5; % Scan time i s2.5 seconds
sigma = 0.1; % radar cross section in m sqaured
te = 900.0; % effective noise temperature in Kelvins
snr = 15; % desired SNR in dB
nf = 6.0; %noise figure in dB
loss = 7.0; % radar losses in dB
az_angle = 2; % search volume azimuth extent in degrees
el_angle = 2; %serach volume elevation extent in degrees
range = linspace(20e3,250e3,1000); % range to target from 20 Km 250 Km, 1000 points
pap1 = power_aperture(snr,tsc,sigma/10,range,te,nf,loss,az_angle,el_angle);
pap2 = power_aperture(snr,tsc,sigma,range,te,nf,loss,az_angle,el_angle);
pap3 = power_aperture(snr,tsc,sigma*10,range,te,nf,loss,az_angle,el_angle);
% plot power aperture prodcut versus range
% figure 1.16a
figure(1)
rangekm  = range ./ 1000;
plot(rangekm,pap1,'k',rangekm,pap2,'k -.',rangekm,pap3,'k:')
grid
legend('\sigma = -20 dBsm','\sigma = -10dBsm','\sigma = 0 dBsm')
xlabel ('Detection range in Km');
ylabel ('Power aperture product in dB');
% generate Figure 1.16b
lambda = 0.03; % wavelength in meters
G = 45; % antenna gain in dB
ae = linspace(1,25,1000);% aperture size 1 to 25 meter squared, 1000 points
Ae = 10*log10(ae);
range = 250e3; % rnage of interset is 250 Km
pap1 = power_aperture(snr,tsc,sigma/10,range,te,nf,loss,az_angle,el_angle);
pap2 = power_aperture(snr,tsc,sigma,range,te,nf,loss,az_angle,el_angle);
pap3 = power_aperture(snr,tsc,sigma*10,range,te,nf,loss,az_angle,el_angle);
Pav1 = pap1 - Ae;
Pav2 = pap2 - Ae;
Pav3 = pap3 - Ae;
figure(2)
plot(ae,Pav1,'k',ae,Pav2,'k -.',ae,Pav3,'k:')
grid
xlabel('Aperture size in square meters')
ylabel('Pav in dB')
legend('\sigma = -20 dBsm','\sigma = -10dBsm','\sigma = 0 dBsm')
②、仿真

仿真参数默认如下:

σ \sigma σ

T s c T_{sc} Tsc​

θ e = θ a \theta_e=\theta_a θe​=θa​

R

T_e

n f ∗ l o s s nf*loss nf∗loss

s n r snr snr

0.1 m 2 0.1m^2 0.1m2

2.5 s 2.5s 2.5s

2 ∘ 2^\circ 2∘

252 k m 252km 252km

900 K 900K 900K

13 d B 13dB 13dB

15 d B 15dB 15dB

\sigma
T_{sc}
\theta_e=\theta_a

RT_e

nf*loss
snr
0.1m^2
2.5s
2^\circ
252km
900K
13dB
15dB
1)、不同 RCS,功率孔径积相对于距离仿真
请添加图片描述
请添加图片描述

对三种不同的 RCS,功率孔径积相对于检测距离曲线 结论:从图中可以看到随着检测距离的增加,功率孔径积增大;雷达 RCS 越大,功率孔径积也越小

2)、不同 RCS,平均功率相对于孔径大小仿真
请添加图片描述
请添加图片描述

对三种不同的 RCS,雷达平均功率相对于孔径大小曲线 结论:从图中可以看到随着雷达孔径大小的增加,雷达平均功率呈现下降趋势;雷达 RCS 越大,雷达孔径越小

4、SNR 增益相对积累脉冲数仿真

  • 相干积累:
(SNR)_{CI}=n_p(SNR)_1
  • 非相干积累:
(SNR)_1=\frac{(SNR)_{NCI}}{2n_p}+\sqrt{\frac{(SNR_{NCI}^2)}{4N_P^2}+\frac{(SNR)_(NCI)}{n_p}}
(SNR)_{NCI}=\frac{n_p(SNR)_1}{L_{NCI}}

注:

(SNR)_1

是产生给定检测概率所要求的单个脉冲的SNR

①、Matlab 源码

pulse_integration.m

代码语言:javascript
复制
function [snrout] = pulse_integration(pt, freq, g, sigma, te, b, nf, loss, range,np,ci_nci)
 snr1 = radar_eq(pt, freq, g, sigma, te, b, nf, loss, range) % single pulse SNR
 snr1=0
if (ci_nci == 1) % coherent integration
   snrout = snr1 + 10*log10(np);
else % non-coherent integration
    if (ci_nci == 2)
        snr_nci = 10.^(snr1./10);
        val1 = (snr_nci.^2) ./ (4.*np.*np);
        val2 = snr_nci ./ np;
        val3 = snr_nci ./ (2.*np);
        SNR_1 = val3 + sqrt(val1 + val2); % Equation 1.87 of text
        LNCI = (1+SNR_1) ./ SNR_1; % Equation 1.85 of text
        snrout = snr1 + 10*log10(np) - 10*log10(LNCI);
    end
end
return

相关参数说明:

符号

描述

单位

状态

pt

峰值功率

W

输入

freq

雷达中心频率

Hz

输入

g

天线增益

dB

输入

sigma

目标截面积

m 2 m^2 m2

输入

te

有效噪声温度

K

输入

b

带宽

Hz

输入

nf

噪声系数

dB

输入

loss

雷达损失

dB

输入

range

目标距离(单位或矢量)

m

输入

np

积累脉冲数

输入

ci_nci

1是CI;2是NCI

输入

snr

SNR(单值或矢量,根据输入距离)

dB

输出

m^2

输入te有效噪声温度K输入b带宽Hz输入nf噪声系数dB输入loss雷达损失dB输入range目标距离(单位或矢量)m输入np积累脉冲数无输入ci_nci1是CI;2是NCI无输入snrSNR(单值或矢量,根据输入距离)dB输出

fig1_21.m

代码语言:javascript
复制
clear all
close all
np = linspace(1,10000,1000);
snrci = pulse_integration(4,94.e9,47,20,290,20e6,7,10,5.01e3,np,1);
snrnci = pulse_integration(4,94.e9,47,20,290,20e6,7,10,5.01e3,np,2);
semilogx(np,snrci,'k',np,snrnci,'k:')
legend('Coherent integration','Non-coherent integration')
grid
xlabel ('Number of integrated pulses');
ylabel ('SNR - dB');
②、仿真

仿真参数见上面源码

一般情况下 SNR 改善相对脉冲积累数

请添加图片描述
请添加图片描述

当使用积累时的 SNR 改善 结论:从图中可以看到随着积累脉冲数的增加,雷达信噪比逐渐增大;且当积累脉冲数相等时,相干积累信噪比大于非相干积累信噪比

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、雷达基础导论
  • 二、Matlab 仿真
    • 1、SNR 相对检测距离的仿真
      • ①、Matlab 源码
      • ②、仿真
    • 2、脉冲宽度相对所要求的 SNR 仿真
      • ①、Matlab 源码
      • ②、仿真
    • 3、功率孔径积相对于距离仿真 及 平均功率相对于孔径大小仿真
      • ①、Matlab 源码
      • ②、仿真
    • 4、SNR 增益相对积累脉冲数仿真
      • ①、Matlab 源码
      • ②、仿真
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档