IQ Tools---Radar Pulses/Chirps

  本文将详细介绍IQ Tool中的Radar Pulses/Chirps模块的使用方法和实现原理。

1. 参数配置

在这里插入图片描述

图1. Radar Pulses/Chirps参数配置界面

  该模块可配参数如下:
  (1) Sample Rate(Hz): 系统采样率,单位:Hz
  (2) Repeat interval(s): 脉冲重复周期,单位:s
  (3) Pulse width(s): 脉冲宽度,单位:s
  (4) Rise time(s): 上升时间,单位:s
  (5) Fall time(s): 下降时间,单位:s
  (6) Initial Delay(s): 初始时延,单位:s
  (7) Pulse Shape: 脉冲形状,目前包括4种选项,Raise Consine、Trapezodial、Gaussian和Zero signal during rise time。
  (8) Modulation on Pulse: 不同相位调制形式, 目前支持19种形式,后面会进行详细说明。
  (9) Freq.mod.formula: 频率调制形式,目前发现只有在Modulation on Pulse设置为user defined时,才能使能。暂时还没弄清楚具体是怎样作用的。
  (10) Phase mod.formula: 相位调制形式,该参数只有在Modulation on Pulse选择“Custom IQ”时生效,用户输入一个数学表达式表示脉冲信号的相位调制。
  (11) Amplitude(dB): 信号幅度,单位:dB
  (12) Frequency span: 该参数仅在Modulation on Pulse参数选择"Increasing"、“Decreasing”、“V-shape”、“Inverse-V”、“FMCW”、“Frank-4”、"Frank-6"和"User Defined"的时候能够使能,用于表征脉宽内信号的频率跨度,对频率值做积分即可得到相位值。该参数本质上是用于计算波形的相位特性。
  (13) Frequency offset: 与Frequency span配合使用,确定具体的频率范围。
  (14) Apply Correction: 是否使用预失真的方式来补偿AWG的幅相不平衡
  (15) Download: 用于选择将I/Q信号下载到哪个通道中。
  (17) Segment Number: 不清楚这个分段数指的是什么·
  (18) Fc(VSA setups): 不清楚是什么含义
  除了上面的配置参数意外,在这个界面的菜单栏中还有一些配置,如在File选项卡中,可以选择将当前配置保存成配置文件、导入已有配置文件、保存生成的波形、将当前配置生成matlab等。在Preset选项卡中,有一些常用的配置可供直接选择,便利用户的使用过程。在界面的下面,还有一些图形显示、下载等功能按钮。
  【备注】
  (1) 该功能模块可以跳过上述参数配置界面,直接调用文件iqpulse.m在命令行中生成需要的波形。举例如下:

iqpulse('sampleRate', sampleRate)

  (2) 直接在命令行调用iqtone()这个函数时,若没有给定输入参数,则会自动弹出上述参数设置框;若给定了输入参数则按给定的输入参数进行波形生成。
  (3) Repeat interval(s)、Pulse width(s)、Rise time(s)等等这些参数均是与每个脉冲对应的,即理论上要生成 N N N个脉冲信号,上述各参数维数就为 N N N,但是在参数输入的时候有可能没有保持上述各个采纳数的维数一致,则程序会自动以最长的那个参数的维数作为生成的脉冲数。

2. 波形生成原理

  参数配置完成后,即进入波形生成环节,包含以下步骤:

2.1 参数配置

  调整配置参数,保证各个参数的合理性,这里面的操作包括:a) 调整脉冲信号的各项参数,如幅度、上升/下降时间、脉宽等,使得这些参数的维度保持一致;b)通过调整PRI,使得最终的采样点数为AWG Granularity的整数倍(具体如何调整见《》)。

