3、GNU Radio的软件结构
GNU Radio的编程基于Python脚本语言和CH 的混合方式。C++由于具有较高的执行效率,被用于编写各种信号处理模块,如:滤波器、FFT变换、调制/解调器、信道编译码模块等,GNU Radio中称这种模块为block。Python是一种新型的脚本语言,具有无须编译、语法简单以及完全面向对象的特点,因此被用来编写连接各个block成为完整的信号处理流程的脚本,GNU Radio中称其为graph。
GNU Radio的软件结构顶层是面向用户的block及其“粘合剂”—— aph。用户除了能够开发自己的block之外,还可使用GNU Radio所包含的丰富的block,包括各种滤波器、FFT变换、调制/解调模块、时频同步模块等等,其中一些利用了CPU的增强指令集(如:MMX、SSE、3D Now!)进行了优化,以提高性能。
7、结束语
GNU Radio可以被理解为开源软件的自由精神在无线领域的延伸,开放性和低成本是其最大的优势。低成本使得技术人员以及资金不那么充裕的研究机构可以像购买PC机一样拥有一套能自由进入频谱空间的软硬件系统,从而为更广泛的技术创新打下基础。在GNU Radio的邮件讨论组中每天都有来自世界各地的用户对各种相关技术问题的讨论,这些用户包括学生、大学教师、软硬件工程师、无线工程师、业余无线电爱好者,而这些人正是推动技术进步的主力。
GNU Radio的开放特性也是其具有广泛吸引力的重要因素,同时也是其生命力的源泉。由于代码和技术资料完全开放,人们可以了解到其运作的所有细节,并可自由地对其进行修改和开发。在这种开放的氛围之下,人们取得的知识、成果可以得到充分的交流共享,更有益于创新。