认知无线电实验

更新时间:2023-11-15 21:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

武汉理工大学

现代数字信号处理在前沿学科中的应用实验

学院:学号:姓名:班级:认知无线电

信息工程学院 1049731503279 吴志勇 电子154

实验一认知无线电的开发环境与基础实验入门

一、 实验目的

1、 掌握Linux系统下的基本操作。 2、 了解认知无线电实验平台。

3、 掌握GNU Radio软件平台的搭建过程。 4、 了解USRP N210设备的检测。

二、 系统、硬件配备

一台配有千兆网卡的PC机,ubuntu11.10系统,GNU Radio3.5.0安装包(也可以选择其他带有UHD的GNU Radio版本)。

三、 实验流程

GNU Radio的安装主要包括三个部分的安装,准备库的安装、UHD的安装、GNU Radio的安装,下面将从这三个部分开始介绍。 1、 网络连接

在ubuntu下进行网络IP设置,打开命令终端,常用的命令:使用ls命令查看当前路径下文件,使用cd命令进入文件夹。

2、 准备库的安装:

在http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall中,有其安装方法,对应找到我们的ubuntu11.10所需要的准备库内容,利用apt-get来安装。

安装完毕之后可以根据build-guide程序中所提到的库进行验证。 3、 UHD的安装

可以到官网上看见很多uhd的版本,我们采用的版本是003.004.000,可以直接从设备所带的光盘中获得(/tmp/uhd/host):

执行:

cd /tmp/uhd/host mkdir build cd build cmake ../ make make test

sudo make install 4、 GNU Radio的安装

本文以GNU Radio为例,从官网上可以下到gnuradio3.5.0的安装包,我们可以通过安装包中的version.sh文件来查看其版本,选择gnuradio3.5.0来安装。

执行:

cd /gnuradio

mkdir build cd build cmake ../ make make test make install

5、 设置环境变量

按照README中指示设置环境变量,但是,其中python路径要根据我们的python版本设置,改正之后如下:

export PYTHONPATH=/usr/local/lib/python2.7/disk-packages export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/lib sudoldconfig

四、实验结果

执行gnuradio-companion指令,系统输出如下界面,安装成功

实验二Dpsk数字调制实现

一、 实验目的

1、 熟悉Ubuntu操作系统的使用。 2、 熟悉gnuradio_companion的使用。

3、 熟悉DBPSK调制的基本原理,并通过gnuradio实验平台实现DBPSK调制及解调。

二、 实验原理

本例是一个GNU Radio的关于余弦波信源的差分移相键控数字调制的例子。它由一个余弦波形源,经过采样流控制得到稳定的采样速率,然后经过了数据包打包、DPSK 调制、DPSK 解调和数据包解包等过程,并向PC 的Speaker输出声音信号,(此信号由产生余弦波的信源频率控制)。

差分BPSK是相移键控的非相干形式,它不需要在接收机端恢复相干参考信号。非相干接收机容易制造而且便宜,因此在无线通信系统中被广泛使用。在DBPSK系统中,输入的二进制序列先差分编码,然后再用BPSK调制器调制。差分编码后的序列﹛an﹜是通过对输入bn与an-1进行模2和运算产生的。如果输入的二进制符号bn为0,则符号an与其前一个符号保持不变,而如果bn为1,则an与其前一个符号相反。

差分编码原理为: a(n)?a(n?1)?b(n)其实现框图如图1所示。一个典型的差分编码调制过程如2图所示:

a(n-1) 存贮 图1 差分编码实现框图

输入码流 b(n) a(n) 输出码流

载波相位 输入数据 0 1 1 0 0 0 1 1 1 (1) ? 0 ? ? ? ? 0 ? 0 (0) 0 ? 0 0 0 0 ? 0 ? 图2差分编码与载波相位示意图

对DBPSK的解调是通过比较接收相邻码元信号(I,Q)在星座图上的夹角,如果大于90则为1,否则为0。

即按下式进行:

D(n)?I(n?2)I(n?2)?Q(n?2)Q(n?2)

如果D(n)?0,则判为1,反之判为0。

本例中需要调用11个模块,新出现的有:Throttle进行采样流控制得到稳定的采样速率。Packet Encoder进行数据包打包,进行数据比特(bit)到符号(symbol)的转换,为调制模块做好准备,如下一个模块是二进制调制,每1个符号占1个比特(bits/symbol),四进制调制就是2 bits/symbol,以此类推。DPSK Mod采用差分相移键控数字调制。DPSK Demod差分相移键控数字解调。Packet Decoder是Packet Encoder的反过程。WX GUI Scope Sink相当于示波器。

三、 实验设备

需要安装过Ubuntu 系统和GNU Radio的PC机

四、 实验步骤

1、 开启一个终端输入命令

sudognuradio-companion

2、 从开启界面右边的库中添加并连接必要的block 如图3所示。

3、 匹配每个block 的数据类型,参考图dpsk_loopback。(注意所有的模块需要根据图

dpsk_loopback所示按颜色指示修改其数据类型。int为浅绿色, short 为黄色,complex为蓝色,float 为橙色,紫红色为调制后数据char型) 。 4、 单击标签上的\在合适的模块间进行连线。

5、 如图dpsk_loopback设置每个模块属性(注意属性value 值设置为带有m 的,为小数,

比如5m 就是0.005,200m 就是0.2) 。 其中不能直接设置的属性如下列出:

a) 在Signal Source 模块中的Sample Rate 属性设置为samp_rate, Frequency 属

性设置为freq。

b) 在Throttle 模块中的 Sample Rate 属性设置为samp_rate

c) 在WX GUI Scope Sink 模块中的Sample Rate 属性设置为samp_rate,T Scale 属

性设置为1/freq。

d) 在Audio Sink模块中的Sample Rate属性设置为samp _rate ,Device Name属性

设置为plughw:0,0 。

6、 按键F5 来编译程序,或者单击图标。如果有错误双击检查所有连接模块的属性、数据

类型。

7、 按键F6来执行程序,或者单击图标。将会出现如图4 所示界面。

8、 使用 Frequency 滑条来调整你的系统中的输入信源频率的大小。从而改 9、 变向外输出的声音。

本文来源:https://www.bwwdw.com/article/8xiv.html

Top