当前位置:金屋文档› 雷达模糊函数及MATLAB仿真

雷达模糊函数及MATLAB仿真

文章标签:: 算法 数据结构
文章摘要: 本文对雷达模糊函数的内容以思维导图的形式呈现,有关仿真部分进行了讲解实现。

文章目录

  • 前言
  • 一、雷达模糊函数
  • 二、Matlab 仿真
    • 1、单脉冲模糊函数
      • ①、MATLAB 源码
      • ②、仿真结果
        • 1)不确定函数三维图
        • 2)不确定函数的等高图
        • 3)模糊函数的三维图
        • 4)模糊函数的等高图
    • 2、单脉冲多普勒频率轴上的切面
      • ①、MATLAB 源码
      • ②、仿真结果
        • 1)单频脉冲(零延迟)的不确定函数
        • 2)单频脉冲(零延迟)的模糊度函数
    • 3、LFM 信号模糊函数
      • ①、MATLAB 源码
      • ②、仿真结果
        • 1)上调频 LFM 信号三维不确定图
        • 2)上调频 LFM 信号不确定函数等高线图
        • 3)上调频 LFM 信号三维模糊度图
        • 4)上调频 LFM 信号模糊函数等高线图
    • 4、LFM 沿时间延迟轴 τ \tau τ 的切面
      • ①、MATLAB 源码
      • ②、仿真结果
        • 1)不确定函数切面图
        • 2)模糊函数切面图
    • 5、相干脉冲串模糊度函数
      • ①、MATLAB 源码
      • ②、仿真结果
        • 1)相干脉冲串的三维模糊图
        • 2)相干脉冲串的等高线图
    • 6、二进制相位编码
      • ①、MATLAB 源码
      • ②、仿真结果
        • 1)巴克码的模糊函数图
        • 2)巴克码的模糊函数切面图
        • 3)巴克码的等高线图
    • 7、伪随机数编码
      • ①、MATLAB 源码
      • ②、仿真结果
        • 1)PRN 码的模糊函数图
        • 2)PRN 码的模糊函数切面图
        • 3)PRN 码的等高线图
  • 三、资源自取

前言

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


一、雷达模糊函数

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

二、Matlab 仿真

1、单脉冲模糊函数

归一化的矩形脉冲定义为:

单脉冲不确定函数表达式

单脉冲模糊函数表达式

①、MATLAB 源码

single_pulse_ambg.m

function x =single_pulse_ambg(taup)%colormap (gray(1))eps =0.000001;i=0;taumax =1.1* taup;taumin =-taumax;for tau = taumin:.05:taumax i=i+1;j=0;for fd =-5/taup:.05:5/taup %-2.5:.05:2.5j=j+1; val1 =1.-abs(tau)/ taup; val2 =pi* taup *(1.0-abs(tau)/ taup)* fd;x(j,i)=abs( val1 *sin(val2+eps)/(val2+eps));endend

Fig4_2.m

close allclear alleps =0.000001;taup =2.;taumin =-1.1* taup;taumax =-taumin;x =single_pulse_ambg(taup);taux = taumin:.05:taumax;fdy =-5/taup:.05:5/taup;figure(1)mesh(taux,fdy,x);xlabel('Delay - seconds')ylabel('Doppler - Hz')zlabel('Ambiguity function')%colormap([.5 .5 .5])%colormap (gray)figure(2)contour(taux,fdy,x);xlabel('Delay - seconds')ylabel('Doppler - Hz')%colormap([.5 .5 .5])%colormap (gray)gridy = x.^2;figure(3)mesh(taux,fdy,y);xlabel('Delay - seconds')ylabel('Doppler - Hz')zlabel('Ambiguity function')%colormap([.5 .5 .5])%colormap (gray)figure(4)contour(taux,fdy,y);xlabel('Delay - seconds')ylabel('Doppler - Hz')%colormap([.5 .5 .5])%colormap (gray)grid

②、仿真结果

1)不确定函数三维图

2)不确定函数的等高图

3)模糊函数的三维图

4)模糊函数的等高图

2、单脉冲多普勒频率轴上的切面

模糊函数在多普勒频率轴上的切面为:

①、MATLAB 源码

fig4_4.m

close allclear alleps =0.0001;taup =2.;fd =-10./taup:.05:10./taup;uncer =abs(sinc(taup .* fd));ambg = uncer.^2;plot(fd, ambg,'k')xlabel('Frequency - Hz')ylabel('Ambiguity - Volts')gridfigure(2)plot(fd, uncer,'k');xlabel('Frequency - Hz')ylabel('Uncertainty - Volts')grid

②、仿真结果

1)单频脉冲(零延迟)的不确定函数

2)单频脉冲(零延迟)的模糊度函数

3、LFM 信号模糊函数

上调频 LFM 信号的模糊函数为:

