图片展示

软件无线电使用教程 : Part 2 简单认识GRC

GNU Radio是什么?

GNU Radio是免费开源的软件开发工具套件。它提供信号运行和处理的模块,用它可以在一些低成本的外部射频硬件和通用微处理器上实现软件定义无线电或无硬件的模拟环境。

GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统。GNU Radio是一个高度模块化,采用流图类形式的软件构架平台,它本身提供许多模块库,使用者可以很快速的使用这些模块来建立关于信号处理的流程。

GNU Radio 是一个通过最小程度地结合硬件(主要是USRP),用软件来定义无线电波发射和接收的方式,搭建无线电通信系统的开源软件系统。也就是说,现在那些高性能的无线电设备中所遇到的数字调制问题将变成软件问题。

GNU Radio 应用程序用 Python 语言来编写,真实的信息处理过程是由 C++浮点扩展库来实现的。即Python 用来构造流图,应用程序的图形化接口,C++用于编写各种block。因此开发者可以获得实时高效的可复用的应用开发环境。虽然 GNU Radio并不是主要用于仿真,但也可以不用真实硬件,而使用预先记录或生成的数据来开发信号处理算法。

GNU Radio 提供一个信号处理模块(blocks)的库,并且通过建立一个流向图(flow graph)把单个的处理模块连接在一起形成一个无线电系统。信号处理块的属性包括输入和输出的端口数,流过它们的数据的类型。经常使用的数据流的类型是短整型(short),浮点型(float),和复数 (complex)类型。一些处理模块仅仅有输出端口或者输入端口,它们分别成为信号源(data source)和信号接收器(sink)。

       GNU Radio 包含丰富的block,包括各种滤波器、FFT 变换、调制/解调模块、信道编译码模块、时频同步模块等等,其中一些利用了 CPU 的增强指令集(如:MMX、SSE、3D Now!)进行了优化,以提高性能。

USRP是什么?

USRP(Universal Software Radio Peripheral,通用软件无线电外设)是 Matt Ettus 的杰作,旨在使普通计算机能像高带宽的软件无线电设备一样工作。从本质上讲,它充当了一个无线电通讯系统的数字基带和中频部分。

USRP 背后的基本设计理念是在主机 CPU 上完成所有波形相关方面的处理,比如调制和解调。所有诸如数字上下变频、抽样和内插等高速通用操作都在FPGA上完成。USRP把你的PC连接到RF世界。

USRP 本身不含有ROM,仅仅有一个存储 VendorID 和 productID 和版本号信息的 EEPROM。

FPGA 是一个通用硬件,它的行为完全由配置的bitstream来决定,你可以把bitstream 看作是一个目标码。这个 bitsteam 是由一个高级硬件描述语言编译得到的,在 USRP 里面这是由 verilog 硬件描述语言来实现的。

FPGA所做的基本是执行高带宽下的数学运算,并减少数据传输速率。

USRP2 针对 DSP 应用优化了的大型现场可编程门阵列( FPGA )可以在高采样率下处理复杂波形。千兆以太网接口,使应用程序可以使用 USRP2 同时发送或接受50 MHz的射频带宽。在USRP2中,FPGA 出现了诸如数字上变频器和下变频器等高采样率处理器。较低采样率的操作可在主机电脑上,甚至可以在具有32位 RISC 微处理器和有很大用户设计自由空间的 FPGA 上做。更大的 FPGA 使得 USRP2 可以在没有电脑主机的情况下作为一个独立的系统运行。USRP2 的配置和固件被存储在一个 SD 闪存卡里,无需特别的硬件就可以轻松编程。

USRP2 母板有四个插槽,可以插入2个基本接收子板和2个基本发送子板,或者2个RFX 板子。子板是用来装载RF接收接口或者调谐器和射频发射机的。有2个标注为TXA和TXB的插槽用于连接2个发送子板,相应的,有2个标注为RXA和RXB的接收子板插槽。每个子板插槽 可以访问 4 个高速 AD/DA 转换器其中的2个( DAC 输出用于发送, ADC 输入用于接收) 。



添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功
添加微信好友,详细了解产品
我知道了