您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 现代数字信号处理在前沿学科中的应用实验-认知无线电
武汉理工大学现代数字信号处理在前沿学科中的应用实验认知无线电学院:学号:姓名:班级:实验一认知无线电的开发环境与基础实验入门一、实验目的1、掌握Linux系统下的基本操作。2、了解认知无线电实验平台。3、掌握GNURadio软件平台的搭建过程。4、了解USRPN210设备的检测。二、系统、硬件配备一台配有千兆网卡的PC机,ubuntu11.10系统,GNURadio3.5.0安装包(也可以选择其他带有UHD的GNURadio版本)。三、实验流程GNURadio的安装主要包括三个部分的安装,准备库的安装、UHD的安装、GNURadio的安装,下面将从这三个部分开始介绍。1、网络连接在ubuntu下进行网络IP设置,打开命令终端,常用的命令:使用ls命令查看当前路径下文件,使用cd命令进入文件夹。2、准备库的安装:在中,有其安装方法,对应找到我们的ubuntu11.10所需要的准备库内容,利用apt-get来安装。安装完毕之后可以根据build-guide程序中所提到的库进行验证。3、UHD的安装可以到官网上看见很多uhd的版本,我们采用的版本是003.004.000,可以直接从设备所带的光盘中获得(/tmp/uhd/host):执行:cd/tmp/uhd/hostmkdirbuildcdbuildcmake../makemaketestsudomakeinstall4、GNURadio的安装本文以GNURadio为例,从官网上可以下到gnuradio3.5.0的安装包,我们可以通过安装包中的version.sh文件来查看其版本,选择gnuradio3.5.0来安装。执行:cd/gnuradiomkdirbuildcdbuildcmake../makemaketestmakeinstall5、设置环境变量按照README中指示设置环境变量,但是,其中python路径要根据我们的python版本设置,改正之后如下:exportPYTHONPATH=/usr/local/lib/python2.7/disk-packagesexportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/libsudoldconfig三,实验结果执行gnuradio-companion指令,系统输出如下界面,安装成功实验二psk数字调制实现一、实验目的1、熟悉Ubuntu操作系统的使用。2、熟悉gnuradio_companion的使用。3、熟悉DBPSK调制的基本原理,并通过gnuradio实验平台实现DBPSK调制及解调。二、实验原理本例是一个GNURadio的关于余弦波信源的差分移相键控数字调制的例子。它由一个余弦波形源,经过采样流控制得到稳定的采样速率,然后经过了数据包打包、DPSK调制、DPSK解调和数据包解包等过程,并向PC的Speaker输出声音信号,(此信号由产生余弦波的信源频率控制)。差分BPSK是相移键控的非相干形式,它不需要在接收机端恢复相干参考信号。非相干接收机容易制造而且便宜,因此在无线通信系统中被广泛使用。在DBPSK系统中,输入的二进制序列先差分编码,然后再用BPSK调制器调制。差分编码后的序列﹛an﹜是通过对输入bn与an-1进行模2和运算产生的。如果输入的二进制符号bn为0,则符号an与其前一个符号保持不变,而如果bn为1,则an与其前一个符号相反。差分编码原理为:其实现框图如图1所示。一个典型的差分编码调制过程如2图所示:图1差分编码实现框图对DBPSK的解调是通过比较接收相邻码元信号(I,Q)在星座图上的夹角,如果大于90则为1,否则为0。即按下式进行:)2()2()2()2()(nQnQnInInD如果0)(nD,则判为1,反之判为0。)()1()(nbnanaa(n-1)存贮输入码流输出码流b(n)a(n)输入数据载波相位(1)(0)011000111000000000图2差分编码与载波相位示意图本例中需要调用11个模块,新出现的有:Throttle进行采样流控制得到稳定的采样速率。PacketEncoder进行数据包打包,进行数据比特(bit)到符号(symbol)的转换,为调制模块做好准备,如下一个模块是二进制调制,每1个符号占1个比特(bits/symbol),四进制调制就是2bits/symbol,以此类推。DPSKMod采用差分相移键控数字调制。DPSKDemod差分相移键控数字解调。PacketDecoder是PacketEncoder的反过程。WXGUIScopeSink相当于示波器。三、实验设备需要安装过Ubuntu系统和GNURadio的PC机四、实验步骤1、开启一个终端输入命令sudognuradio-companion2、从开启界面右边的库中添加并连接必要的block如图3所示。3、匹配每个block的数据类型,参考图dpsk_loopback。(注意所有的模块需要根据图dpsk_loopback所示按颜色指示修改其数据类型。int为浅绿色,short为黄色,complex为蓝色,float为橙色,紫红色为调制后数据char型)。4、单击标签上的inout在合适的模块间进行连线。5、如图dpsk_loopback设置每个模块属性(注意属性value值设置为带有m的,为小数,比如5m就是0.005,200m就是0.2)。其中不能直接设置的属性如下列出:a)在SignalSource模块中的SampleRate属性设置为samp_rate,Frequency属性设置为freq。b)在Throttle模块中的SampleRate属性设置为samp_ratec)在WXGUIScopeSink模块中的SampleRate属性设置为samp_rate,TScale属性设置为1/freq。d)在AudioSink模块中的SampleRate属性设置为samp_rate,DeviceName属性设置为plughw:0,0。6、按键F5来编译程序,或者单击图标。如果有错误双击检查所有连接模块的属性、数据类型。7、按键F6来执行程序,或者单击图标。将会出现如图4所示界面。8、使用Frequency滑条来调整你的系统中的输入信源频率的大小。从而改9、变向外输出的声音。图3最终模块图图4dpsk_loopback实验三续可变斜率增量调制的实现一、实验目的1、熟悉Ubuntu操作系统的使用。2、熟悉gnuradio_companion的使用。3、熟悉CVSD数字调制的基本原理,并通过gnuradio实验平台实现CVSD数字调制及解调。二、实验原理本例是一个GNURadio的关于三角波信源的连续可变斜率增量调制的例子。它由一个Triangle波形源,经过采样流控制得到稳定的采样速率,然后由VCO(压控振荡器)控制产生一个周期性的频谱并显示频谱和波形。以此频谱用CVSD的调制方式显示其频谱和波形,最后CVSD解调后还原其频谱显示出来波形,并向PC输出声音信号,(此信号由频谱控制,当然也可以说是由三角波信源的采样率控制)。CVSD在数字语音通信领域是一种降低带宽的声音编码方法。它充分利用数字语音相邻采样的相关性,只对连续采样的幅度差进行量化。由于幅度差的量化电平相较于其它量化方法小得多,从而减少了信号带宽。CVSD采用二进制量化和自适应算法实现连续步长调整,且其编码器能够在大幅度信号里精确地表示小幅度信号并且不影响其性能,这在一些无自适应功能的编码器里是不能实现的。CVSD编码器可以有效地实现8/1的压缩率,每一个输入的语音采样和内部的参考值比较,如果大于参考值,则编码器输出1,否则输出0,参考值随着输出比特流的频率实时改变,所以每8个采样值将会产生一个字节的输出。本例中需调用20个模块,新出现的有:VCO压控振荡器,通过输入的信号的幅度控制输出信号的频率,产生振荡输出。CVSDEncoder语音数字编码,对输入的信号进行编码后产生short类型比特流的输出。CVSDDecoder语音数字解码,编码的反过程。PackedtoUnpacked将比特流转换为short型数据,ChartoFloat数据类型转换,char型转换成float型。WXGUIFFTSink可是查看信号的频谱。三、实验设备需要安装过Ubuntu系统和GNURadio的PC机四、实验步骤1、开启一个终端输入命令sudognuradio-companion2、从开启界面右边的库中添加并连接必要的block如图cvsd_Figure1所示。3、匹配每个block的数据类型,参考图1。(注意所有的模块需要根据图cvsd_Figure1所示按颜色指示修改其数据类型。int为浅绿色,short为黄色,complex为蓝色,float为橙色,紫红色为调制后数据char型)4、单击标签上的inout在合适的模块间进行连线。5、如图cvsd_Figure1设置每个模块属性(注意属性value值设置为带有m的,为小数,比如5m就是0.005,200m就是0.2)。其中不能直接设置的属性如下列出:a)在两个SignalSource模块中的SampleRate属性设置为audio_rateb)在AudioSink模块中的SampleRate属性设置为audio_rate,DeviceName属性设置为plughw:0,0c)在Throttle模块中的SampleRate属性设置为audio_rated)在CVSDEncoder,CVSDDecoder模块中的Resample属性设置为resample,Frac.Bandwidth属性设置为bw。e)在VCO模块中的SampleRate属性设置为audio_rat,Sensitivity属性设置为audio_rate*2*math.pi。f)在两个Import模块中的Import属性设置为importmath。g)在VCO、CVSDDecoder之后引出来的四个Sink模块中的SampleRate属性设置为audio_rateh)在CharToFloat之后引出来的两个Sink模块中的SampleRate属性设置为audio_rate*resample,其中WXGUIScopeSink模块的TScale属性设置为20.0/(audio_rate*resample)。i)在WXGUINotebook模块的Labels属性设置为['Original','Encoded','Decoded']。6、按键F5来编译程序,或者单击图标。如果有错误双击检查所有连接模块的属性、数据类型。7、按键F6来执行程序,或者单击图标。将会出现如图2--图4所示界面。图1最终框图图2原始波形及频谱图3调制后的波形及频谱图4解调后的波形及频谱
本文标题:现代数字信号处理在前沿学科中的应用实验-认知无线电
链接地址:https://www.777doc.com/doc-7405474 .html