无线通信第二次Labview实验.docx
《无线通信第二次Labview实验.docx》由会员分享,可在线阅读,更多相关《无线通信第二次Labview实验.docx(12页珍藏版)》请在冰豆网上搜索。
![无线通信第二次Labview实验.docx](https://file1.bdocx.com/fileroot1/2023-2/9/fb3ce8e0-d346-42d6-b64b-4aa12c861739/fb3ce8e0-d346-42d6-b64b-4aa12c8617391.gif)
无线通信第二次Labview实验
《无线通信基础》课程研究性学习手册
数字调制解调实验Ⅱ
时间:
2016年5月15日
一.实验任务
本实验的目的是使用USRP来实现发射和接收射频信号,并且通过LabVIEW来实现对不同调制信号的同步性能的对比,由于在实验一中已经完成了数字调制的实验,所以在做这部分实验时,需要用到之前的调制解调模块。
该实验将通过配置USRP的参数来使你了解把基带信号上变频到射频信号以及把射频信号下变频到基带信号的过程,并熟悉LabVIEW中的各种USRP模块的配置方法。
本次实验中需要完成的有top_tx和top_rx两个主程序,完成实验后。
完成的任务是下面这三个,目标是在进行完这三个任务后得到一个完整的程序,使其可以实现全部的功能。
1.发送端top_tx主程序
实验要求描述:
在学生版程序中,BPSK的调制解调模块是完整的,需要在BPSK选板中完成发送和接收的USRP配置工作。
程序中通过USRP发送数据所需的VI都已经添加好,把这些VI与数据流和这些VI之间通过适当的连线相连,同时修改一些发送所需的参数。
2.发送端top_rx主程序
这也是基于BPSK调制解调完整的情况下,在接收端完成USRP模块的连接,同时修改接收所需的参数。
之后通过USRP发送和接收BPSK信号来检验你配置的USRP是否正确。
在确认USRP配置正确后,再进行任务。
3.添加QPSK调制解调模块
实验要求描述:
在程序中完成QPSK的调制和解调。
实现方式可以参考BPSK或者上一个实验。
在整个完成实验的过程中,要注意自己添加的调制解调模块的数据类型与提供给你的模块之间的数据类型的匹配。
二.理论分析
本实验实现了BPSK的调制解调和QPSK的调制解调,并使用USRP发送和接收。
调制与解调的原理与上一个实验一样,本次实验的不同之处再与使用了USRP发送和接收,实现了实际信道中信号的传输。
BPSK的调制就是直接将数字基带信号映射到对应的载频相位上,使用labview仿真实现需要将输入的01数字码元用数组索引并且输出一个符号流,然后进入下级模块调制并发送。
BPSK解调只需求收到的码元与0或者1之间的欧式距离,使用最大似然判决规则即可。
此外也可使用匹配滤波器来实现。
QPSK需要将原始的二进制比特流对应为四进制的比特流去调制相位。
将输入比特流串并变换后,高位乘以2,加上低位即可实现二进制到四进制的对应。
使用求出的对应序列去索引一个事先设置好的复数,用它最终输出去调制相位,从而实现了QPSK的调制,在星座图上的体现就是将00、01、11、10对应到四个星座点上。
QPSK解调也使用了最大似然的方式,求最终得到的含有噪声的数据与星座图上点的距离,把在距离最小的点作为实际接收到的数据。
然后进行并串转换,就可以得到输出比特流。
本实验中还是用了脉冲成型技术,脉冲成型就是将输出的调制信号与一个脉冲成型滤波器相乘,从而可以有效的防止ISI(码间串扰),其基本原理是使用了满足奈奎斯特定理的脉冲成型滤波器在其余抽样点上的抽样值为0。
1.发送端介绍
本实验发送端的调制主程序包含4个功能模块,其功能分别如下所述,配图为我们自己连接的程序。
1.1TX_init
本模块主要实现USRP的初始化,是配置一些基本USRP参数的模块。
主要分三个模块:
niUSRPOpenTxSession,niUSRPConfigureSignal和niUSRPCommit。
niUSRPOpenTxSession将设备的ip地址作为设备名称输入得到所有子NI-USRP之间的会话认证。
niUSRPConfigureSignal是对输入信号的各种参量(如采样率,天线增益,载频)的认证。
niUSRPCommit起到一个对任意改变参数进行验证,并将会话认证转成ip地址输出的作用。
程序中给信号加上了error,我们可在最后的errorout中查看输出。
1.2transmitter
Mod
本模块是调制程序的核心,实现的是基带信号的产生,包括信源编码,调制,脉冲成形等重要功能。
首先通过TX_init得到符号速率和数量从而绘出星座图和眼图,然后将输入的符号序列通过调制转换为基带信号,再在前面加入保护间隔和控制序列,进行脉冲成型,然后通过设置的AWGN信道输出。
1.3Tx-prepare-for-transmit
本模块的作用是对调制完的信号幅度进行归一化。
确保IQ数据没有超过1,否则发生数据溢出。
1.4TXRF_send
图7TXRFsend
本模块实现的功能是把调制完的数据写入USRP,实现发送。
将参数传递到NiUSRPWriteTXdata,之后以CDB的形式发送。
2.接收端介绍
本实验接收端端的解调主程序包含5个功能模块,其功能分别如下所述。
2.1RXRF_init
本模块的作用实现USRP初始化。
与发送端相似,先通过niUSRPOpenTxSession将设备的ip地址转成会话认证,再将会话和相干频率与时基时钟源作为niUSRPcommit的会话认证输入,然后才能允许输出。
2.2RXRF_config
本模块的作用是配置USRP的参数。
正常接收时,将设置好的调制参数与usrp的配置参数传递过来,经niUSRPConfigureSignal认证后输出。
2.3RXRF_recv
本模块的作用是接收射频信号,并且下采样到中频。
将接收端的采样率和捕捉时间相乘取整作为采样点数,会话,触发电平等参量传递给收端的触发捕捉模块进行接收得到IQ波形。
将相干位置作为参量控制捕捉的停止,以便其他程序开启运行,同时通过检测包确保如果没有出现error接收端将不发生超时。
2.4receiver
本模块是解调程序的核心,实现的是恢复出原数据流。
包括匹配滤波,同步,信道估计,均衡,解调,检测误码率等重要功能。
它主要完成三个任务,首先通过确定符号速率从而得到保护序列和训练序列,然后把基带信号通过匹配滤波,同步,信道估计和均衡解调得到比特流,并画出接收信号的星座图和眼图。
2.5RXRF_close.(SubVI)
本模块的作用是关闭USRP会话。
将ip地址作为参数确保相应的USRP关闭,再将信号调制解调过程中的错误和保护序列以及训练序列对应的错误一起合并输出,作为最终error。
三.实验步骤
1.设置IP
经过查询我们得知所用的USRP的IP地址为192.168.10.55,所以我们将电脑IP地址改为同一网段的192.168.10.1。
2.更改参数
我们实验过程中主要更改的前面板的参数有
IP地址:
192.168.10.55
Oversamplefactor:
调到30和25无法正常运作,后改成20和18都可以
Capturetime:
我们尝试找最低临界值,在30ms时程序崩溃,50及以上乃至400ms都可以,不过越大程序运行越慢
此外,我们用的频率是980MHz。
3.运行程序
点击tx端的连续运行,然后点击rx端的单步运行,等待,就可以看到收到的文本和星座图,眼图。
四.结论及分析
1.BPSK信号发送接收实验
完整的发送端和接收端BPSK运行截图如下。
运行时,先运行top-tx发送前面板,然后连续运行top-rx前面板即可。
2.QPSK调制解调
QPSK信号发送端和接收端完整前面板如图所示:
与BPSK同样的道理,由于实际信道中的噪声,收端的星座图星座点变大,眼图中眼皮也变厚了,但是只要信噪比在一定的范围内,仍然可以正常的解调。
五.遇到的问题及解决
问题1:
我们连好程序之后,无法正常接收,错误显示却是在给定程序中而不是自己设计的模块里。
如图所示。
解决:
通过请教助教,我们得到解答。
是前面参数有错误才导致这种现象的发生,所以我们仔细检查了每个模块,更改好参数问题得到解决。
问题2:
为了更深入的探究我们尝试更改了很多参数,寻找其影响特性,结果导致程序多次崩溃。
解决:
因为实验程序模块较多,所以在捕捉时间不合理等情况发生时,实验系统会崩溃,所以在我们选取合适范围内的参数时程序就可以运行了。
六.扩展问题
1.发送端与接收端USRP参数的配置都有什么意义?
USRP参数的设置对结果有什么影响?
答:
参数主要有以下几个:
1)IP地址的配置:
计算机和USRP要属于同一网段,但是不能完全相同。
2)carrierfrequency:
频率需要设置成相同值,不能太低,大约900以上
3)发端的发送天线设置为tx1,收端的接收天线设置为rx2。
tx1因为既可以做发送端也可以做接收端,但是rx2天线只能接收不能发送。
4)oversamplefactor和samplerate两个参数,收发端要调整为一致,不一致的话无法正确接收
5)接收端的capturetime要设置的大一点,以保证对文本和信号有足够时间来捕捉接收。
6)收发端的调制方式要选择相同。
否则无法运行。
2.在本实验中,控制序列的调制方式是QPSK,改变控制序列的调制方式对同步结果有什么影响?
答:
QPSK的同步性能要优与BPSK,。
由于接收端控制序列的解调方式也是QPSK,改变控制序列的调制方式将不能实现正常解调,同步结果将产生错误。
除非将收发端的调制方式都统一改变,这样才能实现对信号的正确接收。
七.心得与体会
本次试验分为两个模块,即发送端与接收端。
我们小组遇到最大的问题就是发送端可以工作,接收端无论怎样调整程序都无法成功接收,找不到哪里出错,实验无法继续进行,非常苦恼。
这就要考验我们的耐心,涉及到参数的配置问题,稍有不同,就得不到实验结果。
此外我们对Labview的使用及其不熟练,我们还是应当多多接触Labview,更加熟练的使用Labview。
平时理论知识的学习也为我们实践操作打下基础,对实验原理的理解主要还是来源之前通信原理和无线基础的课程学习。
总之,还需努力。
谢谢老师的悉心指导和解答!
八.参考文献
[1]杨高科编写《Labview虚拟仪器项目开发与管理》机械工业出版社,2012
[2]肖成勇、雷振山、魏丽《Labview2010基础教程》高等教育出版社,2012