1引言
GNU Radio是一个通过最小程度地结合硬件,用软件来定义无线电波发射和接收的方式,搭建无线电通信系统的开源软件系统。其应用程序用Python语言来编写,真实的信息处理过程是由C++浮点扩展库来实现。因此开发者可以获得实时高效的可复用的应用开发环境。GNU Radio不仅可以用于仿真,也可以在不用真实硬件,而使用预先记录或生成的数据来开发信号处理算法。
GNU Radio提供了所有通用软件无线电需要的库,包括各种调制方式(GMSK、 PSK、 QAM等)、信号处理模块(FFT、滤波器等)等。开发者通过调用需要的模块,建立相应的流向图,就能够搭建一个无线电系统。其灵活性和高效性使得复杂的数据生成过程变得简单,并被广泛地应用射频通信方面。
2 GNU Radio模块扩展分析
通常在项目的设计过程中,我们有时需要将几个现有模块级联生成一个新的模块,有时也需要生成一个全新的数字信号处理模块。前者比较简单,可以通过Python强大的粘合功能实现。对于后者,很多资料上介绍需要自己编写C++语言的源码程序,最后翻译成可以调用的Python模块,但是这样做非常繁琐,而且耗时。那如何才能快速便捷的扩展新模块呢?