FPGA/ASIC技术
摘要:本文设计并在FPGA芯片中实现了数字音频广播系统的信号调制系统。信号调制系统位于整个数字音频广播系统基带信号处理链的末端,是基带数字信号处理的核心系统。根据Eureka 147标准,信号调制系统需要对输入的基带码流进行数字调制、频域交织、差分调制以及正交频分复用等一系列处理。所设计的信号调制系统能够对输入的基带码流进行实时处理,完成上述信号处理算法,并输出数字音频广播的基带信号。
数字音频广播(Digital Audio Broadcasting,DAB)是广播通信系统由模拟向数字化演进的产物。在众多的数字音频系统方案中,Eureka 147 DAB系统是起源最早,也是技术发展最为完善的数字音频系统。本文所设计的DAB基带信号调制系统依据Eureka 147系统的技术要求。
本文采用基于模型的系统设计方法,首先对DAB基带信号调制系统的各个模块进行算法层建模,之后利用Simulink平台以及Xilinx公司提供的可编程硬件模型库,将系统的算法层模型转换为可编程硬件模型,最后利用Xilinx公司的System Generator软件将经过验证的Simulink模型自动转换为FPGA可实现工程。
DAB系统基带信号处理链可以分为三个主要模块:第一个模块为信源编码系统,负责输入音频及数据源文件,并按照相关标准对不同的源文件进行信源编码,然后将编码后的数据流复用转换为特定的帧结构;第二个模块对经过信源编码的帧数据进行时域交织、信道编码等处理,然后将处理得到的数据复用转换为比特流;最后一个模块为信号调制系统,这部分系统将对输入的比特流进行正交相移键控调制、频域交织、差分调制、正交频分复用等一系列处理,并最终输出完整的DAB基带信号。图1给出了DAB信号调制系统框图。
图1 DAB信号调制系统框图
图2 DAB信号调制系统结构框图
为了能够最终在FPGA芯片中实现DAB基带架构信号调制系统结,首先对整个系统进行算法层建模,DAB信号调制系统结构框图如图2所示。DAB信号调制系统的算法层模型具有以下主要模块:触发序列检测子系统、系统时钟发生子系统、编码QPSK映射系统、频率交织子系统、差分调制子系统、OFDM子系统等。需要说明的是,几乎每一个子系统(例如频率交织系统)都有自己的时钟域,并且系统时钟发生所提供的输出远比一个单一时钟信号复杂。
在DAB信号调制系统中,需要设计一个相应的序列检测系统来识别所接收到的数据流,当数据流中不包含触发序列时,DAB信号调制系统处于休眠状态,系统输出为零;当检测到触发序列时,序列检测系统将发出使能信号,使DAB信号调制系统对触发序列之后的数据流进行处理。
状态机是实现这个触发序列识别子系统的一个直观有效的方法。由于所要设计的DAB信号调制系统是一个复杂的实时信号处理系统,因此需要为系统建立全局时钟来规范处理时序。还需注意,系统的各个子系统之间的处理时序必须协调一致,否则输出端的DAB基带信号其物理层或逻辑层的帧结构会遭到破坏,全局时钟为各个子系统的协调工作提供了一个整体时序框架。同时,那些需要进行复杂处理的子系统(例如频率交织子系统、差分调制子系统等)可以以全局时钟为架构,建立自己的时钟域以及处理控制信号。全局时钟系统的建立主要依靠计数器及逻辑比较模块的组合使用。
假设DAB信号调制系统所接收到的比特码流中已经包含了块划分结构的信息,QPSK符号映射子系统将从接收到的编码数据流中将包含块划分的码元对还原,并对码流进行QPSK调制,即将还原的码元对映射为QPSK符号。这个子系统的算法较为直观,在还原码元对的处理中,涉及到的串并转换利用解时分复用算法实现,而QPSK符号的映射通过查找表实现。
频率交织算法将改变QPSK符号与载波之间的对应顺序。实时处理要求大大增加了频率交织子系统的算法模型复杂度。为了实现对输入QPSK符号流的实时频率交织处理,本文设计了双缓冲空间算法模型,如图3所示。
图3 双缓冲空间算法模型
双缓冲空间算法模型核心思想是提供两个并行的缓冲空间。在同一OFDM符号周期(384个QPSK符号周期),一个缓冲空间接收QPSK码流,而另一个缓冲空间处于读入锁定状态,并进行静态频率交织处理。此时系统的输入端连接至前一个缓冲空间,而系统的输出则由第二个缓冲空间提供。在一个OFDM符号周期结束后,两个缓冲空间的工作状态对调,之前接收QPSK码流的缓冲空间处于读入锁定状态,进行静态频率交织处理并提供系统输出;而之前进行频率交织的缓冲空间则处于读入状态,并从系统的输入端接收串行的QPSK码流。
经过频率交织子系统的处理,经过QPSK调制的符号流,其在一个OFDM符号周期内的载波对应关系发生了改变,从而使频域的信息流得到了一定程度的无序化,提高了信号抗衰落的能力。但是,由于调制方式为QPSK,信息被调制在载波的绝对相位上,这就要求接收端的参考基准相位具有很高的稳定性,否则可能会发生由于参考基准相位的不稳定而导致码信息的误译情况。为了进一步增强系统的可靠性,DAB基带信号处理过程中引入了差分调制,将QPSK符号流转换为DQPSK符号流,从而将信息调制在载波的相对相位信息上,提高了系统的稳定性。
在差分调制系统算法模型中,需要一个本地存储区存储频率参考符号,每一帧信号的差分调制处理流程如下。在帧头空符号输入的时候,系统不做任何处理,直接输出空信号。在频率参考符号周期内,系统的输入端依旧是空信号,但是本地存储区将会在系统的输出端提供频率参考符号,同时将频率参考符号引入反馈缓冲区。当第一个FIC符号输入的时候,反馈缓冲区的频率参考符号会与之同步,对应的QPSK符号做模8相加,相应的子载波进行了差分调制,同时输出端经过模8相加的编码DQPSK符号被引入反馈缓冲区。当第二个FIC符号输入的时候,以反馈缓冲区中经过差分调制的前一个OFDM符号为基准进行模8相加,当一帧信号的所有OFDM符号都经过处理后,反馈缓冲区将被清零,为相位参考符号的再次装载做准备。图4描述了差分调制系统的算法模型。
图4 差分调制系统算法模型
经过差分调制得到的DQPSK符号流将通过零值插入子系统、OFDM子系统和数据成形子系统的处理。零值插入子系统的算法模型与双缓冲区算法模型类似,OFDM子系统的核心算法为快速傅里叶逆变换,数据成形子系统将会调整经过处理得到的OFDM符号的数据格式并向输出端提供最终的DAB基带信号数据流。
利用Xilinx公司提供的可编译硬件模型库,在Simulink平台中建立硬件层DAB系统模型来实现算法层模型的功能。本节仅简要介绍部分子系统的顶层Simulink模型。图5为频率交织子系统Simulink顶层模型。
图5 频率交织子系统Simulink顶层模型
整个频率交织子系统Simulink模型可以划分为两个主体:一个是时钟控制部分,一个是缓冲空间部分。在Simulink平台中,使用地址可控移位寄存器(Addressable Shift Register,ASR)作为缓冲空间,ASR具有三个输入端口,一个数据输入端,两个控制端,可以通过两个控制端来实现对缓冲区的控制。具体的说,当使能信号有效时,ASR将输入端数据读入,同时根据地址端口的控制信号输出指定地址区的内容;当使能信号无效时,ASR将不会读入任何数据,但会在输出端输出指定地址区的内容。使用两个深度为384的ASR来构成频率交织系统的双缓冲区,根据图3所示,要想获得要求的交织输出,需要在双缓冲区的两个输出端之间恰当的切换。因此,使用复用模块(Mux)来整合两个缓冲区的输出,从而得到频率交织子系统的输出。
图6为差分调制系统的Simulink顶层模型,整个模型具有三个输入端口,在图中做出标记的为数据输入端口,经过频率交织子系统处理的QPSK码流通过这个端口输入差分调制子系统。其余两个端口输入的为系统时钟信息。其中,一个为系统时钟框架中的帧同步时钟,另一个为系统时钟框架中的粗同步信号指示时钟。基于这两个系统时钟信号,相关的计算单元计算产生差分调制系统的本地时钟,并进一步得到相关模块的控制时序。
图6 差分调制子系统Simulink顶层模型
本地存储单元为一个深度为384存储单元的单端口只读存储器,本地存储单元中存放着事先计算得到的编码相位参考符号,在控制时序的控制下,差分调制系统在每帧信号的帧头适时地从本地存储单元中读出相位参考符号,并将其放入反馈缓冲区中,为帧结构整合以及差分调制做准备。反馈缓冲区为一个移位寄存器,它将为输入的帧符号流提供差分调制的基准符号,差分调制将由编码QPSK符号流的模8相加计算实现,为了增强系统的稳定性,使用加法模块与一个查找表实现模8相加计算。从图6中可以清楚地看到,经过差分调制的码流通过反馈回路引入复用模块,在严格的时序控制下参与后续码流的差分调制。
利用Xilinx公司的System Generator软件将在Simulink平台中经过仿真验证的DAB信号调制系统硬件模型自动转换为可实现在FPGA芯片中的硬件工程。所选用的FPGA芯片为Xilinx公司的Virtex 6系列,型号为xc6vlx240t1fff1156。
为了测试FPGA芯片内部所实现的DAB信号调制系统,从电脑端通过PCIe向FPGA芯片传送一个任意数据文件,作为激励整数源,这个数据文件的起始部分包含了十六进制数据串“DEAD BEEF”,用来开启FPGA芯片中的DAB信号调制系统。经过信号调制系统实时处理后的信号数据被传回电脑端,并记录在一个名为dabout.data的数据文件中,利用MATLAB软件打开并分析这个数据文件,验证其所记录的信号是否具有要求的时域帧结构及OFDM信号的频谱特性。测试平台的搭建如图7所示。
图7 DAB信号调制系统的测试平台
通过对dabout.data文件的分析,DAB信号调制系统所实时处理输出的信号具备完整的帧结构,并且其频谱特性良好,图8、图9为分析得到的时域及频域结果。
图8 实际测试DAB信号调制系统生成信号的时域分析
图9 实际测试DAB信号调制系统生成信号的频域分析
结语
本文利用基于模型设计的思想,通过算法层和硬件层建模,利用Simulink平台和Xilinx公司提供的可编译硬件模型库,设计并在FPGA芯片中实现了Eureka 147数字音频广播基带信号处理链中的信号调制系统。实际测试表明,所设计的系统能够实时处理输入数据流,并且所提供的输出信号满足DAB基带信号的时域帧结构和频域谱特征的要求。
全部0条评论
快来发表一下你的评论吧 !