基于python 的无线电信号数据分析研究
引言
随着智能信息和人工智能在工程实践中的普及,无线电信号数据分析越来越受到研究者的欢迎。在此背景下,无线电信号成为数据科学领域中的一个重要研究。分析处理无线电数据,需要高效的编程工具,Python 语言在处理海量数据时简单易用,在处理大量数据的无线电信号上优势明显。同时Python 可以关联相关的处理库,使得Python 在数据处理方面更加强大,同时可视化程度更高。
2)树干涂白、根颈培土。每年11月中下旬,对已上架树体涂白(涂白剂配方:水10份+生石灰2份+食盐0.5份+石硫合剂1份+动植物油少许),主要涂抹主干和枝蔓处。然后在植株根颈部培土20~30 cm高,踩实,保护植株根颈部。
1 Python 数据分析
Python 是面向对象的高级语言,相对于C++来说,它的语法更加简单,对处理大数量级的数据来说,处理方式更加友好,编译代码分析多维数组更加直观。无线电信号数据本身就是一个庞大的数据,分析处理要选好处理工具,Python 的友好编程成为处理无线电信号数据的首选,Python 分析无线电信号,需要相关的库函数配合,这样才能发挥Python 的强大功能,加载Numpy[1] 、SciPy、Sympy 和matplotlib[2] 相关的库处理无线电信号数据。Python 与调用库的处理关系如图1所示。
![pagenumber_ebook=58,pagenumber_book=52](https://qkk.lw71.com/uploads/image/2018/04/3f67fdf1fde09d8d188cd8c61eef5f22.png)
图1 Python 处理关系图
Python 具有下列特性:
(1)代码简单易懂,充分考虑初学者接受能力,编译器简单,维护性好。使用更加方便,代码效率提高。
(5)使用Python 的程序员越来越多,对Python 编程语言优化也越来越丰富,相应的第三方库更加多样、强大。
(2)相对于C++语言,实现同一功能的代码编译简单,代码行数也更少,阅读性比较友好。测试代码更加简洁。
(3)封装的库函数比较丰富,功能比较强大,接口也比较丰富,操作更加灵活流畅。
[1] 王仁武.Python与数据科学[M] .上海:华东师范大学出版社,2016
两组治疗依从性比较,观察组患者各项治疗依从性高于对照组,差异具有统计学意义(P<0.05),详见表1。
犹如突然被五百万砸中,她的第一反应不是高兴,而是被砸蒙了,怀疑是假的。颜晓晨愣愣地看着沈侯,迟迟不说话,让沈侯很不耐烦,“到底同意不同意?痛快一点!”
2 无线电信号数据分析
注释
![pagenumber_ebook=59,pagenumber_book=53](https://qkk.lw71.com/uploads/image/2018/04/2270dc9dc5d5271970a9079723d889e6.png)
图2 11种无线电调制信号
本文通过对Python 语言数据分析的概念和流程、Python 类库分析总结出使用Python 快速便捷地处理无线电信号数据的方法:首先需要熟悉Python 的基本语法,掌握如何使用Numpy、SciPy、Matplotlib 类库;其次使用自己所学的编程语言处理分析无线电信号RML2016.10a.pkl 数据集,了解信号的深层数据结构,了解最基本的无线电信号的数据样本,为无线电信号调制样式识别[5] 提供基本数据支撑。
RML2016.10a.pkl 整体数据分析已经很全面,但具体到一种无线电信号就需要更加深入的数据分析,这样可以更加了解无线电信号数据的内部结构,处理这些数据更加有的放矢,使用Python 中的NumPy 库中的具体函数如List 函数、Value 函数、array 函数等,数据分析到具体11种无线电信号和20种信噪比[4] 中的一种,发现数据是以矩阵的形式存储在数据集中,其中QAM16;12dB 中有1000个数据样本如图4所示。
进入项目开发阶段是按照项目开发流程进行的。即要经过需求分析、总体设计、详细设计等阶段。这个阶段最重要的是定期的开会讨论和检查进度。检查的方式是每周举行例会,项目组成员将有关内容整理成文档要点,轮流向其他人分享。项目开发的周期较长,也不同于单个科目的课程学习,导师除了检查进度,在学生遇到困难时需要引导他们解决问题。这个阶段要避免学生的畏难心理。通过组员间相互讨论,和在导师的指导下解决难题,学生的研究得以进一步深入,从而逐步提高。项目也能够按计划持续开发下去,直到完成。
![pagenumber_ebook=60,pagenumber_book=54](https://qkk.lw71.com/uploads/image/2018/04/ac7f8d5fdd505735a34517c059552d98.png)
图3 RML2016.10a.pkl 数据分析图
![pagenumber_ebook=60,pagenumber_book=54](https://qkk.lw71.com/uploads/image/2018/04/d60573342ad1a2bbe4cf592fce671a72.png)
图4 QAM16数据样本图
3 总结
无线电信号数据应尽可能的接近真实的无线电系统,从最开始的仿真设计充分考虑到真实场景的信号生成原理、调制解调原理、信号识别原理等。在分析过程中我们使用Pickle 函数读取数据集,通过Python的处理,分析数据集里包含220000个采样样本,每个采样的数据长度为128,同时使用Python 的dictionary数据结构,分析无线电数据集,其中dictionary 数据结构有220个,其中11种无线电信号在20个不同的信噪比下各分布一个,这样也可以直观理解Python 的dictionary 的用法,其中mods 代表11种无线电信号调制类型,snrs 代表20种不同信噪比。RML2016.10a.pkl 整体数据如图3所示。
无线电信号数据使用公开的RML2016.10a.pkl 数据集[3] ,用Spyder 分析11种无线电信号的调制类型,其中包括8种数字无线电信号和3种模拟无线电信号,数据的采样信噪比在-20dB 到18dB 的区间中。11无线电信号调制类型如图2所示。
(4)在进行人工智能搭建环境方面相较C++比较容易,匹配各种深度学习网络模型更加方便。给从事深度学习的算法工程师降低编程要求。
模糊自适应 PID算法的仿真可以利用Matlab等仿真软件进行,即利用 Matlab中的simulink工具箱建立如图 4所示的仿真模型。在仿真过程中对三个参数(Kp、Ki、Ki)优化调整,就可以得到最优的控制曲线。
[2] 张若愚.Python科学计算(第2版)[M] .北京:清华大学出版社,2016
[3] T J.O' Shea,hops://radioml.com/datasets/radioml-2016-04-dataset/
[4] 吕铁军.通信信号调制识别研究[D] .成都:电子科技大学,2000
[5] 杨杰.通信信号调制识别[M] .北京:人民邮电出版社,2014
上一篇:Python 数据分析技术综述
下一篇:最优路径算法问题