《基于gnuradio的多相滤波器设计与实现毕业设计》由会员分享,可在线阅读,更多相关《基于gnuradio的多相滤波器设计与实现毕业设计(32页珍藏版)》请在金锄头文库上搜索。
1、毕业设计基于GNU Radio多相滤波器的设计与实现摘要: 线电是无线通信领域提出的新的通信系统结构,主要以拓展性,结构简单化地硬件作为通用平台,以可替换的软件来实现更多的通信功能。GNU Radio是用软件来定义无线电波发射和接收的方式,与硬件相结合,搭建无线电通信系统的开源软件系统,使得无线电领域所遇到的数字调制问题变成软件问题。本文以GNU Radio为基础,实现多相滤波器系统。对多相滤波器做了简单的介绍,包括滤波器的组成模块,实现原理,同时讨论了多相滤波器如何实现信道化,最后介绍了滤波器的设计步骤,分析实现多相滤波器仿真结果。关键词: 软件无线电,GNU Radio,多相滤波器目录一、
2、引言31.1、软件无线电的介绍31.2、GNU Radio的产生和应用现状41.3、本课题的主要工作4二、软件无线电和GNU Radios的原理52.1、软件无线电系统的结构和特征52.2、GNURadio的介绍62.3、GNURadio安装与使用72.3.1、 Ubuntu的安装72.3.2、GNU Radio的安装8三、多相滤波器理论原理及其应用103.1、多相滤波器的理论知识103.1.1、采样定律103.1.2、多采样滤波器113.1.3 、互换等效性143.1.4、重采样153.2、FIR滤波器的概念与结构163.3、滤波器的信道化选择183.4、多相滤波结构的作用19四、GNURa
3、dio的多相滤波器系统设计和实现204.1、GNR Radio多相滤波器的基本组建204.2、基于GNU Radio设计多相滤波器设计流程图214.3、相滤波器的设计21五、实验结果25六、总结28参考文献29致谢30一、引言1.1、软件无线电的介绍软件无线电(Software Defined Radio):是无线通信实现的新概念,即是采用现代软件来实现控制传统的“纯硬件电路”无线通信。软件无线电技术首先是运用在军事上,但由于它的优点突出,很快该技术开始运用到民用的无线移动通讯行业。软件无线电新技术的出现,打破了传统的通信功能只能依赖硬件格局发展的单一局面,如今,通信功能以硬件无线通信设备作为
4、基本平台,功能的实现更多地由软件来发挥作用。软件无线电新技术的出现,对于通讯领域来说,是继“固定通信移动通信”“模拟通信数学通信”之后的第三次技术变革。因此,如何更好地去研发和运用软件无线电技术,是一项艰巨的任务。和传统的无线电系统相对比,软件无线电体统有其自身突出的特点。传统的无线电系统的调制方式和频段都有对应的硬件结构,其滤波和基频处理、上/下变频、射频部分都采用了模拟方式,虽然数码无线电系统的低频部分采用了数字电路,但是其射频和中频部分还是离不开模拟电路。软件无线电系统是将D/A、A/D变换移动至中频,尽可能接近射频天线,并是对整个系统进行了采样处理。而且软件无线电是用DSP器件来替代数
5、字电路,这样,系统的功能实现和硬件结构相对独立,整个系统就能基于一个通用、开放的硬件平台,利用各种软件技术实现各种不同的通信功能,并通过软件编程来实现对工作频率、调制方式、系统宽带的选择,极大地提高了系统的灵活性。软件无线电新概念的提出,引起了无线电领域的广泛关注,成为了未来通讯技术的发展新方向,它不仅在电子战、雷达等国防军事方面得到广泛应用,在智能化家电、数字化通信方面也有它的身影。各国都争先恐后进行相关方面的研究,尤其美国,美国军方已经制定了具体的发展规划。而我国对于软件无线电技术的研究非常重视,设立了多项重点研究项目。现在,人们对软件无线电的研究日趋成熟,已经开始将其应用到我们生活的各个
6、方面。1.2、GNU Radio的产生和应用现状GNU Radio是一套免费开源软件的开发工具。它提供了信号处理和运行模块来支持软件无线电,并使用微处理器和低成本的RF(外部射频)去实现软件定义无线电,它广泛应用于无线通信领域的研究。对于GNU Radio,主要是采用Python编程语言,而它的核心的模块是由C+在带浮点运算的微处理器上进行构建的,这也决定了用户能够快速建立一个高吞吐量、实时的无线电系统。虽然GNU Radio的主要功能不是用来模拟仿真的,但是在没有硬件情况下,使用预先生成的数据来进行信号处理研究。GNU Radios的硬件平台USRP系列产品在世界各地有着各式各样的广泛应用,
7、在商业生活和国防系统中都能看到它的身影。尤其是国防系统,USRP系列产品能够以低预算,快速成型和部署先进等优点已经被发达国家的军事和情报服务机构广泛应用。1.3、本课题的主要工作本论文通过设计和研究GNU Radio软件,实现软件无线电的基本方案,其主要的工作是学会使用GNU Radio软件和实现多相滤波器结构。主要内容包括了:l 学习和掌握软件无线电的概念、工作原理和发展状况;l 学习和掌握GNU Radio的安装和使用方法;l 学习和掌握多相滤波器的相关理论知识和设计方法;l 用GNU Radio软件为基础,设计多相滤波器,同时提出基本实现 方案。二、软件无线电和GNU Radios的原理
8、2.1、软件无线电系统的结构和特征构成软件无线电系统的基本部件包括了:多频段射频变换器,含有A/D和D/A转换器的芯片,电源,天线和通用处理器等,这些部件执行了无线通信功能。软件无线电系统的硬件结构比较简单,通过处理流程图来了解其各个硬件。上图为接收通道,信号由天线通过RF的前端接收,再经过模拟数字转换器ADC进行转换,最后由代码的作用转化为信息。类似的,在发射通道,数字信号由代码处理计算生成,再由DAC将其转为模拟信号,最后再从RF前端发射出去。通过流程我们也可以看出,软件无线电结构完成的主要功能关键在软件无线代码。处理流程图:图2.1 软件无线电处理流程图1对于分析软件无线电处理流程,我们
9、还应理解以下特点:l 数字化和编程化,在整个过程中,除了少部分以模拟方式实现,例如低噪声放大,放大功率,滤波,其余部分都是在模数转换后再由代码编程计算处理实现的,例如差错编码、调制解调、信道均衡等。l 开放性和灵活性,软件无线电采用了模块化地结构,它的硬件在技术不断发展的前提下不断更新,软件模块也不断升级,增加新功能的方法简单,而且软件无线电不仅能和旧体制的电台进行兼容,也能够和新体制的电台进行工作,这样能够最大限度地保证了软件无线电技术的生命周期。2.2、GNURadio的介绍GNU Radio的编程是Python脚本语言和C+两者的混合,其中,Python用于实现高级组织、图形界面和一些对
10、运算性能要求不高的功能,C+因执行效率高,可用于信息处理模块的编写,例如信道编译码模块,FFT变换,调制器,时频同步等等模块,这些被称为block。从另一方面来说:Python就是选择合适的信源,处理模块和信宿,设置正确的参数,再把这些连接起来成为一个完整的应用程序。而所有的信源,信宿和模块都由C+来编写。GNU Radio还有一套零拷贝循环缓存机制,能够保证数据在这些block之间流动,也能通过Python编写能够连接各个block的脚本,称为graph。同时,在GNU Radio进行扩展也比较容易,如果发现缺少一个特定的block,可以快速编写创建,然后添加它。GNU Radio为学习者有
11、方便调试测试的环境,提供了图形界面版GRC,这是一个图形化工具,用于创建信号流图,并生成流图的源代码,里面包含了大量的数字处理模块资源和多种调试工具。 GNU Radio的硬件平台USRP(通用软件无线电外设)实际上,USRP是充当了无线通信系统的中频和数字基带部分,让普通的计算机能够像高带宽的软件无线电设备那样工作。USRP使得所有波形的相关处理都在主机CPU上完成,例如调制和解调,而例如抽样、上下变频和内插等高速通用操作则都在FPGA(可编程门阵列)上完成。USRP平台的出现,让工程师能够花费少量的精力去为用户创造大量的代码库,并为软硬件提供了很多实际运用,成为了软件无线电开发的理想平台。
12、 2.3、GNURadio安装与使用2.3.1、 Ubuntu的安装目前GNU Radio安装GNU Radio库只支持LINUX操作系统,使用的是Ubuntu12.10。下载链接:http:/ XP 和Ubuntu,这样我们就可以根据自己的需求进入想要的系统。最后,要对Ubuntu12.10的源列表进行更新,步骤如下:l 进入终端,输入sudo gedit/etc/apt/sources.list,按回车键。编辑源列表,将原来的内容删除,添加你需要用到的源,复制到列表中,保存列表。代码如下:deb http:/ lucid main universe restricted multivers
13、edeb-src http:/ lucid main universe restricted multiversedeb http:/ lucid-security universe main multiverse restricteddeb-src http:/ lucid-security universe main multiverse restricteddeb http:/ lucid-updates universe main multiverse restricteddeb http:/ lucid-proposed universe main multiverse restri
14、cteddeb-src http:/ lucid-proposed universe main multiverse restricteddeb http:/ lucid-backports universe main multiverse restricteddeb-src http:/ lucid-backports universe main multiverse restricteddeb-src http:/ lucid-updates universe main multiverse restrictedl 关闭sources.list 后,在终端运行 sudo apt-get update,这样,Ubuntu就安装好了。2.3.2、GNU Radio的安装一般GNU Radio的安装有两个途径包括手动自源代码安装或者是预购的二进制包。需要注意的是,GNU Radio的开发工作发展迅速,这就有可能导致各个版本的二进制预购包有可能处于过时状态。安装步骤:(1)安装ubuntu12.10,运行“language support”选择“Chinese”注意不要对系统进行任何升级。(2)采用Script(脚本来安装),先建立一个文件