软件无线电基本试验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一软件无线电基础
一、实验目的
熟悉软件无线电实验平台,了解软件无线电平台的软硬件处理通信任务的过程,学会软件无线电的基本设计方法和开发工具软件使用方法。
二、实验内容
用软件无线电实验平台和LabVIEW软件创建一个调频无线接收器;创建一个自定义LabVIEW用户界面,配置USRP,用LabVIEW设计无线通信系统原型。
三、实验仪器
1 USRP实验平台一台
2计算机一台
四、实验原理
1软件无线电平台原理
无线通信测试创新论坛对软件无线电(SDR)的定义:〃无线电的一些或全部的物理层功能由软件定义。
〃
软件无线电参考了这样一个技术:在通用硬件平台上运行软件模块,用于实现无线通信功能。
结合USRP通用软件无线电硬件和模块化软件的优势,提供了满足多功能需求且灵活性强的快速通信原型平台,适用于物理层设计、算法验证、多标准无线系统、无线信号录制与
回放、通信情报等应用。
图1.软件无线电平台构架
2软件无线电实现的数字通信系统
2.1 典型的数字通信系统
一个典型的数字通信系统包括:发射机、接收机和通信信道。
图3展示了一个数字 通信系统的通用组件。
放在第一行是发射机,包含信源编码、信道编码、调制、上变频 模块。
第二行是接收机由下变频、匹配滤波器、均衡器、解调、信道译码和信源译码模 块组成。
数字处理
.I
合成船
1 __________________
控制
软件接收器控制器
□ RF/IF □混含信号 口数亭部分 敬宇处理
骐劭器1 放大
可配置 H 接收器T N 口
D/A
可配置 发射端
BE
F E
图2数字通信系统框图
酬三
P8 -
KU-PCI3 Zu 」
ncl6
-SUUE J=J
j_n r Bits
KEP£a
白
Bu
」
LTLT
日均
u.EH-np
岂
=O_£^CQWCSQQ
2.2NI USRP无线通信实验系统
图3 NI-USRP无线实验系统硬件、软件平台
1) NI USRP硬件平台
图4 NI-USRP硬件平台前面板
射频信号输入到SMA连接器,USRP硬件平台通过直接变频接收机中的混频操作,产生同相正交(I/Q)基带信号,再经过一个2通道,速率为100 MS/s的14位
模数转换器 依口0采样。
然后数字化的I/Q 数据并行地经过数字下变频(DDC )过 程,混频、滤波,使输入的100MS/S 的信号达到指定速率。
32位的下变频采样信号 (每对I/Q 各
16位),通过标准千兆以太网连接,以高达20MS/S 的速度传给主机。
对于发射端,PC 主机合成32位的基带I/Q 信号样本(每对I/Q 各16位),然后 再通过千兆以太网以高达20 MS/s 的速度供给NI USRP 。
USRP 硬件利用数字上变频 (DUC )过程,将输入信号速率变为400 MS/s ,然后采用双通道16位的数模转换器 (口人。
将其转换成模拟信号。
由此产生的模拟信号与指定的载频混频。
图5 NI-USRP 系统框图
2)NI-USRP 软件平台
软件无线电系统其中的数据处理组件是由软件实现的。
这些组件包括滤波器、调制 器和解调器。
因为这些组件是在软件中定义的,可以根据需要调整软件无线电系统,而 不必在硬件上作大的改动。
由于现在的计算机可以有非常快速的处理器和高速的接口, NI-USRP 的主要开发环境是NI LabVIEW 。
NI LabVIEW 是一种将文本编程的低复杂度 抽象为可视化语言的图形化编程语言,科学家以及工程师们广泛地使用它在多种环境中
PLL
Analog RF Transceiver
PC
Lawless 廿乂 gr
Filler
FLL
“业 H4信& Drivd Amplifier Amplifier
Low pass
Mixer Filler
Mixer 20 17-z f 0Q MS/si
Fixed Function
FPGA
1.L
进行采集、处理、分析和显示测量数据。
所以我们能够利用计算机上使用LabVIEW 快 速地实现软件无线电的设计。
LabVIEW 是一个图形化(G )编程环境。
目前,世界各地有成千上万的工程师应用 LabVIEW
来进行小型、中型甚至系统级的项目设计。
在LabVIEW 环境中,用户界面被叫作前面板,背景色为灰色。
用户或者操作者可 以通过在前面板上添加控件、旋钮、开关、图形、图表和发光二极管等器件来进行程序 控制。
LabVIEW 的编程界面被叫做程序框图,其背景为白色。
可以通过在程序框图上添加 众多
子功能和子例程,来搭建满足自身需求的程序,达到想要的功能。
另外,LabVIEW 自带了许多预定义的功能,可以通过对这些预定义功能的组合重用,来节省搭建模型和 访问硬件设备的时间。
1弃 Untitl&d 1 Front Panel *
File Edit View Project Operate I ools Wind
图6前面板(左侧)和程序框图(右侧)示意图
3)LabVIEW 快捷键
下面列出了 LabVIEW 中的快捷键。
可以参考LabVIEW Quick Reference Card ,一个 PDF 版的快捷键说明文档。
表1 LabVIEW 快捷键
回
Kncb
15pt Appli
cati
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
的函数库开始编程。
图7 LabVIEW中的NI-USRP函数库
③niUSRP属性节点
使用niUSRP特性来访问高级配置选项来应用NI-USRP驱动。
图8 niUSRP属性节点
②八个♦常用的NI-USRP 函
接下来的几个部分概括了八个最常用的USRP 函数来帮助大家进行实验。
已经根据功能将 他们分类:配置、读/写、结束。
大部分的数据采集程序都包含这些类别,并且在创建新的 LabVIEW VI (虚拟仪表)时它们是最重要的程序设计模型。
图9八个最常用的NI-USRP 函数
nillSEP OpR* jjian.-.'i
INIUSRFI
niUSRP Configure Signal.vi
INKJWEFI
'
'
niU^RP Initifite.vi
niUSFP Op^n Tw S^ssion.'-'i |NIU£RP |
MiUSFP Confitjiire Sicjnal.vi IHRJZRPI '
'
Read/Write
niU5RP Fetch R K 口吐口 (polyj.vi
IHI-USRFI
'
CDB Cluster =
nillSRP Write TxD(it(i (polyj.vi
irirusRFl
'
;:W
CDE. Cluster ▼
niUSRP Ab on.'--i [NH J SRF ]
niUSRP Close Sessionvi
niUSRP Close Session.v
IS
Ccnfigu FEE p rop Eities of the Ts er Rx signal.
图12 niUSRP 配置信号VI 的即时帮助
③配置函
niUSRP 打开外会话
川 U5RF|
H
niUSRP 打开Rx 会话VI 是第一个用来创建接收射频信号的软件会话。
其一个会话对 于发送配置数据和在USRP 中检索IQ 数据是很有必要的。
一个Rx 会话只能与Rx 函数一起使用。
niUSRP 配置信号
riH 」5RF|
Cortext H&l[:
niUERP Open RxSgskn.vi 相
d evic
e name5 [0] reset [7]…… errsr in (no
error) [11] " Hi-uenpf ™™" i] EeEQcn handle DU C J 5] error out Opens dn Rxss&ion to the device's) you s-pecify in the device
narn&c parameter and returns e«-Eibn hand I E tkuf,. v/hieh you uce to identiiy this inEtrument sesEion in all subsequent N1-U5RP Ws.
Detailed h 呻
图11 niUSRP 开Rx 会话VI 的即时帮助
niUSRP 配置信号VI 可以与接收会话Rx 或传输会话Tx 一起使用。
它可以设置 IQ 率,载频,增益和有源天线。
对多重USRP 配置,频道列表制订了一个特殊的
USRP 。
并不是所有的IQ 率、频率以及增益都是有效的。
读入强制(实际)值来看是否与请求 值不同。
Corte*! Help
niU S 即 Canf^Lire S ignal.vi (4 Q 到
channel lifd [1J
session haiiirdle [Q]
WVVMVWVUWMWXh 一-一-
IQrateD] J |
carrier frequent^' [7] 一 gain [9]― error in (no Error) [11] cctiYe antenna [12]
™" [4] sesson handle out - [&] t«Ked IQ rate [8] coErced carrier frequency —[IQ] coerced gain
error out
niUSRP 初始化
niUSRP 初始化VI 启动了接收会话并且告诉USRP 所有配置已经完成,USRP 应该开 始捕获IQ 数据(即采样)了。
该VI 只能与Rx 会话一起使用。
niUSRP 打开Tx 会话
niUSRP 打开Tx 会话VI 是第一个用来建立与USRP 的连接进行射频信号传输的VI 。
其一个会话对于发送配置数据和向USRP 发送IQ 数据是很有必要的。
一个Tx 只可以
和Tx 函数一起使用。
Context H&l[:
niUSRP Open T K S esskn.vi 相 片"] device IUIHGE [0] /]5EEEICM handle out
皿 in (no [11] 丁=.15] error m
Opens a Tx session to the device(s) you s-pecily in the device nwER paratncter and returns s«-Eibn handle *ut
which you uce to identify 1
this inEtrument session in all subsequent N1-U5RP Ws.
DetaNed twlp
垂降|TI /
卜
图14 niUSRP 打开Tx 会话VI 的及时帮助
④读写功能
niUSRP 提取接收数据(多态)
niUSRP Fetch Rx Data VI 可以从由 niUSRP Open Rx Session VI 接收进程的 USRP 来检 索IQ 数据。
这个数据可在时域中画出来,或者进行数字化处理以便分析。
niUSRP Fetch Rx Data VI 是多态的,也就是说可以通过要使用的数据类型从多个niUSRP Fetch Rx Data VI 版本中选择合适的。
VI 只能与接收进程一起使用。
HHJ-FiF]
::
图13 niUSRP 初始化VI 的及时帮助
niUSRP 写入发射数据(多态)
niUSRP Write Tx Data VI 允许向USRP 发送IQ 数据,这样它可能会通过niUSRP Configure Signal VI 在指定的载频上发送IQ 数据。
niUSRP Write Tx Data VI 是多态的,也就是说可以通过要使用的数据类型从多个VI 版本 中选择合适的。
VI 只能与发送进程一起使用。
Content Hei p
|"E"
niUSRP Write T K Data (paly).vi (4B33)
channel list [1]~
iciwin handle- |0]J
由3 |5] m
timeDut [7] end of d rta? |9] - err&r m (no errar) [11]B
use Wk'Eform dt ForCQ rate? [12] ■
WritEf. data to the specified channel lid:.
E>etail&d iielp
图 16. niUSRP Write Tx Data VI 文档帮助
NI-USRP 读写数据类型
这里提供了几个写入发射数据和提取接收数据图像的实例供您选择。
下表给出了可 供选择的实例。
pj| errar Dut
|4] seraian handle Dut
从多信道提取复杂的16比特带符号整型数据。
为了使用此VI ,
必须把主机数据类型属性设置为I16。
表1. NI USRP 读写数据类型
⑤关闭函
niUSRP Abort
niUSRP Abort VI 给USRP 传递停止获取的命令。
通过这个VI ,改变配置信息 的
时候,无需完全关闭并新建一个新的会话。
这个VI 只能用于Rx 会话
复杂双波形数据
|MH 」5FiF] E
从指定信道提取波形数据类型中复杂的双精度浮点数据
CDBWDT ▼
复杂双精度数
悝山:5FiF]
EZHi
从指定信道提取复杂的双精度浮点数据
16 ^匕特整
型
rilUzSFiF
EHlj
从指定信道提取复杂的16比特带符号整型数据。
为了使用此
VI ,必须把主机数据类型属性设置为I16。
复杂双^度数据的2维数组
lNI-USFiF-1
|皿
2D CDB
从多信道提取复杂的双精度浮点数据。
16比特整型数的2维数组
图17. niUSRP Abort VI的上下文帮助
niUSRP Close Session
niUSRP Close Session VI可以关闭正在运行的Rx或者Tx部分,并释放它们所用亍RF|
的内存。
如果你调用了这个VI,就不能再通过USRP传输或者接收任何信息了。
要想重新使USRP正常工作,只好重新运行。
图18. niUSRP Close Session VI 的上下文帮助
五、实验内容
1硬件连接
用网线将USRP设备与PC机连接。
由于调频收音机有音频输出,所以要求计算机有声卡,并且有声音播放器。
图19 USRP连线图
在控制面板中将PC机的IP设定为192.168.10.1,网关为255.255.255.0 ;
连接USRP的电源、天线。
图20 PC端网络配置
在windows 的开始菜单中All Programs\\National Instruments\\NI-USRP 目录下面找到NI-USRP Configuration Utility,在Devices选项卡中应该能够看到设备 (包括Device ID, IP Address, Type/revision)。
如果看不到设备,请点击Refresh Devices List来寻找设备。
如果需要,可以选定一个设备并且在右边New IP Address 栏中输入新IP地址,点击Change IP Address来修改USRP设备的IP地址。
图21 USRP配置工具
2创建一个FM收音机
NI USRP Configuration device names
尢192.168.10,3 二]
IQ rate
gm 一
carrier frequency
郡二7M
Broadcast FM Radio Frequency 5pectrum
-10
-20-
后
p
〕
a
m
一
Q.
E
4
RX2
gain
sb5
number of samples
附2 一Sound Format channel 用mono
sample rate (S/5〕3 44100
bits per sample 目16 bit
-40
-60
-75
0 20k 40k &Qk 80k lOQk 士|趣则Frequency (ofE&t from carrier)
Time Damam Audio
Time ⑸
0.080.1图22 USRP FM接收机
1)找一个无线电台
目标 a )找到本区域的一些无线电台
b )用前面板的波形图分析这些电台
人部分
1 .打开 练习Exercises 文件夹
a.在文件夹中打开Exercise 1A.VI
2 .按照下表配置前面板 Parameter
Value Device names (设备名) 192.168.10.2 IQ 口218(0速率)
10M Carrier frequency (载波频率) 93M Active antenna (所选天线) RX1 Gain (增益)
1 Number of samples (采样数目) 20k Timeout (超时)
10
注:注意M 与m 之间的区别。
LabVIEW 将m 设定为毫,M 设定为兆。
device names ^192J63.1Q.Z -2
一仇 IQ Resivw
*
CDerctd [Q ntE : 口051 ............................................. . . .
___ ^
Q II J A/ I
15M
.
口白 4-
CDencrd carrier Fnequency DJOS -
m5M
-s I 0-
■DXJ2-
CDefced gain
-DXH-
°0i35— । । । । । । । । ।
।
।
।
।
0 D 1a 25 0.05 0.QC5 0.1 0.125 0.L5 0.175 0.2 0,225 025 0275 03
十皿羽
Iime
J J
error out 弓匕tut
Frequency Plot
国-L
source
■toa -
-110-
-50Qk -400k 生
四则I
-3DQk -200k -IDOk 0
100k
Frequency
[Q rate
冈
ciarrier frequency
active enlunni 931rl
3H
ID
number of samp-lE^
timeout
2UQk 3Q0k 4iik 5Q0k
PlotD l/V
- - - - - - 国
-5a-ffl-7(]-sa ⑼ 山
Fn +J —
dLUV
观察FM 电台的频谱图。
中国、美国的FM 无线电台分配到的频率都在88MHz 到 108MHz 之间。
接下来选一个单独的电台。
7 .在图上选择一个电台,并绕着峰值点从左到右点击
8 .在这个图中,这个FM 电台的频谱在-4.6MHz 到-4.8MHz 之间,带宽为200KHz ,这 就是
电台的带宽,IQ 速率设置为电台的带宽。
此电台的中心频率与我们的载频93MHz
3. 按下运行按钮,你就会看到如下图所示的波形图。
如果你的波形图中没有很多的峰值 点,将程序停止,修改增益(gain )到30,然后再次运行。
4.
5. 点击停止按钮,停止程序的运行。
6. 点击放大器图标,在弹出菜单中点击最上面中间的图标
相差-4.7MHz(88.3MHz)
9 .调整参数使得只有这一个电台
a.停止程序
b.将载频设置为88.3M
c.将IQ 速率设置为200k
10 .再次运行程序,观察频谱图的变化
<20-, , ,
, ,
, , ,
・5口5府5M -5M -7aM -4.7M
-416M 75M -4.4M -4.314(1
斗迎朝]
二鹏则守
Plot 。
FrequenQ- Plot
i-J-
kJ-
kJ-
।
■
i
i
I 1 Q 9 3 7 巴
o
o o a o o c
I I I Illi
Amplitude
A Lui o o I I Frmquency
p o
r
2 )FM广播解调
目标a)快速获取,显示,并可以收听FM广播电台b)理解各个参数如何控制程序获取数据c)学习LabVIEW数据流原理
A部分1.打开练习Exercises文件夹
a.启动Exercise 1B.VI
2.选择菜单:窗口>显示框图
a.解调,显示,收听广播所要用到的函数和VI已经放到了框图面板中(程序框
图)你需要按正确的顺序将他们连起来,并完成这个练习。
3.在while 循环内,找到niUSRP Fetch Rx Data (poly)VI
a.将数据输出连到"复数到极坐标”函数的2输入口
4.将Complex To Polar 函数的theta 输出连到Unwrap Phase VI 的Phase 输入端
Un* Complex p ha To Polar
(确保你没有连r输出端)
5.将Unwrapped Phase 接至1」Derivative x(t)VI 的X 输入端口
6.将dX/dt连接到Build Waveform函数的Y输入端口
7.将波形输出至以下框图
plex To Re/Im函数的z输入端口
b.FFT Power Spectrum and PSD VI 的time Signal 输入端口
c.Simple Resample的波形输入端口
8.将Simple Resample VI的波形输出端口接到Simple Sound VI的数据输入端口
9.配置声卡
a.将在while循环的左下的的蓝色块接到(Simple Sound) VI的任务号(task ID)
输入端。
b.将黄色块接到(Simple Sound)VI的错误输入端。
10.在菜单栏选择,窗口>显示前面板
11.保存VI
12.运行VI
nLtiflf Lml^uri
SKFiaLin
ICtF/T jnMnna
Huiro4i of Maples
nLW
IrriutiAi
USWLQRJU
&mnd Cud firrfita Raia
□
抬FMMEH
书院Ifi 幻fl'
工J
IQ”依
ecv{ad IQ rat«
caerced cjirier
eari 打 rr«|uency ^iKjjenry 4 忸 HM |957M
stilus
+皿,
I
向
M2
O J C H
0J05
Trnn
牛8列
图1.
完成的前面板 nM5»F Fitich Rn
Jpo 的才
CompiM Tc Aiilm
FFTFa-er Lpoih'jm ■r»JP5D /zi
图2.完成的程序框图
|附录:FM|K 调算法原理
频率调制(FM)的原理是以载波的瞬时频率变化来表示信息。
我们可以使用一个频率偏移 来精确地模拟相位随时间的变化,之所以这么做是因为我们很容易从IQ 信号中得到相位信 息。
错误!未找到引用源.
-'V^_
Phase
给予一个调频电台作为IQ 信号,我们就可以获得它的相位信息。
然后我们如果能够利用 积分的相反过程即微分,就可以恢复原来的信号。
但是当相位在-180度到180度这个范围内 变化时,我们就会遇到相位不连续的问题。
为了解决这个问题,我们可以把相位增加360度的 倍数,这样相位的变化就连续了,这种方法叫做相位展开。
在下图中,左图的信号的相位在-180度到180度之间,右图显示一个展开信号的相位从 0度到720度变化。
Original Pha^e Graph
图1原始相位信号和展开相位信号的比较
-180
Unwrapped Pha^e Graph
-100- 0
200
400
600 SOO 1000
Time
00
1X
山pna
一五三
<1;
o o o O O 5- 5 1 -
Ideal FM Baseband Spectrum
图2立体声FM广播信号频谱
图27显示了一个已被解调过的调频广播电台的理想频谱图。
在左边30HZ到15KHz的方框图表示我们在扬声器中可以听到的声音。
当我们为我们的声卡重新取样波形时,过去的一切单声道音频都要被过滤掉。
有一个19 kHz导频音,表示立体声音频的存在。
集中在38 kHz的音频可以通过与单声道音频加减来获取左和右通道。