DDMA信号处理以及数据处理的流程---DDMA原理介绍

Hello,大家好,我是Xiaojie,好久不见,欢迎大家能够和Xiaojie一起学习毫米波雷达知识,Xiaojie准备连载一个系列的文章—DDMA信号处理以及数据处理的流程,本系列文章将从目标生成、信号仿真、测距、测速、cfar检测、测角、目标聚类、目标跟踪这几个模块逐步介绍,这个系列的文章大约是一个7-8篇左右。

最终效果如下:

本篇文章主要讲的是DDMA原理性的部分。

目录

文章目录

    • DDMA波形
    • DDMA速度解模糊
    • DDMA信号仿真
  • 参考文献

DDMA波形

DDMA波形下所有发射天线同时发射,但是每个发射天线的信号都偏移一个特定的频率,通过这个外部偏移的频率使不同发射天线的信号在doppler域上能分离开来。

不同发射天线上的频率偏移是通过在chirp之间上施加不同的相位旋转来实现的,但是在chirp内信号的相位是不变的。

假如发射天线总共有 N t N_t Nt根发射天线,对于发射天线k,在相邻chirp上施加的相移 ω k \omega _k ωk由下式决定:

ω k = 2 π ( k − 1 ) N t , k = 1 , … … , N t \omega_k=\frac{2\pi (k-1)}{N_t},k=1,……,N_t ωk=Nt2π(k1)k=1,……,Nt

发射天线数量为3根时,具体表现如下图所示(图片来源于TI文档):

当目标的速度超过一定的范围时,就无法根据子带的位置去分离不同的发射天线数据,就会产生DDMA的速度模糊问题。

DDMA速度解模糊

为解决DDMA速度模糊的问题,TI采用的是一种基于空子带的解速度模糊的方法。

在相邻chirp上施加的相移 ω k \omega _k ωk修改为:

ω k = 2 π ( k − 1 ) N t + N e m p t y , k = 1 , … … , N t \omega_k=\frac{2\pi (k-1)}{N_t+N_{empty}},k=1,……,N_t ωk=Nt+Nempty2π(k1)k=1,……,Nt

N e m p t y N_{empty} Nempty为空子带的数量

发射天线数量为4根,空子带数量为2时,具体表现如下图所示(图片来源于TI文档):

DDMA信号仿真

对DDMA信号进行仿真,参数如下:

发射天线数量:4,
空子带数量:2,
chirp数量:384,

结果如下:

代码如下:

clc;close all;clear;
chirpNums = 384;
txAntennas = 4;
emptySuband = 2;
i = 1:1:chirpNums;
j = 1:1:txAntennas;
phi = zeros(chirpNums,txAntennas);
S = zeros(chirpNums, 1);

for i_index= 1:1:chirpNums
    for j_index = 1:1:txAntennas
        phi (i_index,j_index)= mod(360*(i_index-1)*(j_index-1)/(txAntennas+emptySuband),360);
    end
end
s1(:,1)= cosd(phi(:, 1));
s2(:,1)= cosd(phi(:, 2));
s3(:,1)= cosd(phi(:, 3));
s4(:,1)= cosd(phi(:, 4));
figure;
subplot(4,2,1);plot(((s1)));xlabel('chirp数');ylabel('幅值');title('tx0天线时域信号')
subplot(4,2,3);plot(((s2)));xlabel('chirp数');ylabel('幅值');title('tx1天线时域信号')
subplot(4,2,5);plot(((s3)));xlabel('chirp数');ylabel('幅值');title('tx2天线时域信号')
subplot(4,2,7);plot(((s4)));xlabel('chirp数');ylabel('幅值');title('tx3天线时域信号')
subplot(4,2,2);plot(abs(fft(s1)));xlabel('chirp数');ylabel('幅值');title('tx0天线频域信号');
subplot(4,2,4);plot(abs(fft(s2)));xlabel('chirp数');ylabel('幅值');title('tx1天线频域信号');
subplot(4,2,6);plot(abs(fft(s3)));xlabel('chirp数');ylabel('幅值');title('tx2天线频域信号');
subplot(4,2,8);plot(abs(fft(s4)));xlabel('chirp数');ylabel('幅值');title('tx3天线频域信号');

参考文献

  1. 《基于 AWR2944 的汽车雷达 DDMA 波形的原理和实现》

至此,本片文章就此结束了。

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

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

相关文章

LeetCode790多米诺和托米诺平铺

题目描述 有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 7 取模 的值。平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺…

【教程】从0开始搭建大语言模型:文本预处理

从0开始搭建大语言模型:文本预处理 参考仓库:LLMs-from-scratch 理解Word embedding 深度神经网络模型,包括LLM,不能直接处理原始文本,因此需要一种方法将它转换为连续值的向量,也就是embedding。如下图…

【YOLOV8】1.开发环境搭建

Yolo8出来一段时间了,包含了目标检测、实例分割、人体姿态预测、旋转目标检测、图像分类等功能,所以想花点时间总结记录一下这几个功能的使用方法和自定义数据集需要注意的一些问题,本篇是第一篇,开发环境的配置。 YOLO(You Only Look Once)是一种流行的物体检测和图像分割…

UE4_Ben_图形52_水下效果处理

学习笔记,不喜勿喷,欢迎指正,侵权立删!祝愿生活越来越好! 在这个后期处理的效果中,我们可以看到有很多不同的,这里有浓雾,波纹扭曲,镜头扭曲和边缘模糊,在第4…

Linux中安装Docker,并使用Docker安装MySQL和Redis

1、安装docker 1卸载系统之前的docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2、安装Docker-CE #安装必须的依赖 sudo yum install -y yum-utils \device-map…

抽象,自定义函数,递归

