软件无线电基本试验Word格式.docx
《软件无线电基本试验Word格式.docx》由会员分享,可在线阅读,更多相关《软件无线电基本试验Word格式.docx(23页珍藏版)》请在冰点文库上搜索。
因为这些组件是在软件中定义的,可以根据需要调整软件无线电系统,而不必在硬件上作大的改动。
由于现在的计算机可以有非常快速的处理器和高速的接口,NI-USRP的主要开发环境是NILabVIEW。
NILabVIEW是一种将文本编程的低复杂度抽象为可视化语言的图形化编程语言,科学家以及工程师们广泛地使用它在多种环境中
进行采集、处理、分析和显示测量数据。
所以我们能够利用计算机上使用LabVIEW快
速地实现软件无线电的设计。
LabVIEW是一个图形化(G)编程环境。
目前,世界各地有成千上万的工程师应用LabVIEW来进行小型、中型甚至系统级的项目设计。
在LabVIEW环境中,用户界面被叫作前面板,背景色为灰色。
用户或者操作者可以通过在前面板上添加控件、旋钮、开关、图形、图表和发光二极管等器件来进行程序控制。
LabVIEW的编程界面被叫做程序框图,其背景为白色。
可以通过在程序框图上添加众多子功能和子例程,来搭建满足自身需求的程序,达到想要的功能。
另外,LabVIEW自带了许多预定义的功能,可以通过对这些预定义功能的组合重用,来节省搭建模型和访问硬件设备的时间。
Entitled1FrontPane*
S3
Filetdit¥
itwProjectDpcratelooIsV\ind
|令|愛]厂'
|_Uj卩5巩貞PP氐询”"
弋|會
Kncb
f
QJntitlcd1BlockDiagram*
FileEditVie^ProjectOperaleTools.
QI圜血|"
丨匣]画wb.
knob
图6前面板(左侧)和程序框图(右侧)示意图
3)LabVIEW快捷键
F面列出了LabVIEW中的快捷键。
可以参考LabVIEWQuickRefereneeCard,一个
PDF版的快捷键说明文档
表1LabVIEW快捷键
按键
描述
Ctrl+C
复制选中项
Ctrl+V
粘贴选中项
Ctrl+X
剪切选中项
Ctrl+Z
撤销
Ctrl+Space
激活下拉菜单
Ctrl+H
上下文帮助开关
Ctrl+B
移除框图中的断线
Ctrl+E
在前程序框图之间切换
Ctrl+R
运行选中VI
Ctrl+S
保存选中VI
Ctrl+T
将前面板和程序框图竖直并排放置
Ctrl+U
整理框图面板(程序框图)
Ctrl+Click&
在程序框图插入一个空格
Drag
4)NI-USRP函数库
LabVIEW针对NI-USRP的设置与控制,需要安装NI-USRP函数库,在空白处点右键打开
函数库,到仪器驱动>NI-USRP,会出现和下图相似的库。
拖拽一个函数到框图上就可以调用
NI-USRP的函数库开始编程。
图7LabVIEW中的NI-USRP函数库
1niUSRP属性节点
使用niUSRP特性来访问高级配置选项来应用NI-USRP驱动。
图8niUSRP属性节点
2八个最常用的NI-USRP函数
接下来的几个部分概括了八个最常用的USRP函数来帮助大家进行实验。
已经根据功能将
他们分类:
配置、读/写、结束。
大部分的数据采集程序都包含这些类别,并且在创建新的LabVIEWVI(虚拟仪表)时它们是最重要的程序设计模型。
niUSFPOpenRx■亦ianvi
milSEPOpenTx鱼討ion.vi
nijj酣灿让TxD^(pal/).vi
mUr.RPCloieStsshnv
111LISBPCortfi(jiir«
SignnLvi
CDBCluster
图9八个最常用的NI-USRP函数
3配置函数
niUSRP打开Rx会话
nJ
niUSRP打开Rx会话VI是第一个用来创建接收射频信号的软件会话。
其一个会话对于发送配置数据和在USRP中检索IQ数据是很有必要的。
ConlexlHe怡陌
图11niUSRP开Rx会话VI的即时帮助
niUSRP配置信号
值不同。
图12niUSRP配置信号VI的即时帮助
图13niUSRP初始化VI的及时帮助
Op^rhdTktoihfedtvicefs)you甲虹ifyinthedevki*
ri^mpfp^rarnFtF-rindlh^ndlpout.whirhvanucf
toidentifythisjinrtrtirFTiEntsessioninNJ-USF'
PV1&
图14niUSRP打开Tx会话VI的及时帮助
4读写功能
niUSRP提取接收数据(多态)
niUSRPFetchRxDataVI可以从由niUSRPOpenRxSessionVI接收进程的USRP来检
索IQ数据。
这个数据可在时域中画出来,或者进行数字化处理以便分析。
niUSRPFetchRxDataVI是多态的,也就是说可以通过要使用的数据类型从多个niUSRP
FetchRxDataVI版本中选择合适的。
VI只能与接收进程一起使用。
图15niUSRPFetchRxDataVI文档帮助
niUSRP写入发射数据(多态)
niUSRPWriteTxDataVI允许向USRP发送IQ数据,这样它可能会通过niUSRPConfigureSignalVI在指定的载频上发送IQ数据。
niUSRPWriteTxDataVI是多态的,也就是说可以通过要使用的数据类型从多个VI版本
中选择合适的。
VI只能与发送进程一起使用。
niLr^RPWriti?
Ttc(pcAv)vi却
tctreipecilielJLhanne]IisL,
图16.niUSRPWriteTxDataVI文档帮助
NI-USRP读写数据类型这里提供了几个写入发射数据和提取接收数据图像的实例供您选择。
下表给出了可供选择的实例。
多态类型描述
^1-USFiPj
|E
CDBClusterT
复杂双集群
从指定信道提取复杂的双精度浮点数据集群。
Modulation
ToolkitVI使用该双精度浮点数据集群•在使用。
ModulationToolkitVI的情况下使用此VI。
从多信道提取复杂的16比特带符号整型数据。
为了使用此VI,
必须把主机数据类型属性设置为I16。
表1.NIUSRP读写数据类型
5关闭函数
niUSRPAbort
1IniUSRPAbortVI给USRP传递停止获取的命令。
通过这个VI,改变配置信息:
;
的时候,无需完全关闭并新建一个新的会话。
这个VI只能用于Rx会话
Cor*&
ilHelp
|——[4]醫曲onhandlecmjI
Li.■-[15]sprorout
图17.niUSRPAbortVI的上下文帮助
niUSRPCloseSession
niUSRPCloseSessionVI可以关闭正在运行的Rx或者Tx部分,并释放它们
所用的内存。
如果你调用了这个VI,就不能再通过USRP传输或者接收任何信
(ZstM
niUSRPLkwSMekwi.vi
hdodk电]
[15]wrapout
iir*rm[nt>
errerj[Ll|■■—
ClKtJthe>
e$5iunhandletothedtvkt
help
图18.niUSRPCloseSessionVI的上下文帮助
五、实验内容
1硬件连接
有声卡,并且有声音播放器。
图19USRP连线图
在控制面板中将PC机的IP设定为192.168.10.1,网关为255.255.255.0;
连接USRP的电源、天线。
图20PC端网络配置
在windows的开始菜单中AllProgramsWNationalInstruments\\NI-USRP目录
下面找到NI-USRPConfigurationUtility,在Devices选项卡中应该能够看到设备
(包括DeviceID,IPAddress,Type/revision)。
如果看不到设备,请点击Refresh
DevicesList来寻找设备。
如果需要,可以选定一个设备并且在右边NewIPAddress
栏中输入新IP地址,点击ChangeIPAddress来修改USRP设备的IP地址。
塔jri-USRPConfigurytipnUtility
A
图21USRP配置工具
2创建一个FM收音机
NI
USRPConfiguration
devi匚己names
192.168.10.3T
200k
BroadcastFM
Radio
carrierfrequency
activeantenna
RX2
gain
numbe「afsampler
20000
SoundFormat
channel
llajlmono
samplerate(S/s)
-I44100
biUpersample图16bit
Frequency5pe匚trum■10
□-20
5-40
20k40k80k100k
60
■E<
Frequency(offsetfromcarrier)
QJpn兰dllla
TimeDomainAudio
1-
00.020.040.060.080.1
Time(sj
■stop:
■111111J—J
图22USRPFM接收机
目标
A部分
1)找一个无线电台
a)找到本区域的一些无线电台
b)用前面板的波形图分析这些电台
1.打开练习Exercises文件夹
a.在文件夹中打开Exercise1A.VI
2.按照下表配置前面板
Parameter
Value
Devicenames(设备名)
192.168.10.2
IQRate(IQ速率)
10M
Carrierfrequency(载波频率)
93M
Activeantenna(所选天线)
RX1
Gain(增益)
1
Numberofsamples(米样数目)
20k
Timeout(超时)
10
注:
注意M与m之间的区别。
LabVIEW将m设定为毫,M设定为兆
3.按下运行按钮,你就会看到如下图所示的波形图。
如果你的波形图中没有很多的峰值
点,将程序停止,修改增益(gain)到30,然后再次运行
4.观察FM电台的频谱图。
中国、美国的FM无线电台分配到的频率都在88MHz到
108MHz之间。
接下来选一个单独的电台。
5•点击停止按钮,停止程序的运行。
6•点击放大器图标,在弹出菜单中点击最上面中间的图标
7.在图上选择一个电台,并绕着峰值点从左到右点击
8.在这个图中,这个FM电台的频谱在-4.6MHz到-4.8MHz之间,带宽为200KHz,这
就是电台的带宽,IQ速率设置为电台的带宽。
此电台的中心频率与我们的载频93MHz
相差-4.7MHz(88.3MHz)
FieqijencyPtot
---一■■■■
刖-4A-H舸-ro创»
刚
JAiPEdluJV
Q
p
-1)0-
•斗SM*+.7M-4AM-45MMJM'
J214fl
Frequency
9.调整参数使得只有这一个电台
a.停止程序
b.将载频设置为88.3M
c.
将IQ速率设置为200k
devib師乜m
10.再次运行程序,观察频谱图的变化
FituutiC>
Pkt
hp2^e<
100
41C
120-
-LOOic"
Ult
-49k-20k
2Dk4Qk60icMk100k
2)FM广播解调
a)快速获取,显示,并可以收听FM广播电台
b)理解各个参数如何控制程序获取数据
c)学习LabVIEW数据流原理
a.启动Exercise1B.VI
2.选择菜单:
窗口>显示框图
a.解调,显示,收听广播所要用到的函数和VI已经放到了框图面板中(程序
框图)你需要按正确的顺序将他们连起来,并完成这个练习。
3.
VI
在while循环内,找到niUSRPFetchRxData(poly)
a.将数据输出连到“复数到极坐标”函数的z输入口
Unv
Pha
Hr
(确保你没有连r输出端)
5.将UnwrappedPhase
接到Derivativex(t)VI的X输入端口
6.将dX/dt连接到BuildWaveform函数的Y输入端口
7.将波形输出至以下框图
a.
ComplexToRe/Im
函数的z输入端口
b.
FFTPowerSpectrumandPSDVI的timeSignal输入端口
SimpleResample
的波形输入端口
8.将SimpleResampleVI的波形输出端口接到SimpleSoundVI的数据输入端口
*
□D
a
o
□
^orripltttToPolar
dB'
Simple
Revample.vi
Tphn
SlopButt&
nl—_
□n.…”池S
5U『ibcrofidimpies
niUSRPFrtch«
x
Dsta(poly
Ccumptex
Tqfte/bn:
QPlotrE>
=(DHal^l]
H-lPowei
Sp化trumfrequency
*ncP5DmFla.
:
t!
^ld
iWdvefcrrrni
9.配置声卡
(taskID)输入端
b.将黄色块接到(SimpleSound)VI的错误输入端
Complex
Tc^glar匚:
]…….
将在while循环的左下的的蓝色块接到(SimpleSound)VI的任务号
_*|钠弓Tu£
—]StopButtan:
__,
F!
*■>
■■■*]
USRPIQRa-e
SoundLvi
IRessmphvi
Unwrap
Phaic.vi
D亦询i建曲i
SoundCjihqSampleRj^c
陽曲討d匸
10Pict
|Ew匚也是■"
日
USRP1Q氐
SoundCardSampleRate
Derivative
如
Buld
Waveform
一」”网一
numberMijirpiei
niUSFPfpich吐
Dataipclyvi
CQTiplec
ToRe/lrn1
IFFTPower
SpectrumFrequencyandPSD.vi,Pht
r七
Ji
V
•・L
dMjjdf
PLesf.vi
10.在菜单栏选择,窗口>
显示前面板
11.保存VI
12.运行VI
nUHPS・
Jfu^frarnrr*如士斤訴
EdHV
Pg»
il*
•产n
远1133■
IQFV^rgepnpJIQratal
jpMh|xm
cnfi:
ed!
iidins
iXiknfnequfM?
单|04"
肆
|9vm
COKrii
^ulTMl£
fUfrplH
mJl
斗比
flF-
啊mrcif
-nLt%P匸arri弓be
ndjy^
uinidL^nir
ihrtMiBfiWIFia
■rfTipta倉iiFril调
IQReceiver
s1D
*ia巧
a亦;
I無4g典mMLX*IfiQL
图1.完成的前面板
曲恵制卒十”pH时叫
M"
V*eftlMHipiiliA
U^jQRjrUbfruMSdPhfli細■
Sairftdii
Rg.PaV?
Fci®
t
dgR^-l…*
Errsra
■iirormt
5auMd-<
图2.完成的程序框图
附录:
FM解调算法原理
频率调制(FM)的原理是以载波的瞬时频率变化来表示信息。
我们可以使用一个频率偏移来精确地模拟相位随时间的变化,之所以这么做是因为我们很容易从IQ信号中得到相位信
息。
错误!
未找到引用源。
k/
Y
Phase
给予一个调频电台作为IQ信号,我们就可以获得它的相位信息。
然后我们如果能够利用
积分的相反过程即微分,就可以恢复原来的信号。
但是当相位在-180度到180度这个范围内
变化时,我们就会遇到相位不连续的问题。
为了解决这个问题,我们可以把相位增加360度的
倍数,这样相位的变化就连续了,这种方法叫做相位展开。
在下图中,左图的信号的相位在-180度到180度之间,右图显示一个展开信号的相位从
0度到720度变化。
图1原始相位信号和展开相位信号的比较
IdealFMBasebandSpectrum
图2立体声FM广播信号频谱
图27显示了一个已被解调过的调频广播电台的理想频谱图。
在左边30HZ到15KHZ的方框图表示我们在扬声器中可以听到的声音。
当我们为我们的声卡重新取样波形时,过去的一切单声道音频都要被过滤掉。
有一个19kHz导频音,表示立体声音频的存在。
集中在38kHz的音频可以通过与单声道音频加减来获取左和右通道。