通过USRP B200软件无线电SDR方式解码无人机坐标飞手坐标,实现无人机探测侦测监控,继而实现反制压制

本文主要是介绍通过USRP B200软件无线电SDR方式解码无人机坐标飞手坐标,实现无人机探测侦测监控,继而实现反制压制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验平台

环境详情
电脑联想
系统Windows
gnuradiognuradio-3.7.5
uhdUHD-Mirror-release_003_009_002
USRP 型号USRP-B200-mini 

一、摘要

        无人机的应用领域越来越广泛,但是其目前大范围广泛使用给安全、安保和隐私带来了许多风险。例如,攻击方可能会使用无人机进行监视、运输非法物品,或通过侵入机场上方的封闭空域造成经济损失。为了防止恶意使用,无人机制造商采用多种对策来强制安全可靠地使用无人机,例如对速度和高度施加软件限制,或使用地理围栏实施禁飞区。

       但对应临时的重要会议,临时的考试会场,重要的安保现场,隆重的体育赛事等则无法使用有效的手段对无人机进行监管侦测。

        有没有一种有效的办法可以对无人机的位置可以直接的获取呢?我们研究了目前市场上占用率最高的大疆无人机。大疆无人机和遥控器之间使用了一种类似于WIFI协议的通信技术进行数据回传。既然有数据发出,遥控器能正常接收,那么我们可以用一种无线电接收设备来接收这些数据。

        本次使用的无线电接收机是网上购买的 USRP-B200-mini,它是一种通用的无线电接收设备也叫通用软件定义无线电简称SDR。  

二、无人机相关原理和基础及数据图传相关技术研究

本次主要研究了目前主流的航拍机器

• DJI Mini 2,RC:RC231

• Mavic Air 2,RC:RC231

• Mavic 2 Pro / Zoom, RC: RC1B

      通过研究他们的遥控器发现,通过 C2 链路控制无人机和相机。来自控制器和智能手机的用户输入被发送到收发器,收发器调制信号并通过 OcuSync 协议传输。此外,RC 接收无人机的下行链路数据,其中包括遥测数据和视频馈送,然后将其传递给智能手机。RC231 也使用 S1 SoC 作为收发器,支持最新的 DJI 无人机,如 DJI Mini 2、Mavic Air 2、Mavic Air 2s 和 Mavic 3。这些无人机使用 OcuSync 传输协议进行 C2 和下行链路。选择的OcuSync版本以实际无人机机型为准 - 可以是 OcuSync 2.0、3.0 或 3+。收发器结合了用于无线电通信的发射器和接收器,是无人机的重要组成部分。它通过专有协议或无线标准(如蓝牙或 WiFi)工作。一些最新的 DJI 无人机使用所谓的 Sparrow S1 收发器进行 OcuSync 传输。该收发器是基于 ARM Cortex-M CPU 的专有 SoC,可以在 Mini 2 和 Mavic Air 2 中找到。Mavic Air 2s 和 Mavic 3 使用所谓的 P1(Pigeon)SoC 作为收发器。

三、无人机频谱分析

         无人机的图传一般使用WIFI或者LTE协议。目前无人机的图传协议远比WIFI协议和LTE协议距离远,大疆也使用过wifi图传协议,例如精灵系列。后来大疆推出了自有的图传协议Lightbridge,例如精灵4,Lightbridge传输距离超过了wifi,但是最大只能到5km。之后大疆所有机型都采用最先进的Ocusync图传协议,现在已经演进到了Ocusync3.0版本,距离达到10公里以上。

        根据分析,很明显Ocusync这些协议使用与 LTE/WIFI 类似的调制技术和参数。逐步对所有后续参数进行逆向工程。下图显示了单个 DroneID 无线电帧的频谱。一个数据包包含九个标志,包括两个 Zadoff-Chu (ZC) 同步标志(列 4 和 6)。其他标志是 OFDM 数据标志,具有 601 个子载波(600 个数据和 1 个 DC),子载波间隔为 15 kHz。载波被填充到2的下一个幂次数,以在下一步中应用快速傅立叶变换 (FFT);这给出了总共 1024 个子载波,总带宽为 15.36 MHz(包括保护频带)。

