认知无线电实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉理工大学

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

认知无线电

学院:信息工程学院

学号: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、准备库的安装:

在/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与其前一个符号相反。

差分编码原理为:

其实现框图如图1所示。一个典型的差分编码调制过程如2图所示:

图1 差分编码实现框图

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

即按下式进行:

)2

(

)2

(

)2

(

)2

(

)

(+

-

+

+

-

=n

Q

n

Q

n

I

n

I

n

D

如果

)

(<

n

D,则判为1,反之判为0。

)

(

)1

(

)

(n

b

n

a

n

a⊕

-

=

输入数据

载波相位(1)

(0)

0 1 1 0 0 0 1 1 1

π0 ππππ0 π0

0 π0 0 0 0 π0 π

图2差分编码与载波相位示意图

本例中需要调用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、单击标签上的"in""out"在合适的模块间进行连线。

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、变向外输出的声音。

相关文档
最新文档