软件无线电

发布 2022-10-21 03:47:28 阅读 1471

北京邮电大学。

usrp和gnu radio调研。

一、gnu radio简介。

gnu radio 是一个通过最小程度地结合硬件(主要是usrp),用软件来定义无线电波发射和接收的方式,搭建无线电通信系统的开源软件系统。也就是说,现在那些高性能的无线电设备中所遇到的数字调制问题将变成软件问题gnu radio 通过提供一套信号处理软件模块和相关联硬件(自由的软件,**合理便宜的硬件)给大众,以图填充这个空白。gnu radio 应用程序用python 语言来编写,真实的信息处理过程是由c++浮点扩展库来实现的。

因此开发者可以获得实时高效的可复用的应用开发环境。虽然gnu radio 并不是主要用于**,但也可以不用真实硬件,而使用预先记录或生成的数据来开发信号处理算法。

图 1.1 典型的软件无线电处理流程。

二、usrp架构。

usrp(universal software radio peripheral)通用软件无线电外设,由ettus等人设计。完整的usrp 一般有母板与用户所需功能相对应的子板组成。其工作原理如图2.

1所示,如下。

用于通信系统中的数字基带和中频部分;

使信号在基带或中频和射频之间作转换;

所有的和波形相关的操作,比如调制解调都在cpu上执行;

所有的具有普遍性的高速处理如数字上下变频,插值与降采样等都在fpga中实现;

图2.1usrp硬件工作原理。

usrp之所以具有很强的灵活性,主要是取决于fpga的可编程特性。因此有必要对usrp上fpga工作原理作一阐述。

简单的说,usrp 上的fpga 的职责就是做上下变频,在数字中频和基带信号之间进行转换。

fpga 像一个小的、高性能的并行计算机一样,可以完成你设计的任务,设计fpga 需要一些技能,并且如果不慎还会烧坏你的板子。还好我们已经提供一个标准的适应性很广的fpga 配置。

usrp上fpga的剩余资源可以为用户提供了更加灵活的控制方式。用户可以利用剩余的fpga资源自定义一些新的功能给usrp让其完成一些用户希望的新的功能。比如,可以利用fpga中的32位risc处理器microblaze控制usrp摆脱对pc上cpu的依赖,从而使usrp可以完全独立的运行用户的设计程序。

图2.2 usrp n210 硬件架构图。

图2.3 usrp n210 fpga固件架构图。

三、gnu radio与usrp构建软件无线电开发环境。

gnu radio的编程基于python脚本语言和c++的混合模式。c++由于具有较高的执行效率,被用于编写各种信号处理模块,如:滤波器、fft变换、调制/解调器、信道编译码模块等,gnu radio中称这种模块为block。

python是一种新型的脚本语言,具有无需编译、语法简单以及完全面向对象的特点,因此被用来编写链接各个block成为完整的信号处理流程的脚本,gnu radio中称其为graph 。

gnu radio的软件结构顶层是面向用户的block及其“粘合剂”——graph。用户除了能够开发自己的block外,还可使用gnu radio所包含的丰富的block,包括各种滤波器、fft变换、调制/解调模块、时频同步模块等等,其中一些利用了cpu的增强指令集(如:mmx、sse、3d now!

)进行了优化,以提高性能。

在用户用block和graph构造的应用程序下面是gnu radio的运行支持环境,主要包括缓存管理、线程调度以及硬件驱动。gnu radio中巧妙地设计了一套零拷贝循环缓存机制,保证数据在block之间高效地流动。多线程调度主要用于对信号处理流程进行控制以及各种图形显示,gnu radio对此也提供了支持。

gnu radio的硬件驱动包括usrp、ad卡、声卡等等,用户也可根据需求进行扩充。

gnu radio除了支持linux的多种发行版本之外,还被移植到mac os x、netbsd以及windows等操作系统上,这也意味着它也支持多种类型的计算机系统。

usrp是gnu radio最重要的硬件“伙伴”,一套usrp由一块主板和最多四块子板搭配构成。主板的主要功能为中频采样以及中频信号到基带信号之间的互相转换。子板的功能在于射频信号的接收/发送以及到中频的转换。

子板有多种类型,分别覆盖不同的射频频谱范围,且具有不同的收/发能力和增益。

四、usrp应用前景分析。

usrp可以用来开发物理层信号处理算法,mac 层甚至更上层的协议。因为所有的通信协议,从上至下都是pc 机上的软件**。你可以像使用普通软件一样快速自如的修改、编译和运行,可以灵活地在多个协议层之间互操作。

当你撰写学术**的时候,这些真实的实验结果常常能够为你的**增色不少。

创业型小公司或者学校里做横向开发项目的人,他们通常用usrp来开发原型设备(prototype)。比如做一个支持多种制式的家庭网关,因为所有的东西都是“软”的,所以开发起来非常快,出现问题的时候也容易修改。

usrp可以用来做高校里的教学用实验平台。比如做通信原理实验,现在大部分实验都是用matlab **来做的,当有了gnu radio,你就可以看到真正的信号星座图,频率漂移等现象。而且它可以是一个远程的平台,供很多学生同时使用。

gnu radio和usrp的应用如此广泛,最主要的原因是:相比其它昂贵的商业硬件设备,它的“人性化”使我们在研究和学习中能够克服很多的局限性。事实上,虽然usrp对于纯网络层的算法研究没有任何价值,但是在物理层研究和层次协议设计上有举足轻重的地位。

很多时候,我们在研究中需要对某个方案进行测试,而用商业平台过于昂贵,用模拟方法又不够准确,此时的最佳选择就是gnu radio和usrp。

新推出的usrp2解决了之前usrp很多局限性问题,使该平台的性能更加强大,应用也更加广泛,在不久的将来,我们相信gnu radio和usrp将成为探索新规范的最佳途径。

认知无线电到软件无线电

掌銮。武警石家庄士官学校。武。颖。摘要 认知无线电技术进一步扩展了软件无线电 的功能,成为解决频谱资源匮乏问题的有效方法。基于认知无线电在无线通信中的重要作用,介绍了认知无线电的概念,概述了认知无线电在民用和军用领域的应用情况,讨论了认知无线电涉及的关键技术,指出了开展认知无线电技术研究的重要意义 ...

软件无线电

4g软件无线电处理器体系结构研究。移动设备在以一个惊人的速度在全球范围内普及,现已成为人们生活中不可缺少的组成部分。目前世界范围内商用移动通信技术已经进入4g移动通信时代。软件无线电的基本思想是以一个通用 标准 模块化的硬件平台为依托,通过加载模块化 标准化和通用化的软件,实现各种无线通信协议的一种...

软件无线电

软件无线电结课 题目 软件无线电的应用。学院 xxxxxxxxxx学院。专业班级 xxxxxxxxxxx班。任课教师 xxxxxxx 姓名 x x 学号 xxxxxxxxx 日期 2010年01月。摘要。软件无线电的基本思想是以一个通用 标准 模块化的硬件平台为依托,通过软件编程来实现无线电台的各种...