2.2 生成脉冲波形的幅度包络

  生成脉冲波形的幅度包络。下图为生成的脉冲示意图,其中 d e l a y i delay_i delayi r t i rt_i rti f t i ft_i fti p w i pw_i pwi p r i pr_i pri分别表示第 i i i个脉冲波形的延时(delay)、上升时间(rise time)、下降时间(fall time)、脉冲宽度(pulse width)和脉冲重复周期(pulse repeated interval)。完整波形由每个脉冲波形拼接而成,而每个脉冲波形的生成过程都一样,故这边以一个脉冲波形的生成为例说明具体过程:
  (1) 设一个脉冲波形序列为 s [ n ] s[n] s[n],其默认为全零序列。首先求下图所示 t 1 − t 4 t_1-t_4 t1t4这4个关键时间点,并计算各个时间点对应的索引分别为 I 1 I_1 I1 I 2 I_2 I2 I 3 I_3 I3 I 4 I_4 I4。这四个时间点将一个脉冲波形分成5段,只需分别往这5段里面填入对应的序列即可。
  (2) 显然, 波形中平稳阶段的值很好给定,具体地(matlab中数据索引由1开始) s [ 1 : I 1 ] = 0 s[1:I_1]=0 s[1:I1]=0, s [ N − I 4 : e n d ] = 0 s[N-I_4:end]=0 s[NI4:end]=0 s [ I 2 + 1 : I 3 ] = A s[I_2+1:I_3]=A s[I2+1:I3]=A。波形中的上升、下降阶段根据Pulse Shape参数的不同进行设置,如Pulse Shape=raise cosine,则上升沿设置为raise cosine左半边波形(如图3所示, β \beta β设为1),下降沿设置为raise cosine右半边波形;Pulse Shpae=trapezodial,则上升沿设置为正斜率的直线形状(图2所示),下降沿设置为负斜率的直线形状;若Pulse Shape=gaussian,则上升沿设置为gausswin左半边波形(如图4所示, α \alpha α设为5),下降沿设置为gausswin右半边波形;若Pulse Shape=zero signal during rise time,则上升和下降时段的值全部设置为0。

图2. 生成的波形示意图
2.3 生成脉冲波形的相位

  (1) 若Modulation on Pulse设置为"Increasing"、“Decreasing”、“V-shape”、“Inverse-V”、"FMCW"时,计算步骤如下:
   a) 下图为上述几种配置对应的频率调制趋势图,设该趋势为fm_on(该变量名和程序中的变量名保持一致)

图3. 频率调制下的相位值

   b) 将上面的调制趋势转化为具体的频率调制,具体地:

fmTmp=(span/2 *fm_on) + offset

  上式中各个变量的命名与程序中各变量的命名保持一致。span表示频率跨度(通过界面中“Frequency span”设置),offset表示频率偏移(通过界面中"Frequency offset"设置)。举例说明,若Modulation on Pulse=“Increasing”, span=100MHz, offset=0Hz,则fmTmp表示-50MHz~50MHz线性递增的频率。【注】:fmTmp表示单位为"Hz"的瞬时频率

   c) 将上述瞬时频率频率调制转化为瞬时相位瞬时相位瞬时频率的积分,具体地

pmTmp=cumsum(fmTmp) / sampleRate

  上式中各个变量的命名与程序中各变量的命名保持一致。sampleRate表示采样率,上面得到的pmTmp是单位为 r a d / ( 2 π ) rad/(2\pi) rad/(2π)

   d) 将初始相移phaseOffset(通过界面Initial Phase设置)、初始时延timeOffset(通过界面Initial Delay设置)造成的相移也考虑进去,得到最终的相位序列。

  (2) 若Modulation on Pulse设置为"Barker-2 + -", “Barker-2 ++”, “Barker-3 ++ -”, “Barker-4 ++ - +”, “Barker-4 +++ -”, “Barker-5”, “Barker-7”, “Barker-11”, "Barker-13"时,相位生成的逻辑很简单,举例说明:若Modulation on Pulse=Barker-2 + -,则前半个脉冲重复周期(PRI)的相位为90°,后半个脉冲重复周期(PRI)的相位为-90°。若Modulation on Pulse=Barker-3 ++ -,则前2/3个脉冲重复周期(PRI)的相位为90°,后1/3个脉冲重复周期(PRI)的相位为-90°,以此类推至其他的Barker调制模式。所有Barker调制生成的相位如下图所示

