图3.3.2 LF TX子板和LF RX 子板
LF TX 和LF RX子板与Basic TX 和Basic RX 有点相似,主要的不同在于,由于LFTX和LFRX 使用差分放大器,它们的频率响应可以达到直流。
3.3.3 TVRX子板
图3.3.3 LF TX子板和LF RX 子板
TV RX是一个只具有接收功能的一种子板。它是基于一个电视调谐器模块的完整接收系统。射频频率范围为50MHz~860MHz。其调谐和自动增益控制(AGC)功能均可以通过软件来进行控制。典型噪声系数为8dB,可以用来接受电视信号。
3.4 基于 GNU Radio 和 USRP 认知无线电平台
基于 GNU Radio 和 USRP 的认知无线电平台所实现的主要功能为:频谱的检测、传输频率的选择、软件无线电平台的重构、无线数据的传输。
图3.4.1 认知无线电平台功能图
首先要进行频谱的检测,检测授权用户在使用哪一段频率,哪一段频率有空闲。认知无线电还可以将频谱检测的信息在非系统授权用户之间分享,这种方法称其为合作认知。认知无线电网络最终决策出可执行的通信的频段和通信方式。
然后,认知无线电平台会根据决策以某种调制方式、传输功率重构到某一空闲频率。最后,传输数据时,不单物理层要重构,MAC 层以及上层也需作出相应可用的策略,保证传输速率与质量。
四、GNU Radio的安装
4.1 安装需求
一个最小的GNU Radio 开发环境包括一台PC机,至少一套含USRP 母板的USRP1-PKG 或者USRP2-PKG,至少一块子板(自选)。
注意:
1. 如果搭配USRP1 使用,USB 接口必须是USB2.0。(本文所选)
2. 如果搭配USRP2 使用,网卡必须是千兆以太网卡(1G)
4.2 Ubuntu下安装
一、进入 ubuntu 图形软件平台:
图4.2.1
二、选择要安装的程序:
图4.2.2
在图4.2.2窗口点 Serch 弹出 find 小窗口,在 Serch 依次输入如下软件包的名称:
swig g++ automake1.9 libtool python2.5-dev fftw3-dev
libcppunit-dev libboost1.35-dev sdcc-nf libusb-dev
libsdl1.2-dev python-wxgtk2.8 subversion git guile-1.8-dev
libqt4-dev python-numpy ccache python-opengl libgsl0-dev
python-cheetah python-lxml doxygen qt4-dev-tools
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools
点 Serch :
图4.2.3
选择到要安装的软件点右键 Mark for installation 。最后点 Apply 就可以自动安装了。
4.3 运行usrp_fft.py测试程序
首先连上USRP,插上一块子板,比如我们插上一块RFX2400 子板。
$./usrp_fft.py –f 940M –R A其中-f 选项后面跟接收频段的中心频率。-R 选项后面跟用USRP 母板上的哪一侧子板接收,缺省是A 侧。
图4.3.1运行usrp_fft.py显示的频谱图
上没有信号的话,就会如上图显示出一个平坦的白噪声谱。
图4.3.2使用usrp_fft.py观察GSM频谱
如果你有900MHz 频段的子板,用usrp_fft.py 来观察一下GSM信号的频谱,就会看到非常明显的200kHz 宽度的GSM信号。
Usrp_fft.py 的成功运行,可以证明GNU Radio 的安装没有问题,USRP 的母版和子板的接收功能工作正常。完成USRP的安装与测试。
4.4 PYTHON编程
Python 在GNU Radio 的编程中扮演着重要角色。GNU Radio 为软件无线电的构建提供了一个设计平台。信号处理的应用软件是由Python 代码构建而成,Python 用于实现高级的组织、策略、图形界面和其他一些对运算性能要求不高的功能,而信号处理模块则由C++语言编写。从Python 角度来看,GNU Radio 提供了数据流的提取。
4.4.1FM接收机代码
#!/usr/bin/env python
from gnuradio import gr, eng_notation 基于USRP的软件认知无线电训练平台+PCB图+实验原理图(5):http://www.youerw.com/tongxin/lunwen_196.html