3.3.3 FPGA端设计
FPGA的设计比较复杂,也是数据处理部分的核心,这一部分主要完成基带信号处理的关键工作,此外还负责射频卡5791的配置、P2P传输、FPGA间同步设计。
(1)射频卡5791配置
射频卡的配置在FPGA中完成,主要完成将HOST传递过来的参数写入射频卡相应寄存器里,尤其是关于速率的小数变换。
系统基带数据带宽为20MHz,而AD/DA端采样速率为130MHz,为了完成速率的匹配,必须对基带数据作相应处理。对于发送端,通过插值处理将20MHz升至130MHz,实现方式为每隔130/20=6.5个时钟周期从基带数据FIFO中读出数据,并进行扩展,形成130MHz的发送信号;类似的,接收端通过抽取方式实现130MHz降至20MHz,实现方式为每隔6.5个时钟将接收到的数据写入基带处理FIFO中。
(2)P2P传输
P2P将两块FPGA的数据合并到一块FPGA中,并在一块FPGA中完成后续的MIMO基带处理,因此在本系统中,P2P是实现MIMO的重要纽带。
P2P的配置主要包含两方面,在主机(HOST)端将一块FPGA的写入数据流和另一块FPGA的读取连接起来,在FPGA端,P2P数据读取和写入节点为数据交换提供FIFO的接口,这样的接口类似于DMA和本地FPGA 的FIFO,如图4所示。
(3)FPGA间同步设计
出于硬件平台的局限性,两根发射天线由两块FPGA分别连接,这样的硬件架构带来的问题就是如何保证两根天线发出数据的同步性。这是任何一个设备平台都需要考虑的问题,各个厂家也提供了不同的方案,NI利用其独特的模块化设计,FPGA之间存在trigger总线连接,利用trigger触发实现同步。
当不同的设备之间共享triggers时,信号路径的传播延时会造成trigger到达设备的时间不同步。NI自带的同步库可以利用CPTR(同周期时间相关)减缓trigger的评估速率。关键是所有的设备都必须构建一个CPTR信号,这些CPTR信号之间同频同相。
FPGA端的同步程序构建和关联CPTR信号,这些CPTR信号在不同的FPGA间是同时产生的。CPTR信号是周期性的,采样周期可以控制CPTR的周期。
(4)基带信号处理设计
在基于IEEE802.11ac协议的系统中,发送端包括前导码生成、信道编码、流解析、比特交织、星座映射、插入导频、添加CP、引入CSD以及IFFT转换等过程;接收端包括时间同步、FFT转换、去除CP、信道估计、信号均衡、去除导频、解映射、比特解交织、逆流解析、信道解码等过程。一些主要模块的具体细节如下:
BCC编码
采用IP核实现802.11ac标准规定的BCC编码器,其生成多项是g0=133(8)和g1=171(8),分别对应于生成多项式S0(x) = x6 + x5 + x3 + x2 + 1和S1(x) = x6 + x3 + x2 + x1 + 1,可以使用移位寄存器来实现。卷积编码后的两路输出相互合并再进行后续传输。根据不同的规则进行删余打孔,BCC信道编码器支持1/2、2/3、3/4、5/6四种编码速率,以满足更高的传输效率。
流解析与逆流解析
在经过信道编码后,流解析将编码比特被重新排成一组新的、等于空间流数(NSS)的比特串。其输出为NSS路并行比特序列,每个串的长度为NCBPSS (每空间流编码比特)。
逆流解析时流解析的逆过程,主要完成两个数据流合并成一个流的过程。
调制与解调
星座映射过程是把比特序列以一定的方式映射到星座图中的一个复数星座点。IEEE802.11ac支持的映射(调制)方式包括BPSK、QPSK、16QAM、64QAM和256QAM,各调制方式下每个子载波的复数星座点分别承载1、2、4、8和16个比特的信息,也即调制阶数NBPSCS。前导码字段中的信令字段均采用BPSK调制。生成数据字段时,根据信令字段中的MCS信息,子载波选择相应的映射(调制)方式。在20MHz带宽下,每个OFDM码元是由52个有效的复数星座值组成;4MHz带宽时这个有效值为108个。
解调是星座映射调制的逆过程,以恢复传输传输。
IFFT与FFT
实现发射端频域数据到时域数据的转换,同理,FFT则实现了接收端时域数据到频域数据的转换,以用于后续处理。
同步
在基于IEEE802.11ac协议的接收机中,同步过程主要包括时间同步,载波频率同步和采样时钟同步。由于NI-PXI平台具有优良的集成工艺和精密性,收发机的本振频率几乎一致,采样时钟也几乎保持完全相同,因此在原型机系统设计中可以暂时忽略系统的载波频率偏差和采样时钟偏差带来的影响。因此本文原型机的接收端采用基于前导码训练序列的MIMO-OFDM系统时间同步方案。
时间同步的处理主要分为捕获和跟踪两个阶段,具体分为帧同步过程和符号同步过程。帧同步又称作粗时间同步,用于检测数据分组的到来,这是时间同步的捕获阶段;符号同步又称作精时间同步,用于精确定位OFDM符号数据的起始位置,这是时间同步的跟踪阶段。
信道估计与均衡
信道估计是获取信道信息的重要模块,利用估计出的信道响应可以对接收端数据进行信道均衡操作从而恢复数据。IEEE802.11ac协议的信道估计采用定期发送训练序列的方法,即利用前导码中VHT-LTF的若干字段在频域内进行信道估计。信道均衡则是对接收信号进行一定的补偿操作,即对信号进行恢复与提取,为后续的解调和信道解码过程打下基础。利用之前得到的估计信道进行信道均衡过程,可以减轻或消除码间干扰,使得系统能够对抗无线信道衰落,从而提高无线系统的数据传输速率和频谱效率。本原型机采用基于LS算法的信道估计和基于ZF算法的信道均衡。
维特比译码
本系统中采用Xilinx的IP Core实现Viterbi译码,其输入采用基于帧形式的传输方式,需要重点考虑的是咬尾问题。因此需要在每一帧的最后添加6个零,使译码器回到初始状态。
3.3.4 PC端设计
PC端主要完成视频流的编码打包,并加上CRC校验码,同时根据不同调制方式改变发送数据包的大小。之所以选择用两台PC分别处理视频流的收发,是因为考虑到LabVIEW对视频流处理能力的薄弱,如果采用HOST端作视频流的编解码,这会耗用大量的CPU资源。因此NI仪器完全用来处理数据比特部分,而视频流的一系列处理则用C#编写的代码进行。
视频数据发送用户和接收用户的用户界面如图5、图6所示。发送用户界面中可以显示发送的视频,当前采取的调制方式MCS,包长的大小,每次请求包的数目(不同调制方式请求的包数不同),HOST中断请求次数等参数。而接收用户界面中可以显示接收到的视频,传输速率、接收到包的总数,误包率等参数。最主要的参数是Received Data Rate和Processed Data Rate。Processed Data Rate为传输的有效数据,也即实际视频流传输数据速率。由于视频流的包比较小,在其中添加了冗余信息来形成完整的包,Received Data Rate表示这种完整包的传输速率,也即物理层传输的数据速率。
图5 PC端发送用户界面
图6 PC端接收用户界面
4.基于NI-PXI的11ac原型机系统演示
关于原型系统的演示,分别从接收星座图演示以及视频流传输两个角度进行分析,以便更好地测试系统的性能。
评论
查看更多