图4. 不同Barker调制模式的相位值

  (3) 若Modulation on Pulse设置为"Frank-4", "Frank-6"时,按附录4.4生成对应的相位序列,如下图所示

图5. 不同Frank调制模式的相位值

  (4) 除了上述各种可选相位外,程序还支持用户通过表达式自定义各种相位情况,这边不进行过多赘述。

2.4 组合成完整信号

  通过2.2生成脉冲包络 A ( t ) A(t) A(t)和2.3生成脉冲相位 θ ( t ) \theta(t) θ(t)后,即可组合成完整信号
s ( t ) = A ( t ) e x p ( j θ ( t ) ) s(t)=A(t)exp(j\theta(t)) s(t)=A(t)exp(jθ(t))
  下面给出生成的几种波形示意图

图6. 不同Barker调制模式生成的相位示意图

图7. 不同Frank调制模式生成的相位示意图
2.5 对信号进行后处理

  生成上述波形后,可选择对波形进行一些后处理,包括幅度归一化、预失真、通道映射等。所有这些操作均与其他波形生成模块是一致的,故不再这边细说,后面将进行专题说明。


4. 附录

4.1 升余弦函数

  升余弦滤波器(Raise-cosine filter)经常被用作脉冲成型滤波器,它能够最大限度地减小码间干扰(ISI)。之所以会如此命名是因为,该滤波器的最简形式频谱( β = 1 \beta=1 β=1)的非零部分为余弦函数被抬升至x轴上方。其表达式为一个分段函数,不同 β \beta β情况下的升余弦函数图像如下图所示。
H ( f ) = { 1 , ∣ f ∣ ≤ 1 − β 2 T s 1 2 [ 1 + c o s ( π T s β [ ∣ f ∣ − 1 − β 2 T s ] ) ] , 1 − β 2 T s < ∣ f ∣ < 1 + β 2 T s 0 , o t h e r w i s e H(f) = \begin{cases} 1,|f|\leq \frac{1-\beta}{2T_s}\\ \frac{1}{2}[1+cos(\frac{\pi T_s}{\beta}[|f|-\frac{1-\beta}{2T_s}])],\frac{1-\beta}{2T_s}<|f|<\frac{1+\beta}{2T_s}\\ 0, otherwise \end{cases} H(f)= 1,f2Ts1β21[1+cos(βπTs[f2Ts1β])],2Ts1β<f<2Ts1+β0,otherwise

图8. 不同beta值的升余弦函数示意图
4.2 高斯窗函数

  高斯窗函数的表达式为
w [ n ] = e x p ( − 1 2 ( α n ( L − 1 ) / 2 ) 2 ) = e x p ( − n 2 / 2 σ 2 ) w[n]=exp(-\frac{1}{2}(\alpha\frac{n}{(L-1)/2})^2)=exp(-n^2/2\sigma^2) w[n]=exp(21(α(L1)/2n)2)=exp(n2/2σ2)
  在上面的表达式中, − ( L − 1 ) / 2 ≤ n ≤ ( L − 1 ) / 2 -(L-1)/2 \leq n \leq (L-1) / 2 (L1)/2n(L1)/2 σ = ( L − 1 ) / 2 α \sigma=(L-1)/2\alpha σ=(L1)/2α σ \sigma σ表示高斯分布的标准差。显然 α \alpha α越大, σ \sigma σ越小。下图为不同 α \alpha α值对应的高斯窗。

图9. 不同alpha值的高斯窗函数
4.3 Barker Code

  雷达探测要求既要探得远,也要探得准。要想探得远要求雷达的平均功率要高,所以在脉冲重复周期内,脉冲宽度要尽可能大。要想探得准,要求雷达的距离分辨率高,此时又要减小脉冲宽度。所以雷达探测距离和距离精度是一对互相矛盾的参数。雷达距离分辨率为 c / 2 B c/2B c/2B,对于简单脉冲信号来说,其时宽带宽积为1(即信号频谱带宽和脉冲宽度乘积为1),所以提高脉冲宽度势必导致频谱带宽降低。为了解决雷达探测距离和距离精度的矛盾,要求提高信号的时宽带宽积,通常可通过对特定脉宽的脉冲信号进行频率(常见的频率调制如线性调频)或相位调制来提高信号带宽,从而提高时宽带宽积。此外,为了减少模糊目标(虚假目标),要求雷达信号的模糊函数呈现图钉形状,即信号要具有良好的自相关特性。Barker Code(巴克码)是雷达中一种常用的相位调制编码。

图10. 不同脉冲信号对比

  巴克码是一种二相编码,二相编码的基本做法可以用上图中中间图形进行说明,它将一个宽脉冲信号分成多个窄单元,每个单元被“+”(代表﹢1)或"-"(代表-1)进行编码,正号表示正常的载波相位,符号表示进行180°相移。巴克码自相关函数的主/幅瓣比等于压缩比,即等于码长 N N N,幅瓣均匀,是一种比较理想的编码脉冲压缩信号。可惜它的长度有限。已经证明,对于奇数长度, N ≤ 13 N\leq 13 N13;对于偶数长度, N N N为一完全平方数,但已证明 N N N在4和6084之间不存在,超过6084的码一般不采用。巴克码的自相关函数为
Φ ( m ) = { N , m = 0 0 或 1 , m ≠ 0 \Phi(m)=\begin{cases} N,m=0\\ 0或1, m\neq 0 \end{cases} Φ(m)={N,m=001,m=0
  目前常用的巴克码如下表所示

码组长度Barker 码组自相关函数主旁瓣比(dB)
2++, + -2,1;2,-16
3++ -3,0,-19.6
4+++ -, ++ - +4,-1,0,1;4,1,0,-112
5+++ - +5,0,1,0,114
7+++ - - + -7,0,-1,0,-1,0,-117
11+++ - - - + - - + -11,0,-1,0,-1,0,-1,0,-1,0,-120.8
13+++++ - - ++ - + - +13,0,1,0,1,0,1,0,1,0,1,0,122.2
4.4 Frank Code

   Frank编码和巴克码一样都是相位编码,只不过巴克码是二相编码(只在两个固定相位之间跳转),Frank是多相编码(可在多个相位之间跳转)。Frank码的长度是某些正整数 M M M值的平方,即码长 N = M 2 N=M^2 N=M2,相位序列为
ϕ ( n ) = ϕ ( M p + q ) = 2 π M p q , p = 0 , 1 , . . . , M − 1 , q = 0 , 1 , . . . , M − 1 \phi(n)=\phi(Mp+q)=\frac{2\pi}{M}pq,p=0,1,...,M-1, q=0,1,...,M-1 ϕ(n)=ϕ(Mp+q)=M2πpq,p=0,1,...,M1,q=0,1,...,M1
   例如,如果M=4,则 N = 16 N=16 N=16,相位序列为
ϕ = [ 0 , 0 , 0 , 0 , 0 , π 2 , π , 3 π 2 , 0 , π , 0 , π , 0 , 3 π 2 , π , π 2 ] \phi =[0,0,0,0,0,\frac{\pi}{2},\pi,\frac{3\pi}{2},0,\pi,0,\pi,0,\frac{3\pi}{2},\pi,\frac{\pi}{2}] ϕ=[0,0,0,0,0,2π,π,23π,0,π,0,π,0,23π,π,2π]
   一般地,Frank码的相位序列也可以写成一个 M × M M\times M M×M的矩阵,即
2 π M × [ 0 0 0 . . . 0 0 1 2 . . . M − 1 0 2 4 . . . 2 ( M − 1 ) ⋮ ⋮ ⋮ . . . ⋮ 0 M − 1 2 ( M − 1 ) . . . ( M − 1 ) 2 ] \frac{2\pi}{M}\times \left[ \begin{matrix} 0 & 0 & 0 & ... & 0 \\ 0 & 1 & 2 & ... & M-1 \\ 0 & 2 & 4 & ... & 2(M-1)\\ \vdots & \vdots & \vdots & ... & \vdots\\ 0 & M-1 & 2(M-1) & ... & (M-1)^2\\ \end{matrix} \right] M2π× 0000012M10242(M1)...............0M12(M1)(M1)2

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库类型有哪些?

根据存储方式的不同&#xff0c;数据库可以分为不同种类。每种类型的数据库&#xff0c;都有各自使用场景以及不同的产品。 ​ 关系型数据库 关系型数据库&#xff08;RDBMS&#xff09;基于关系模型&#xff0c;通过表&#xff08;Table&#xff09;的形式来组织数据&#xf…

java中普通代码块和静态代码块之间的区别(java小知识点)

文章目录 1.普通代码块&#xff08;实例代码块&#xff09;1.1用法 2.静态代码块2.1用法 3.总结 1.普通代码块&#xff08;实例代码块&#xff09; 实例代码块是一段未包含在任何方法或构造器中的代码。它再每次创建类的实例时候执行&#xff0c;并且优先于构造器执行. 用途一般…

照片删除了怎么恢复回来?要学会这些数据恢复方法

在数字化时代&#xff0c;照片已经成为我们记录生活、珍藏回忆的重要载体。然而&#xff0c;有时由于误操作或其他原因&#xff0c;我们可能会不小心删除了重要的照片。面对这种情况&#xff0c;很多人会感到焦虑和无助。幸运的是&#xff0c;有多种方法可以帮助我们恢复删除的…

【项目功能扩展】在线网站 -用户管理功能(用户注册登录修改等、利用cookie存储用户会话状态)

文章目录 0. 前言开发环境 & 涉及技术 1. 宏观结构2. 后端部分① sqlite 管理类② user 管理类 3. 前端部分&#xff08;与后端交互&#xff09;① 登录② 注册③ 查看登录用户的信息④ 更新用户信息⑤ 登出用户 & 注销用户注意 效果演示 0. 前言 源码链接&#xff1a…

Java | Leetcode Java题解之第391题完美矩形

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isRectangleCover(int[][] rectangles) {long area 0;int minX rectangles[0][0], minY rectangles[0][1], maxX rectangles[0][2], maxY rectangles[0][3];Map<Point, Integer> cnt new HashM…

Python AttributeError: ‘dict_values’ object has no attribute ‘index’

Python AttributeError: ‘dict_values’ object has no attribute ‘index’ 在Python编程中&#xff0c;AttributeError 是一个常见的异常类型&#xff0c;通常发生在尝试访问对象没有的属性或方法时。今天&#xff0c;我们将深入探讨一个具体的 AttributeError&#xff1a;“…

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…

ML19_GMM高斯混合模型详解

1. 中心极限定理 中心极限定理&#xff08;Central Limit Theorem, CLT&#xff09;是概率论中的一个重要定理&#xff0c;它描述了在一定条件下&#xff0c;独立同分布的随机变量序列的标准化和的分布趋向于正态分布的性质。这个定理在统计学中有着广泛的应用&#xff0c;尤其…

高通智能模组:以卓越优势引领科技潮流

一、高通智能模组的崛起与发展 在通信技术发展中&#xff0c;高通智能模组出现。5G 兴起&#xff0c;对模组有更高要求&#xff0c;高通凭借积累和创新捕捉需求。早期致力于研发 5G 技术&#xff0c;优化技术降低功耗提高处理能力&#xff0c;展现性能优势。在竞争中&#xff0…

黑豹X2(Panther-x2)刷机并驱动NPU/VPU、Jellyfin转码

文章目录 零、前言一、刷机1、下载所需文件2、开始刷机 二、连接SSH并初始化1、连接SSH2、初始化换源安装蓝牙模块驱动安装一些包检查驱动 三、安装Docker和Jellyfin1、安装Docker安装Docker Compose 2、安装Jellyfin3、配置转码 四、NPU的驱动&#xff08;可选&#xff09; 零…

消息队列 MQ 性能大揭秘

RabbitMQ 以下是rabbitmq官方针对RabbitMQ 3.12的性能测试报告&#xff0c;从报告中可以看到他测试的吞吐量是保持在万级的&#xff0c;延迟时间平均在25毫秒左右&#xff0c;最小延时可以达到微秒级。 另外图中还可以看到在低吞吐量的情况下rabbitmq的延迟速度非常的快&…

QT Creater实现国庆节主题项目【0基础完成版】

本文适用对象 想要学习qt creater的小白;想要学习c++制作软件的编程爱好者。可以先下载这篇博客绑定的资源,然后一边操作,一边学习,会更高效~0. 创建初始项目 一步步来操作吧,首先下载qt creter,之前发布过相关资源,大家直接查找下载,或者自行下载。 1. 初始代码 mai…

RabbitMQ 04 集群,用于提高系统性能

01.背景 02.单个节点的MQ会持久化的记录什么数据 03.集群情况下的MQ会持久化的记录什么数据 04.集群中的队列 单个节点的队列&#xff1a; 集群的队列&#xff1a; 05. 两个原因&#xff1a; 这样做带来的好处&#xff1a; 05.集群的交换机 交换机的本质 交换机在集…

VS Studio2022 最新的mission planner二次开发环境搭建 所有资源都在自己亲测 自己一步步搞出来的花了1个月(小白转行版

文章目录 1. 环境要求1.1 VS Studio下载1.2 Mission Planner2 Mission Planner打包msi(使用使用VisualStudio2022插件(Visual Studio Installer Projects 2022))3 打开设计器FlightData.cs1. 环境要求 Win10以上(目前实测了11,10也可以的) 1.1 VS Studio下载 VS Studio20…

C语言文件操作超详解

文章目录 1. 为什么使用文件2. 什么是文件2. 1 程序文件2. 2 数据文件2. 3 文件名3. 二进制文件和文本文件? 4. 文件的打开和关闭4. 1 流和标准流4. 1. 1 流4. 1. 2 标准流 4. 2 文件指针4. 3 文件的打开和关闭 5. 文件的顺序读写5. 1 顺序读写函数介绍5. 2 对比一组函数: 6. …

庆祝新年:白酒点亮团圆夜

随着岁末的钟声渐渐敲响&#xff0c;新年的脚步悄然而至。在这个辞旧迎新的时刻&#xff0c;家家户户都沉浸在喜庆与团圆的氛围中。而在这个特殊的夜晚&#xff0c;一瓶豪迈白酒&#xff08;HOMANLISM&#xff09;的出现&#xff0c;不仅为节日增添了几分醉人的色彩&#xff0c…

Linux编译内核选项说明

内核功能选择 编译内核时出现的提示信息是在描述内核配置界面中的导航和操作方式。具体解释如下&#xff1a; Arrow keys navigate the menu: 使用箭头键可以在菜单中上下左右移动。 <Enter> selects submenus ---> (or empty submenus ----): 按下回车键可以选择一个…

无人机之地面站篇

无人机的地面站&#xff0c;又称无人机控制站&#xff0c;是整个无人机系统的重要组成部分&#xff0c;扮演着作战指挥中心的角色。以下是对无人机地面站的详细阐述&#xff1a; 一、定义与功能 无人机地面站是指具有对无人机飞行平台和任务载荷进行监控和操纵能力的一组设备&…

我把多模态大模型接入了「小爱」,痛快来一场「表情包斗图」!

前两天&#xff0c;搞了个微信 AI 小助理-小爱(AI)&#xff0c;爸妈玩的不亦乐乎。 零风险&#xff01;零费用&#xff01;我把AI接入微信群&#xff0c;爸妈玩嗨了&#xff0c;附教程&#xff08;下&#xff09; 最近一直在迭代中&#xff0c;挖掘小爱的无限潜力: 链接丢给…

什么是点对点专线、SDH专线以及MSTP专线?

点对点专线&#xff08;Point-to-Point Circuit&#xff09;、SDH专线&#xff08;Synchronous Digital Hierarchy&#xff09;以及MSTP专线&#xff08;Multi-Service Transport Platform&#xff09;都是企业级通信服务中常见的网络连接类型&#xff0c;主要用于提供高带宽、…