基于GNURadio的多相滤波器设计与实现_毕业设计(23页).doc
《基于GNURadio的多相滤波器设计与实现_毕业设计(23页).doc》由会员分享,可在线阅读,更多相关《基于GNURadio的多相滤波器设计与实现_毕业设计(23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于GNURadio的多相滤波器设计与实现_毕业设计-第 23 页毕业设计基于GNU Radio多相滤波器的设计与实现摘要: 线电是无线通信领域提出的新的通信系统结构,主要以拓展性,结构简单化地硬件作为通用平台,以可替换的软件来实现更多的通信功能。GNU Radio是用软件来定义无线电波发射和接收的方式,与硬件相结合,搭建无线电通信系统的开源软件系统,使得无线电领域所遇到的数字调制问题变成软件问题。本文以GNU Radio为基础,实现多相滤波器系统。对多相滤波器做了简单的介绍,包括滤波器的组成模块,实现原理,同时讨论了多相滤波器如何实现信道化,最后介绍了滤波器的设计步骤,分析实现多相滤波器仿
2、真结果。关键词: 软件无线电,GNU Radio,多相滤波器目录一、引言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
3、、滤波器的信道化选择183.4、多相滤波结构的作用19四、GNURadio的多相滤波器系统设计和实现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变换移动至中频,尽可能接近射频天线
5、,并是对整个系统进行了采样处理。而且软件无线电是用DSP器件来替代数字电路,这样,系统的功能实现和硬件结构相对独立,整个系统就能基于一个通用、开放的硬件平台,利用各种软件技术实现各种不同的通信功能,并通过软件编程来实现对工作频率、调制方式、系统宽带的选择,极大地提高了系统的灵活性。软件无线电新概念的提出,引起了无线电领域的广泛关注,成为了未来通讯技术的发展新方向,它不仅在电子战、雷达等国防军事方面得到广泛应用,在智能化家电、数字化通信方面也有它的身影。各国都争先恐后进行相关方面的研究,尤其美国,美国军方已经制定了具体的发展规划。而我国对于软件无线电技术的研究非常重视,设立了多项重点研究项目。现
6、在,人们对软件无线电的研究日趋成熟,已经开始将其应用到我们生活的各个方面。1.2、GNU Radio的产生和应用现状GNU Radio是一套免费开源软件的开发工具。它提供了信号处理和运行模块来支持软件无线电,并使用微处理器和低成本的RF(外部射频)去实现软件定义无线电,它广泛应用于无线通信领域的研究。对于GNU Radio,主要是采用Python编程语言,而它的核心的模块是由C+在带浮点运算的微处理器上进行构建的,这也决定了用户能够快速建立一个高吞吐量、实时的无线电系统。虽然GNU Radio的主要功能不是用来模拟仿真的,但是在没有硬件情况下,使用预先生成的数据来进行信号处理研究。GNU Ra
7、dios的硬件平台USRP系列产品在世界各地有着各式各样的广泛应用,在商业生活和国防系统中都能看到它的身影。尤其是国防系统,USRP系列产品能够以低预算,快速成型和部署先进等优点已经被发达国家的军事和情报服务机构广泛应用。1.3、本课题的主要工作本论文通过设计和研究GNU Radio软件,实现软件无线电的基本方案,其主要的工作是学会使用GNU Radio软件和实现多相滤波器结构。主要内容包括了:l 学习和掌握软件无线电的概念、工作原理和发展状况;l 学习和掌握GNU Radio的安装和使用方法;l 学习和掌握多相滤波器的相关理论知识和设计方法;l 用GNU Radio软件为基础,设计多相滤波器
8、,同时提出基本实现 方案。二、软件无线电和GNU Radios的原理2.1、软件无线电系统的结构和特征构成软件无线电系统的基本部件包括了:多频段射频变换器,含有A/D和D/A转换器的芯片,电源,天线和通用处理器等,这些部件执行了无线通信功能。软件无线电系统的硬件结构比较简单,通过处理流程图来了解其各个硬件。上图为接收通道,信号由天线通过RF的前端接收,再经过模拟数字转换器ADC进行转换,最后由代码的作用转化为信息。类似的,在发射通道,数字信号由代码处理计算生成,再由DAC将其转为模拟信号,最后再从RF前端发射出去。通过流程我们也可以看出,软件无线电结构完成的主要功能关键在软件无线代码。处理流程
9、图:图2.1 软件无线电处理流程图1对于分析软件无线电处理流程,我们还应理解以下特点:l 数字化和编程化,在整个过程中,除了少部分以模拟方式实现,例如低噪声放大,放大功率,滤波,其余部分都是在模数转换后再由代码编程计算处理实现的,例如差错编码、调制解调、信道均衡等。l 开放性和灵活性,软件无线电采用了模块化地结构,它的硬件在技术不断发展的前提下不断更新,软件模块也不断升级,增加新功能的方法简单,而且软件无线电不仅能和旧体制的电台进行兼容,也能够和新体制的电台进行工作,这样能够最大限度地保证了软件无线电技术的生命周期。2.2、GNURadio的介绍GNU Radio的编程是Python脚本语言和
10、C+两者的混合,其中,Python用于实现高级组织、图形界面和一些对运算性能要求不高的功能,C+因执行效率高,可用于信息处理模块的编写,例如信道编译码模块,FFT变换,调制器,时频同步等等模块,这些被称为block。从另一方面来说:Python就是选择合适的信源,处理模块和信宿,设置正确的参数,再把这些连接起来成为一个完整的应用程序。而所有的信源,信宿和模块都由C+来编写。GNU Radio还有一套零拷贝循环缓存机制,能够保证数据在这些block之间流动,也能通过Python编写能够连接各个block的脚本,称为graph。同时,在GNU Radio进行扩展也比较容易,如果发现缺少一个特定的b
11、lock,可以快速编写创建,然后添加它。GNU Radio为学习者有方便调试测试的环境,提供了图形界面版GRC,这是一个图形化工具,用于创建信号流图,并生成流图的源代码,里面包含了大量的数字处理模块资源和多种调试工具。 GNU Radio的硬件平台USRP(通用软件无线电外设)实际上,USRP是充当了无线通信系统的中频和数字基带部分,让普通的计算机能够像高带宽的软件无线电设备那样工作。USRP使得所有波形的相关处理都在主机CPU上完成,例如调制和解调,而例如抽样、上下变频和内插等高速通用操作则都在FPGA(可编程门阵列)上完成。USRP平台的出现,让工程师能够花费少量的精力去为用户创造大量的代
12、码库,并为软硬件提供了很多实际运用,成为了软件无线电开发的理想平台。 2.3、GNURadio安装与使用2.3.1、 Ubuntu的安装目前GNU Radio安装GNU Radio库只支持LINUX操作系统,使用的是Ubuntu12.10。下载链接: XP 和Ubuntu,这样我们就可以根据自己的需求进入想要的系统。最后,要对Ubuntu12.10的源列表进行更新,步骤如下:l 进入终端,输入sudo gedit/etc/apt/sources.list,按回车键。编辑源列表,将原来的内容删除,添加你需要用到的源,复制到列表中,保存列表。代码如下:deb lucid main universe
13、 restricted multiversedeb-src lucid main universe restricted multiversedeb lucid-security universe main multiverse restricteddeb-src lucid-security universe main multiverse restricteddeb lucid-updates universe main multiverse restricteddeb lucid-proposed universe main multiverse restricteddeb-src lu
14、cid-proposed universe main multiverse restricteddeb lucid-backports universe main multiverse restricteddeb-src lucid-backports universe main multiverse restricteddeb-src lucid-updates universe main multiverse restrictedl 关闭sources.list 后,在终端运行 sudo apt-get update,这样,Ubuntu就安装好了。2.3.2、GNU Radio的安装一般G
15、NU Radio的安装有两个途径包括手动自源代码安装或者是预购的二进制包。需要注意的是,GNU Radio的开发工作发展迅速,这就有可能导致各个版本的二进制预购包有可能处于过时状态。安装步骤:(1)安装ubuntu12.10,运行“language support”选择“Chinese”注意不要对系统进行任何升级。(2)采用Script(脚本来安装),先建立一个文件夹,需要建立在全英文的路径中,在终端进入该路径,然后输入“$ wget http:/www.sbrac.org/files/build-gnuradio & chmod a+x./build-gnuradio & ./build-g
16、nuradio -verbose.”该命令运行下就会下载安装器(build-gnuradio)其状态设置为可运行状态,这个过程是先下载并安装所有相关单元,然后从GIT上下载UHD和GNU Radio,运行”$ sudo make”进行安装,在这个安装过程中需要sudo的密码,这个过程大部分都是自动完成的,而且大多数情况下,通过运行该脚本对GNU Radio的实施自源代码的安装能够满足其要求。(3)接着输入“$ sudo make install”接着输入“sudo gedit /etc /profile”,然后加上回车键。再输入export 配置路径“$ export PYTHONPATH=$
17、PYTHPNPATH:/usr/lib/python2.7/dist-packages”,然后输入”sudo gedit /etc/ld.so.conf ”接着执行“sudo ldconfig”最后输入“gnuradio-config-info -v”。安装完成后,源代码便会位于硬盘上某处,这样方便日后的修改。(4)在我安装版本中缺少scipy文件包,所以需要另外安装,先下载scipy和numpy相关安装包,然后输入 “sudo apt-get install libatlas-sse2-dev”和“sudo apt-get install gfortran”,再执行安装命令,进入numpy的
18、目录和scipy目录,执行“python setup.py buildfcompiler=gnu95”和“sudo python setup.py installprefix=/usr/local”进行安装。(5)测试GNU Radio安装是否有问题,我们可以采用“/gnuradio-3.3.0/gnuradio-examples/python/audio”下的一个例子,例如dial-tone.py。该例子能够产生两个sine波形然后将他们输出声卡,其中一个输出到声卡的右声道,一个输到左声道。“$./dial-tone.py”。运行后,能够听到声卡发出的声音,按任意键程序就可以退出。(6)我们
19、还可以在“/usr/local/bin”下面找到grc,类似Matlab的Simulink,在终端运行grc“$./grc”,就会弹出下图窗口。右边有各种block,双击一个,就会放在左图上,图3.1是一个正弦波的信号源,连接一个示波器,运行,就能够在示波器上显示正弦波形,如图2.3图2.2 GRC界面 图2.3 在GRC中运行一个流图三、多相滤波器理论原理及其应用3.1、多相滤波器的理论知识3.1.1、采样定律通过对软件无线电的学习,我们知道其核心思想是对天线感应的射频模拟信号进行数字化,使其转换成适合计算机处理的数据流,从而能够通过算法来完成各种功能。在这一过程中面临的主要问题是如何对模拟
20、信号进行采样?如何能够从采样后的数据序列中取重新建立连续的时域信号。采样速率是将模拟信号准确不失真地转换成数字信号的重要指标。Nyquist采样定律中指出,带限信号中,也就是最大频率fmax以上没有频谱分布的信号,用采样间隔为Ts均匀采样后的样本是唯一确定的,而间隔Ts满足式(3.1)Ts 12 fMAX (sec) 式(3.1)多数情况下,对频率在 0, fH 的信号来说,采样频率要符合:fs 2fH 式(3.2)这样才能保证采集的信号不会有混叠而造成的失真情况。如图所示图3.1 原始信号2图3.2 无混叠 2Nyquist采样理论只是讨论了频谱在(0,fH)上的信号采样问题,但当信号频率分
21、布带宽为B的有限的频带(fL , fH)上,又该如何对待呢?这就提出了带通采样定理:频率带限信号x(t),带宽为B,频带限制在(fL ,fH )内,那么采样速率fs 满足fH=2 式 (3.3)式中,f0 为中心频率,k满足fs 2(fH fL)最大正整数(0,2,3),这样fS 进行等间隔采样所得的信号采样值x(nT )能准确地确定原信号x(t)。又因为中心频率满足:f0=B 式(3.4)我们可以发现,k的不同会导致中心频率的不同,即使使用同一个采样频率,也是可以对不同的中心频率进行采样。这决定了带通采样定理的使用前提,只能够在其中一个频率上存在信号,不允许其他频带上同时也存在信号,否则会引
22、发混叠现象。带通采样可以降低采样速率的理论值,使得高速采样和处理能够成为现实。现实中软件无线电只有在宽的频段下才具有较广泛的适应性,这样决定了软件无线电台无法采用Nyquist采样技术采样,而需要采用带通采样。3.1.2、多采样滤波器多采样滤波器是指在处理采样信号的时候,能够提高或者降低信号采样率的数字滤波器。其中简单的是实现整数倍的增采样(1:P)滤波器,也就采用内插,同时也称为向上采样。另一种是减采样(Q:1)滤波器,采用抽取,也称为向下采样。较为复杂的是将减采样和增采样应用在同一个信号处理过程,此时,获得的采样率的改变率为P/Q,更为复杂的技术可以用来实现缓慢时变或者是任意比值的采样率变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 GNURadio 多相 滤波器 设计 实现 毕业设计 23
限制150内