6.1懒惰是一种美德 如果你 在一个地方编写了一些代码,但需要在另一个地方再次使用,该如何办呢? 假设你编写了一段代码,它计算一些斐波那契数(一种数列,其中每个数都是前两个数的和)。 现在的…

Freeswitch-soundtouch-变声开发

文章目录 一、介绍二、安装soundtouch2.1 源码安装方式(推荐)2.1.1下载源码2.1.2解压2.1.3 编译2.1.4 迁移(可选) 2.2 apt-get 安装 三、使用3.1 终端使用3.2 Freeswitch使用3.2.1编译Freeswitch的mod_soundtouch3.2.2启用 mod_so…

Qt图像处理技术九:得到QImage图像的灰度直方图

效果 原理 得到灰度化值&#xff0c;将灰度化的值带入0-255内&#xff0c;增加&#xff0c;得到可视化图形 源码 // 绘制直方图 QImage drawHistogram(const QImage &image) {QVector<int> histogram(256, 0);// 计算图像的灰度直方图for (int y 0; y < image…

static的用法

static一般用于修饰局部变量&#xff0c;全局变量&#xff0c;函数 1 static修饰局部变量 是因为改为static int a1;后&#xff0c;出了作用域&#xff0c;不会销毁a的值&#xff0c;想要理解其本质&#xff0c;首先先看一下这个图&#xff1a; static修饰局部变量时&#xf…

【代码随想录】【算法训练营】【第30天】 [322]重新安排行程 [51]N皇后 [37]解数独

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 30&#xff0c;周四&#xff0c;好难&#xff0c;会不了一点~ 题目详情 [322] 重新安排行程 题目描述 322 重新安排行程 解题思路 前提&#xff1a;…… 思路&#xff1a;回溯。 重点&…

yolo水果品质:新鲜腐烂橙子检测/分类数据集(3k+图像全标注)

yolo水果品质检测之新鲜腐烂橙子数据集&#xff0c;整个数据集共包含3852张图像&#xff0c;yolo标注完整&#xff08;txt格式&#xff09;,标注类别分为新鲜橙子&#xff08;0&#xff09;和腐烂橙子&#xff08;1&#xff09;两类 图像统一格式&#xff1a;jpg 图像统一分辨…

windows10子系统wsl ubuntu22.04下GN/ninja环境搭建

打开windows10子系统 ubuntu22.04 ubuntu22.04: 首先需要 安装ninja $sudo apt install ninja-build $ ninja --version 1.10.0 安装clang $sudo apt install clang $clang --version Ubuntu clang version 14.0.0-1ubuntu1.1安装gn Github: https://github.com/timniederh…

ar地产沙盘互动体验提供更加丰富多彩的楼盘信息

AR增强现实技术作为其重要分支&#xff0c;正逐步在全球市场中崭露头角。国内的AR增强现实技术公司正致力于链接物理世界和虚拟世界&#xff0c;为用户带来沉浸式的AR体验。它们打造线上线下联动的一站式文旅景区数字化运营平台&#xff0c;让您在享受旅游的同时&#xff0c;也…

什么是Vector Database(向量数据库)?

什么是Vector Database(向量数据库)&#xff1f; 向量数据库是向量嵌入的有组织的集合&#xff0c;可以随时创建、读取、更新和删除。向量嵌入将文本或图像等数据块表示为数值。 文章目录 什么是Vector Database(向量数据库)&#xff1f;什么是嵌入模型(Embedding Model)&…

用蒙特卡罗积分法近似求解定积分的值及举例

一、背景知识 1、连续随机变量的概率密度函数 对于连续型随机变量的概率密度函数&#xff08;PDF&#xff09;&#xff0c;其在整个定义域上的积分必须等于1。这是概率密度函数的一个基本属性&#xff0c;它确保了随机变量取任何值的概率之和等于1&#xff0c;符合概率论的公…

家用洗地机哪个牌子好?专家推荐榜单助你挑选最合适的洗地机

随着科技不断发展&#xff0c;智能家居产品逐渐融入我们日常生活中&#xff0c;洗地机作为家庭清洁必备工具&#xff0c;越来越受到消费者青睐&#xff0c;但是面对市面上种类繁多的洗地机&#xff0c;我们如何挑选到适合自己的产品呢&#xff1f;专家推荐榜单助你挑选最合适的…

在vue项目中使用markdown-it回显markdown文本

前言 其实有很多插件都是可以用来回显markdown文本的,这个插件也是其中之一。 文档地址:markdown-it | markdown-it 中文文档 这个文档在vue2和vue3里面都可以使用,所以还是比较推荐的 使用 安装 npm install markdown-it --save 应用 <template><div><…

正邦科技(第10天)

这里写目录标题 任务一任务二任务三 任务一 下位机报上来的十进制数据进行解析&#xff1a; 360170 固定报文&#xff0c;一个F对应一个字节&#xff0c;温度值&#xff0c;湿度值&#xff0c;烟雾浓度值是十进制转16进制&#xff0c;告警状态需要高低位移位&#xff0c;然后再…

【Pycharm】功能介绍

1.Code Reformat Code 格式化代码&#xff0c;可以帮助我们去自动调整空格等&#xff0c;根据python语法规范自动调整 2.Settings 1.创建py文件默认填充模版 3.读写py文件编码格式一致性 顶部代码指定的编码方式作用&#xff1a; 可以保证python2/3解释器在读取文件的时候按…

个人项目———密码锁的实现

布局组件 布局效果 组件绑定 密码锁的实现代码 using TMPro; using UnityEngine; using UnityEngine.UI;public class PasswordPanel : MonoBehaviour {// public Button button;// 所有按键的父物体public Transform buttonPanel;// 输入字符串的文本框public TMP_Text input…