记录显示数据包每 640 毫秒重复广播一次。注意到一些无人机(Mavic 2 和更早的 OcuSync 无人机)不发送第一个标志(标志 1),这导致更短的帧持续时间为 576 µs。其他参数保持不变。

四、无人机信号解调

将无线电信号转换为比特和字节需要多个步骤:

a) 时间同步以找到 OFDM 标志的边界和频率同步以与承载有效载荷的 OFDM 子载波对齐;

b) 信道估计考虑无线电传输期间的失真;

c) 子载波的解调制(即,将 OFDM 子载波映射到位)。

通过循环前缀的时间同步:Symbol 不能一个接一个直接追加,而是需要在它们之间进行填充以减少标志间干扰。对于 DroneID,标志之间的间隙由循环前缀 (CP) 填充:每个标志末尾的副本附加在相应标志的开头。这能够应用 Schmidl-Cox 时间同步 - 将移动一个标志长度并具有循环前缀宽度的两个块相关联。原理如下图所示。循环前缀长度为72个样本,标志1和9除外,它们具有80个样本的扩展循环前缀。下图中相关性的峰值显示时域中的标志开始。有了关于确切标志开始的信息,可以使用 FFT 将标志转移到频域 - 来自时域的 1024 个样本导致频域中的 1024 个子载波。同步后,循环前缀不再需要并被丢弃。

通过 Zadoff-Chu 序列进行频率偏移校正:发现标志 4 和 6 总是包含根为 600 和 147 的 ZC 序列。将本地生成的 ZC 序列与实际标志相关联,产生任何载波频率偏移,并应用 用于校正的频移。

副载波解调和比特分配:OFDM 副载波是正交相移键控 (QPSK) 调制的。即,载波信号相移四个可能角度之一,以将信号的消息调制为两位。下图显示了四种不同的相移,产生了四个簇(如果绘制为复数表示)及其各自的位表示。同步和纠错越好,分组越清晰。以下解码步骤将显示位分配是否正确。

五、无人机信号解码

前面的步骤将无线电信号转换为比特流,可以对其进行解码以检索实际的 DroneID 有效载荷。通过分析 S1 固件,发现数据 用Gold序列加扰,确定了底层线性反馈移位寄存器 (LFSR) 的种子。此外,它使用与 LTE 规范中相同的子块交织置换表使用turbo编码器进行编码。

使用比特流的解扰和涡轮解码,并将生成的数据映射到如上的DroneID 结构,通过逆向工程在无人机的固件中找到了它。每个数据包中包含的 CRC 校验和与计算相匹配,表明正确恢复了数据。下图显示了成功恢复 DroneID 负载的示例。

解码出来的无人机数据结构

typedef struct {
    int          index;
    uint16_t packet_type;
    uint16_t seq_num;
    uint16_t state_info;
    uint8_t drone_serial_num[17]; // 唯一序列号
    double drone_longitude; //无人机经度
    double drone_latitude; //无人机纬度
    float altitude;
    float height; //barometric mearsure
    float north_speed;
    float east_speed;
    float up_speed;
    int16_t pitch_angle; // only for ver1
    int16_t roll_angle; // only for ver1
    int16_t yaw_angle;
    uint64_t gpstime; //GPS时间
    double pilot_longitude;  //飞手经度
    double pilot_latitude;  //飞手纬度
    double home_longitude;//返航点经度
    double home_latitude; //返航点纬度
    uint8_t product_type;//产品型号数字代号
    char product_type_str[32]; //产品型号字符串
    uint8_t uuid_length;
    uint8_t uuid[18];
    uint8_t license[10];
    SYSTEMTIME detect_time;
    double detect_freq;
    double uav_distance;
    double pilot_distance;
    double home_distance;
}PlaneInfo;

六、测试结果

通过实测 DJI Mini 2,Mavic Air 2, Mavic 2 Pro等型号,都可以实时解码出无人机唯一序列号。无人机精确的经纬度,返航点经纬度和飞手经纬度。

 

这篇关于通过USRP B200软件无线电SDR方式解码无人机坐标飞手坐标,实现无人机探测侦测监控,继而实现反制压制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/318004

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P