| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 极致敏捷-使用C语言在Taskbus中一天实现ADS-B接收机和实时飞行地图 -> 正文阅读 |
|
[C++知识库]极致敏捷-使用C语言在Taskbus中一天实现ADS-B接收机和实时飞行地图 |
大家知道利用 RTLSDR可以接收1090MHz的ADS-B信号,观察头顶的飞机。ADS-B信号是一种脉码调制的古老信号,可以理解为定时调幅信号。通过简单的按时比大小,就可以暴躁解调。 taskBus 配合 stdio 包装器后,灵活性非常强,我们就花一天时间来移植这种接收机功能。在发行版中有完整的绿色版可执行文件,在win-10下理论上配好USRP-B210就能使用了。 1 上午-改造 dump1090为stdio版本原始的dump1090代码参考:
1.1 从键盘而不是RTLSDR输入数据不过这个东西是要RTLSDR 电视棒的。我们把无关的全删了,而后从 stdin直接获取数据:
“别跟我说多线程、加锁,对于这种2M带宽的窄带信号,直接单线程开撸了”——这是开玩笑。其实,仔细学习dump1090,就能发现它还是老鸟写的。用查表的方法取代了sqrt,显著降低了开销,使得单线程也很实时。 1.2 printf 输出 qplanetosm绘图指令在原版的dump1090输出基础上,我们加入qplanetosm的绘图指令输出:
这样,就可以用我们以前自己开发的地图进行绘制了。关于绘图指令,参考: 1.3 完整代码完整代码(一个c文件搞定)见https://gitcode.net/coloreaglestdio/taskbus/-/blob/master/module_templates/stdio/recv_adsb/recv_adsb.c 2 下午-引入taskBus使用taskBus的包装器,分别包装两个模块。
包装后的工程: 在调试的时候,遇到一些小问题:
3 晚上-运行工程接上我的山寨USRP-B210,直接运行,就可以看到飞机了! 4 总结-taskbus敏捷开发可以看见,通过该方法,可以把毫不相干的各种程序很快移植到TaskBus上,构造出实时信号处理系统。这种灵活的构造能力,显著把使用者的精力集中到算法开发上去了。 基于taskBus设计软件系统,就是命令行管道系统的扩展。可以理解为把线性1:1:1的管道,变成一个交织的m:n:k图结构,大大提高了灵活性。同时,对图中的1:1、1:2节点,更可以重用控制台程序,无需进行通道封装,非常方便。 同时,采用这种松散、轻量的策略,可以把团队手头不相干的历史财富迅速串联起来,形成合力。这是小型非计算机专业团队提高整体开发能力的关键。 5. 法律提示需要注意的是,ADS-B接收可以,万万不要去上传。保护国土安全人人有责。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 21:56:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |