雷达模糊函数及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.5
      j = 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));
   end
end

Fig4_2.m

close all
clear all
eps = 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)
grid
y = 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 all
clear all
eps = 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')
grid
figure(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;
   end
end

在这里插入图片描述
fig4_5.m

close all
clear all
eps = 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 all
clear all
taup = 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)));
end
figure(1)
plot(taux,x)
grid
xlabel ('Delay - seconds')
ylabel ('Uncertainty')
figure(2)
plot(taux,x.^2)
grid
xlabel ('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.'
   return
end
gap = 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;
         else
            x(j,ii) = 0.;
         end
      end
   end
end

在这里插入图片描述
在这里插入图片描述
fig4_8.m

close all
clear all
taup =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 cuts
N = 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);
end
v = 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))');
end
freq = -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 tight
xlabel('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')
grid
axis tight
figure (3)
contour(freq,delay,ambig ./ max(max(ambig)))
%colormap([.5 .5 .5])
%colormap (gray)
xlabel('frequency')
ylabel('delay')
grid on

test.m

close all
clear all
u = [1 1 1 1 1 -1 -1 1 1 -1 1 -1 1];
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 cuts

N = 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 v
v = 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))');
end
freq = -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 tight
xlabel('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')
grid
axis tight
figure(3)
contour(freq,delay,ambig ./ max(max(ambig)))
axis tight
% colormap([.5 .5 .5])
% colormap(gray)
xlabel('frequency')
ylabel('delay')

test.m

close all
clear all
u_31 = [1 -1 -1 -1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 1 1 -1 1 -1 -1];
x = prn_ambig(u_31);

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

②、仿真结果

1)PRN 码的模糊函数图

请添加图片描述

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

PRN 码的零多普勒模糊函数图
请添加图片描述

3)PRN 码的等高线图

请添加图片描述

三、资源自取

雷达模糊度函数思维导图


我的qq:2442391036,欢迎交流!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/153375.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)

文章目录 一、完全卸载旧的nodejs1、打开系统的控制面板&#xff0c;点击卸载程序&#xff0c;卸载nodejs&#xff08;1&#xff09;打开系统的控制面板&#xff0c;点击程序下的卸载程序&#xff08;2&#xff09;找到node.js&#xff0c;鼠标右击出现下拉框&#xff0c;点卸载…

11月编程语言排行榜出炉:C#超越Java已成定局!

TIOBE最新的编程语言排行榜刚刚出炉了&#xff0c;本月Java依然大幅下跌3.63%&#xff0c;C#本月上涨3.4%&#xff0c;C#和Java仅相差0.7%。 就像网友评论说的&#xff1a;Java成于互联网的兴起&#xff0c;败于互联网的衰落。 一直以来我也都是从事互联网行业、主要是电商行业…

redis高级案列case

案列一 双写一致性 案例二 双锁策略 package com.redis.redis01.service;import com.redis.redis01.bean.RedisBs; import com.redis.redis01.mapper.RedisBsMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; imp…

comfyui指北-1

https://colab.research.google.com/github/tieai/SDXL-ComfyUI-Colab/blob/main/SDXL_OneClick_ComfyUI.ipynb#scrollToSaAJk33ppFw1https://colab.research.google.com/github/tieai/SDXL-ComfyUI-Colab/blob/main/SDXL_OneClick_ComfyUI.ipynb#scrollToSaAJk33ppFw1 可以用上…

SpringCloud Alibaba组件入门全方面汇总(中):服务熔断降级-Sentinel

文章目录 Sentinel常见的容错思路Sentinel流量控制规则sentinel 自定义异常 sentinelresources 注解使用Feign整合Sentinel**面试题&#xff1a;结合Feign后&#xff0c;你在项目中的降级方法中会实现什么样的操作/功能&#xff1f;** Sentinel Sentinel是阿里巴巴开源的分布…

制作翻页电子书最简单的教程来也!

电子书是一种新时代的电子读物&#xff0c;由于比传统纸质书刊更加方便阅读&#xff0c;又非常便利储存&#xff0c;所以受到了很多人的喜爱。既然有这么多人喜爱阅读电子书&#xff0c;那你知道翻页电子书是怎么的吗&#xff1f; 其实翻页电子书制作并没有我们想象中的那么复…

rabbitMQ的direct模式的生产者与消费者使用案例

消费者C1的RoutingKey 规则按照info warn 两种RoutingKey匹配 绑定队列console package com.esint.rabbitmq.work03;import com.esint.rabbitmq.RabbitMQUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.DeliverCallback;/*** 消费者01的消息接受*/ p…

使用Ganache搭建本地测试网并实现远程连接

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络&#xff0c;提供图形化界面&#xff0c;log日志等&#xff1b;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…

2023年香港优才计划申请确实火爆,但请冷静!结合个人条件再考虑!

