基于FPGA的数字音频广播系统信号调制系统的实现
3 DAB信号调制系统的Simulink模型
利用Xilinx公司提供的可编译硬件模型库,在Simulink平台中建立硬件层DAB系统模型来实现算法层模型的功能。本节仅简要介绍部分子系统的顶层Simulink模型。图5为频率交织子系统Simulink顶层模型。
整个频率交织子系统Simulink模型可以划分为两个主体:一个是时钟控制部分,一个是缓冲空间部分。在Simulink平台中,使用地址可控移位寄存器(AddressableShift Register,ASR)作为缓冲空间,ASR具有三个输入端口,一个数据输入端,两个控制端,可以通过两个控制端来实现对缓冲区的控制。具体的说,当使能信号有效时,ASR将输入端数据读入,同时根据地址端口的控制信号输出指定地址区的内容;当使能信号无效时,ASR将不会读入任何数据,但会在输出端输出指定地址区的内容。使用两个深度为384的ASR来构成频率交织系统的双缓冲区,根据图3所示,要想获得要求的交织输出,需要在双缓冲区的两个输出端之问恰当的切换。因此,使用复用模块(Mux)来整合两个缓冲区的输出,从而得到频率交织子系统的输出。
图6为差分调制系统的Simulink顶层模型,整个模型具有三个输入端口,在图中做出标记的为数据输入端口,经过频率交织子系统处理的QPSK码流通过这个端口输入差分调制子系统。其余两个端口输入的为系统时钟信息。其中,一个为系统时钟框架中的帧同步时钟,另一个为系统时钟框架中的粗同步信号指示时钟。基于这两个系统时钟信号,相关的计算单元计算产生差分调制系统的本地时钟,并进一步得到相关模块的控制时序。
本地存储单元为一个深度为384存储单元的单端口只读存储器,本地存储单元中存放着事先计算得到的编码相位参考符号,在控制时序的控制下,差分调制系统在每帧信号的帧头适时地从本地存储单元中读出相位参考符号,并将其放入反馈缓冲区中,为帧结构整合以及差分调制做准备。反馈缓冲区为一个移位寄存器,它将为输入的帧符号流提供差分调制的基准符号差分调制将由编码QPSK符号流的模8相加计算实现,为了增强系统的稳定性,使用加法模块与一个查找表实现模8相加计算。从图6中可以清楚地看到,经过差分调制的码流通过反馈回路引入复用模块,在严格的时序控制下参与后续码流的差分调制。
4 DAB信号调制系统的实际测试
利用Xilinx公司的System Generator软件将在Simulink平台中经过仿真验证的DAB信号调制系统硬件模型自动转换为可实现在FPGA芯片中的硬件工程。所选用的FPGA芯片为Xilinx公司的Virtex 6系列,型号为xc6vlx240t-1fff1156。
为了测试FPGA芯片内部所实现的DAB信号调制系统,从电脑端通过PCIe向FPGA芯片传送一个任意数据文件,作为激励整数源,这个数据文件的起始部分包含了十六进制数据串“DEAD BEEF”,用来开启FPGA芯片中的DAB信号调制系统。经过信号调制系统实时处理后的信号数据被传回电脑端,并记录在一个名为dabout.data的数据文件中,利用MATLAB软件打开并分析这个数据文件,验证其所记录的信号是否具有要求的时域帧结构及OFDM信号的频谱特性。测试平台的搭建如图7所示。
通过对dabout.data文件的分析,DAB信号调制系统所实时处理输出的信号具备完整的帧结构,并且其频谱特性良好,图8、图9为分析得到的时域及频域结果。
结语
本文利用基于模型没汁的思想,通过算法层和硬件层建模,利用Simulink平台和Xilinx公司提供的可编译硬件模型库,设计并在FPGA芯片中实现了Eureka 147数字音频广播基带信号处理链中的信号调制系统。实际测试表明,所没汁的系统能够实时处理输入数据流,并且所提供的输出信号满足DAB基带信号的时域帧结构和频域谱特征的要求。
- 基于SIMULINK的心电信号源系统设计分析(11-24)
- 使用基于模型的设计进行早期验证和确认(01-25)
- 基于DSPBuilder的FIR滤波器的系统设计(03-19)
- 基于FPGA设计DSP的实践与改进设计(05-11)
- SPWM波控制单相逆变器双闭环PID调节器的Simulink建模与仿真(09-22)
- G.726语音编解码在SoPC系统中(06-06)