欢迎来到天天文库
浏览记录
ID:12554968
大小:28.00 KB
页数:9页
时间:2018-07-17
《基于gnuradio与hackrf的无线通信收发系统实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于Gnuradio与Hackrf的无线通信收发系统实现>通信技术的高速发展,需要对大量的信号及数据进行高效、快速、可操作性更高并且相对低成本的处理,这便对无线通信系统提出了更高的要求。Gnuradio是一种免费的开源软件无线电开发平台工具,在其图形化操作界面中集成了丰富的信号源与信号处理模块,通过功能强大的信号处理模块可以在PC端对无线通信中发送与接收端的信号进行编解码、调制与解调,时域和频域同步等处理。 1引言 软件无线电(SoftwareDefinedRadio,SDR)[1,2]是一种多频段无线电广播
2、通信技术,它具有宽带天线、用于收发信号的射频前端、AD/DA转换,并且支持多个空中接口及协议,其无线通信协议是基于软件定义的而非通过硬连线实现。换言之,所使用的中心频率、空中接口协议和功能由于其开源特性,可通过手动更改、软件下载和更新来升级,并不需要完全更换硬件,这使得通信过程达到了灵活高效,低成本的效果。 广义上的软件无线电的结构分为三类。 (1)低通采样软件无线电结构。其在AD转换之前添加了低通滤波器,这使得对AD采样速率的要求降低。软件无线电的工作频率决定了低通滤波器的采样频率,根据奈奎斯特采样定理,其
3、采样频率[fs]需满足: [fs≥r+fmax](1) 其中r为低通滤波器的矩形系数,[fmax]为所要求的工作频率最大值。根据(1)式可知为了使得AD采样频率在合适的范围内,[fs]与[fmax]的取值不能太高,这就使低通采样软件无线电的适应范围大大缩小了。 (2)宽带中频带通采样软件无线电结构。对于工作频段较高的情形(大于2GHz)则可以采用此种结构。该结构采用了多次混频的方式,将在工作频段上感兴趣的信号放大、混频后经过滤波而得到统一的中频频段上,在进行AD转换和采样,存在于软件无线电外设中的FPGA对
4、信号做数字下变频、数字滤波等操作。这种结构的优点在于中频带宽较宽,所以可处理的信号范围更大,在现有的软件无线电结构中的实际应用也最为广泛。 (3)射频带通采样软件无线电结构。与其他结构不同,此类结构添加了宽带跟踪滤波器用于选择处于其工作频段内感兴趣的信号并对其进行接收处理,在放大之后进行AD转换作数字化采样。该结构的优点在于在器件的作用下不需要对接收端信号做变频处理,在模拟处理时即可完成对射频信号没有混叠的数字化处理,但由于对硬件的处理能力要求很高,所以在实际应用中较少使用。 2软硬件平台 2.1软件平台部
5、分 2.2硬件平台部分 Hackrf是软件无线电外部设备,支持Gnuradio并可与之配合使用。Hackrf通过USB接口与PC端相连,主要作用为信号的发射与接收,并对信号进行放大,滤波,混频,采样等处理,其硬件架构框图如图2所示。 以接收端为例,在信号由射频段进入天线后的处理流程为: 1)由射频开关决定是否经由14dB的放大器进行放大; 2)经过镜像抑制滤波器对信号进行高通或低通滤波; 3)信号进行RFFC5072芯片混频到2.6GHz固定中频(中频范围为2.15GHz-2.75GHz); 4)信
6、号送入MAX2837芯片混频到基带,输出差分IQ信号(期间MAX2837芯片可以对信号进行带宽限制); 5)MAX5864芯片对基带信号进行数字化后送入CPLD和单片机TODOFIXME; 6)CPLD; 7)LPC4320/4330处理器将采样数据通过USB接口送至计算机内、 3在仿真平台上的实现及结果分析 Gnuradio支持多种数字调制方式,在此次通过实际无线信道[6]的仿真中采用频移键控(FrequencyShiftKey,FSK)[7]的调制方式来发送自定义的文本文件。设计的仿真方案步骤如下:
7、 1)在发射端将需要发送的文本文件通过Python程序封装成帧; 2)通过搭建GRC流图,将分装成帧的文本文件以FSK调制与解调[8]方式发送与接收,实现文件通过实际无线信道的传输; 3)将接收并解调的数据以文本形式保存,再进行采样处理以还原为发送前的文本文件,最终实现文本文件通过无线信道的发送与接收。 3.1发射端仿真设计 (1)首先在要发送的文本中写入测试内容“HelloWorld!Xiaoming”,将文件命名为“send.txt”并保存。 (2)利用Python程序data_send.py将s
8、end.txt封装成数据帧。为了后续的帧同步,于是在帧头加入了同步序列[1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0],并将帧头和数据帧写入code.txt文件中。计算要发送的文本文件大小,此处设计大小最多为256字节(通过修改Python程序可以实现更多字节文件的传输),本次实验中为20字节。 (3)写入结束标志。确定数据长度后,由于数据帧会被循环发
此文档下载收益归作者所有