2023年香港优才计划申请确实火爆&#xff0c;但请冷静&#xff01;结合个人条件再考虑&#xff01; 自从香港优才计划实施取消年度限额&#xff0c;为期两年的优化措施以后&#xff0c;无论是申请数量还是获批数量都猛增。今年第二季度的获批量与第一季度的2,073宗相比&#xf…

win11无法打开文件资源管理器

不知道为啥&#xff0c;升级之后文件夹就打不开了&#xff0c;研究了n个方案 注意&#xff1a;先备份一下注册表&#xff0c;祸祸完失败之后恢复回去 最终方案 很悲剧&#xff0c;下面的我都失败了&#xff0c;不过其他人有成功的&#xff0c;所以&#xff0c;我放弃官方的文件…

软件自动化测试代码覆盖率

在<professional software testing with visual studio 2005 team system tools for software developer>中提到了代码覆盖率&#xff0c;我很久没有去书店了&#xff0c;不知道是不是出了新的版本&#xff0c;觉得书里面关于代码覆盖率方面的知识有些地方没有讲&#xf…

CMA认证和CNAS认可的联系和区别?哪个更权威?

一、CMA认证是什么?   CMA认证是指中国计量认证&#xff0c;省级以上的计量行政部门根据中国计量法的规定&#xff0c;对申请CMA测试资质的第三方检测机构进行评估&#xff0c;对检测水平和检测可靠性达到国家标准的实验室授予计量认证合格证书(CMA资质)。 二、CNAS认可是什…

Latex常用特殊字符汇总

本文汇总了博主在使用Latex写文档过程中遇到的所有常用疑难字符、表达式等等及对应的Latex形式 持续更新... 目录 常用字符波浪号1. 文本模式&#xff1a;~2. 数学模式&#xff1a; ∼ \sim ∼3. 字母上方的波浪号&#xff1a; a ˜ \~a a˜ 字母上方角标 (数学模式强调符)箭头…

HackTheBox-Starting Point--Tier 2---Oospsie

文章目录 一 Oospsie测试过程1.1 打点1.2 漏洞探测&权限获取1.3 横向移动1.4 权限提升&#xff08;SUID提权&#xff09; 二 题目 一 Oospsie测试过程 1.1 打点 1.端口扫描 nmap -sV -sC 10.129.130.104开放22和80端口&#xff0c;访问80端口&#xff0c;并且发现网站有关…

用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

参考链接 本人学习使用&#xff0c;侵权删谢谢。用人话讲解深度学习中CUDA&#xff0c;cudatookit&#xff0c;cudnn和pytorch的关系 CUDA CUDA是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构&#xff0c;是一种并行计算平台和编程模型&…

ClickHouse联合创始人、前Google副总裁Yury到访杭州玖章算术公司,双方建立生态合作

10月31日&#xff0c;ClickHouse联合创始人Yury到访未来科技城&#xff0c;与玖章算术创始人叶正盛和国际总经理Ni Demai展开沟通与推进合作。 图片备注&#xff1a;Ni Demai(左),Yury(中),叶正盛(右) ClickHouse是深受开发者青睐的实时分析型数据库&#xff0c;成立2年就发展成…

rabbitMQ的Topic模式的生产者与消费者使用案例

topic模式 RoutingKey 按照英文单词点号多拼接规则填充。其中消费者匹配规则时候 * 代表一个单词&#xff0c;#表示多个单词 消费者C1的RoutingKey 规则按照*.orange.* 匹配 绑定队列Q1 package com.esint.rabbitmq.work05;import com.esint.rabbitmq.RabbitMQUtils; import …

业务代码到底需不需要用多线程???

1.dubbo场景下的多线程 先来讲讲dubbo场景&#xff0c;整个调用链路非常的清晰&#xff1a; 来&#xff0c;请你告诉我这里面有线程池吗&#xff1f; 没有&#xff01; 是的&#xff0c;在日常的开发中&#xff0c;我就是写个接口给别人调用嘛&#xff0c;在我的接口里面并没有…

RedCap推动5G规模应用,紫光展锐赋能产业高质量发展

5G R17 RedCap作为面向中高速物联网场景的关键技术和解决方案&#xff0c;可以大幅降低终端的复杂度、成本和功耗。在当前国内5G应用规模化发展关键时期&#xff0c;5G R17 RedCap拥有广大的市场潜力与广泛的应用场景&#xff0c;将有助于推动5G规模应用、构建融通发展的5G生态…

深眸科技革新升级OCR技术,与AI视觉实现有效融合赋能各行业应用

OCR即光学字符识别&#xff0c;是通过扫描仪或工业相机等电子设备检查打印的字符&#xff0c;并通过检测暗、亮的模式确定其形状&#xff0c;然后用字符识别方法将形状翻译成计算机文字的过程。 目前&#xff0c;随着机器视觉和人工智能技术的进一步升级&#xff0c;OCR技术实…
最新文章