下调频 LFM 信号的模糊函数为:

①、MATLAB 源码

lfm_ambg.m

function x =lfm_ambg(taup, b, up_down)eps =0.000001;i=0;mu = up_down * b /2./ taup;delt =2.2*taup/250;delf =2*b /250;for tau =-1.1*taup:.05:1.1*taup i=i+1;j=0;for fd =-b:.05:b j=j+1; val1 =1.-abs(tau)/ taup; val2 =pi* taup *(1.0-abs(tau)/ taup); val3 =(fd + mu * tau); val = val2 * val3;x(j,i)=abs( val1 *(sin(val+eps)/(val+eps))).^2;endend


fig4_5.m

close allclear alleps =0.0001;taup =1.;b =10.;up_down =1.;x =lfm_ambg(taup, b, up_down);taux =-1.1*taup:.05:1.1*taup;fdy =-b:.05:b;figure(1)mesh(taux,fdy,x)xlabel('Delay - seconds')ylabel('Doppler - Hz')zlabel('Ambiguity function')figure(2)contour(taux,fdy,x)xlabel('Delay - seconds')ylabel('Doppler - Hz')y =sqrt(x);figure(3)mesh(taux,fdy,y)xlabel('Delay - seconds')ylabel('Doppler - Hz')zlabel('Uncertainty function')figure(4)contour(taux,fdy,y)xlabel('Delay - seconds')ylabel('Doppler - Hz')

②、仿真结果

1)上调频 LFM 信号三维不确定图

脉宽 1s,带宽 10Hz

2)上调频 LFM 信号不确定函数等高线图

3)上调频 LFM 信号三维模糊度图

脉宽 1s,带宽 10Hz

4)上调频 LFM 信号模糊函数等高线图

4、LFM 沿时间延迟轴 τ \tau τ 的切面

上调频模糊函数沿时间延迟轴 τ \tau τ 的切面为:

①、MATLAB 源码

close allclear alltaup =1;b =20.;up_down =1.;taux =-1.5*taup:.01:1.5*taup;fd =0.;mu = up_down * b /2./ taup;ii =0.;for tau =-1.5*taup:.01:1.5*taup ii = ii +1; val1 =1.-abs(tau)/ taup; val2 =pi* taup *(1.0-abs(tau)/ taup); val3 =(fd + mu * tau); val = val2 * val3;x(ii)=abs( val1 *(sin(val+eps)/(val+eps)));endfigure(1)plot(taux,x)gridxlabel('Delay - seconds')ylabel('Uncertainty')figure(2)plot(taux,x.^2)gridxlabel('Delay - seconds')ylabel('Ambiguity')

②、仿真结果

1)不确定函数切面图

LFM 脉冲( τ ′ = 1 , b = 20 \tau'=1,b=20 τ=1,b=20)的零多普勒不确定函数


注意到 LFM 信号模糊函数沿多普勒频率轴的切面是与单脉冲类似的,因为脉冲形状没有发生改变(只是增加了频率调制)。然而,沿时间延迟轴的切面变化显著,与没有调制脉冲的切面图相比窄了很多,第一个零点位于:
τ n 1 ≈ 1 / B \tau_{n1}\approx 1/B τn11/B
这表明匹配滤波器输出的有效脉冲宽度由雷达的带宽决定。

2)模糊函数切面图

5、相干脉冲串模糊度函数

相干脉冲串的模糊函数。对于 τ ′ < T / 2 \tau'<T/2 τ<T/2

沿时间延迟轴的模糊函数切面:

沿多普勒频率轴的模糊函数切面:

①、MATLAB 源码

train_ambg.m

function x =train_ambg(taup, n, pri)if( taup > pri /2.)'ERROR. Pulse width must be less than the PRI/2.'returnendgap = pri -2.*taup;eps =0.000001;b =1./ taup;ii =0.;for q =-(n-1):1:n-1 tauo = q - taup ; index =-1.;for tau1 = tauo:0.0533:tauo+gap+2.*taup index = index +1; tau =-taup + index*.0533; ii = ii +1;j=0.;for fd =-b:.0533:b j=j+1;if(abs(tau)<= taup) val1 =1.-abs(tau)/ taup; val2 =pi* taup * fd *(1.0-abs(tau)/ taup); val3 =abs(val1 *sin(val2+eps)/(val2+eps)); val4 =abs((sin(pi*fd*(n-abs(q))*pri+eps))/(sin(pi*fd*pri+eps)));x(j,ii)= val3 * val4 / n;elsex(j,ii)=0.;endendendend



fig4_8.m

close allclear alltaup =0.2;pri=1;n=5;x =train_ambg(taup, n, pri);figure(1)mesh(x)xlabel('Delay - seconds')ylabel('Doppler - Hz')zlabel('Ambiguity function')figure(2)contour(x);xlabel('Delay - seconds')ylabel('Doppler - Hz')

②、仿真结果

1)相干脉冲串的三维模糊图

5个脉冲等幅相干串的三维模糊图,脉冲宽度为 0.2s,PRI 为 1s,N=5

2)相干脉冲串的等高线图

6、二进制相位编码

巴克码是二进制相位编码中的一族,它产生的压缩后的波形具有恒等于单位值的旁瓣电平。

相位编码的通用形式:

巴克码自相关函数:

①、MATLAB 源码

Barker_ambig.m

function[ambig]=barker_ambig(uinput)% Compute and plot the ambiguity function for a Barker code%Compute the ambiguity function% by utilizing the FFT through combining multiple range cutsN =size(uinput,2);tau = N;Barker_code = uinput;samp_num =size(Barker_code,2)*10;n =ceil(log(samp_num)/log(2));nfft =2^n;u(1:nfft)=0;j=0;for index =1:10:samp_num index;j=j+1;u(index:index+10-1)=Barker_code(j);endv = u;delay =linspace(-tau, tau, nfft);freq_del =12/ tau /100;j=0;vfft =fft(v,nfft);for freq =-6/tau:freq_del:6/tau;j=j+1; exf =exp(sqrt(-1)*2.*pi* freq .* delay); u_times_exf = u .* exf; ufft =fft(u_times_exf,nfft); prod = ufft .*conj(vfft);ambig(:,j)=fftshift(abs(ifft(prod))');endfreq =-6/tau:freq_del:6/tau;delay =linspace(-N,N,nfft);figure(1)mesh(freq,delay,ambig ./max(max(ambig)))%colormap([.5 .5 .5])%colormap(gray)axis tightxlabel('frequency')ylabel('delay')zlabel('ambiguity function')figure(2)value =10* N ;plot(delay,ambig(:,51)/value,'k')xlabel('delay')ylabel('normalized amibiguity cut for f=0')gridaxis tightfigure(3)contour(freq,delay,ambig ./max(max(ambig)))%colormap([.5 .5 .5])%colormap (gray)xlabel('frequency')ylabel('delay')grid on

test.m

close allclear allu =[11111-1-111-11-11];x =Barker_ambig(u);

程序中举例的是长度为 13 的巴克码

②、仿真结果

1)巴克码的模糊函数图

2)巴克码的模糊函数切面图

巴克码的零多普勒模糊函数图

3)巴克码的等高线图

7、伪随机数编码

伪随机数(PRN)编码也称为最大长度序列(MLS)码。

①、MATLAB 源码

prn_ambig.m

function[ambig]=prn_ambig(uinput)% Compute and plot the ambiguity function for a PRN code% Compute the ambiguity function by utilizing the FFT % through combining multiple range cutsN =size(uinput,2);tau = N;PRN = uinput;samp_num =size(PRN,2)*10;n =ceil(log(samp_num)/log(2));nfft =2^n;u(1:nfft)=0;j=0;for index =1:10:samp_num index;j=j+1;u(index:index+10-1)=PRN(j);end% set-up the array vv = u;delay =linspace(0,5*tau,nfft);freq_del =8/ tau /100;j=0;vfft =fft(v,nfft);for freq =-4/tau:freq_del:4/tau;j=j+1; exf =exp(sqrt(-1)*2.*pi* freq .* delay); u_times_exf = u .* exf; ufft =fft(u_times_exf,nfft); prod = ufft .*conj(vfft);ambig(:,j)=fftshift(abs(ifft(prod))');endfreq =-4/tau:freq_del:4/tau;delay =linspace(-N,N,nfft);figure(1)mesh(freq,delay,ambig ./max(max(ambig)))% colormap([.5 .5 .5])% colormap(gray)axis tightxlabel('frequency')ylabel('delay')zlabel('ambiguity function a PRN code')figure(2)plot(delay,ambig(:,51)/(max(max(ambig))),'k')xlabel('delay')ylabel('normalized amibiguity cut for f=0')gridaxis tightfigure(3)contour(freq,delay,ambig ./max(max(ambig)))axis tight% colormap([.5 .5 .5])% colormap(gray)xlabel('frequency')ylabel('delay')

test.m

close allclear allu_31 =[1-1-1-1-11-11-1111-111-1-1-111111-1-111-11-1-1];x =prn_ambig(u_31);

u_31 是一个向量,它定义了以 “1” 和 “-1” 表示的输入最大长度码(序列)

②、仿真结果

1)PRN 码的模糊函数图

2)PRN 码的模糊函数切面图

PRN 码的零多普勒模糊函数图

3)PRN 码的等高线图

三、资源自取

雷达模糊度函数思维导图


我的qq:2442391036,欢迎交流!


相关文档
  • 函数

  • 仿真

  • 雷达

相关文档推荐: