主要内容

高密度脂蛋白衬垫和Deinterleaver

这个例子展示了如何设计块衬垫和块deinterleaver块和实现交叉和deinterleaving通信系统使用这些块。

交叉

音频处理和无线传输应用程序经常由于突发噪声的影响。爆裂噪声降低了性能的前向纠错(FEC)编码。这种退化的性能结果的形式解码数据中的错误。交错的连续破裂传播的技术错误和提高数据使用FEC编码解码。交叉是无线数字视频广播等标准的一部分——satellite-second代(DVB-S2)、无线局域网(WLAN 802.11),和长期演进(LTE)。这个框图显示了与衬垫和deinterleaver通信系统的概述。

一点的分界写输入数据行操作格式记忆和读取列格式输出数据的内存。deinterleaver处于相反的方式通过编写输入数据列格式的记忆和阅读一点一行操作格式的输出数据的内存。行和列的数量决定交叉的程度。这图显示了块衬垫和块deinterleaver工作,每四行四列。

高密度脂蛋白衬垫模型

本节提供了一个通信系统实现使用的概述WHDLInterleaverModel.slx模型,其中包含衬垫和deinterleaver块。输入数据到模型中,dataIn卷积编码的使用卷积编码器块。编码数据,然后由衬垫块交错衬垫子系统。爆裂噪声添加到交错的数据进行异或操作数据与破裂的声音。给出了破损的数据作为输入的Deinterleaver子系统Deinterleaver块破裂中的错误数据的形式传播出去。的维特比译码器块解码deinterleaved最后解码数据和输出数据。模型包含额外的子系统,用于同步块的模型。一个常数阻止的交错变量中提供的衬垫和Deinterleaver子系统模型。你可以设置或重置交错变量来启用或禁用交错。

端口描述

本节解释衬垫块的输入和输出端口的分界子系统WHDLInterleaverModel.slx模型。

输入端口:

  • dataIn——输入数据交叉。块执行串行处理,dataIn被指定为一个标量。块支持万博1manbetx,,布尔,整数,不动点数据类型。

  • startIn——输入数据块的起始信号,指定为一个布尔标量。

  • endIn——结束信号输入的数据块,指定为一个布尔标量。

  • validIn-有效信号的输入数据块,指定为一个布尔标量。

输出端口:

  • dataOut——交叉输出数据作为一个标量返回。输出数据类型是一样的dataIn端口。

  • startOut——开始信号输出的数据块,作为一个布尔返回标量。

  • endOut——结束信号输出的数据块,作为一个布尔返回标量。

  • validOut——有效的信号输出的数据块,作为一个布尔返回标量。

  • 准备好了——准备好输出信号用于外部接口,作为一个布尔返回标量。衬垫接受一个新的输入数据块同时处理一个数据块。如果多个数据块作为输入在处理一个数据块的早些时候,deasserts准备好信号,表明衬垫还没有准备好接受新数据。

Deinterleaver块的输入和输出端口,Deinterleaver子系统的WHDLInterleaverModel.slx模型,是一样的分界的块。

参数

这图显示了屏蔽衬垫块的面具。您可以使用此块作为一个衬垫或deinterleaver通过修改参数选择的块面具。

衬垫块支持这些参数:万博1manbetx

  • 衬垫——Nontunable面具参数。选择衬垫参数使用块作为分界。明确该参数作为Deinterleaver使用块。

  • 最大的块大小——Nontunable面具参数。该参数指定的最大支持块大小。万博1manbetx这个值集内部使用的内存块的大小。该参数的最小值是4。

  • 列数——Nontunable面具参数。该参数指定的列数。最小列数是2,必须的一个因素最大的块大小

块大小衬垫的可调,这意味着它可以调整在模拟使用输入开始,结束,有效的控制信号。块大小的数量输入有效样本数据块的结束的开始。块大小必须是一个整数的倍数列数。块大小的最小值列数x 2和最大的价值最大的块大小

例如,如果您指定最大的块大小30和参数列数参数为5,可调的可能值在模拟10块大小,15、20、25、30。块自动计算的行数,随块大小。

体系结构

本节解释的架构衬垫块。衬垫块接受输入数据的数据块的形式以及控制信号。独立衬垫块上面每个数据块。这个图显示了衬垫块的架构。

衬垫块包含三个子系统和两块:

  • 编写逻辑——这个子系统接受输入控制信号并生成适当的写有效的写作和写地址信号数据到内存。

  • 存储块的长度,这是一个FIFO块存储在模拟输入数据块长度。

  • 读逻辑——这个子系统执行实际的交叉操作和生成从内存读取地址读出数据。

  • 生成了——这个子系统生成输出信号与其他块做好了准备。

  • RAM——这交叉存储输入数据和输出数据块基于输入读取地址。

只生成读地址读逻辑子系统的子系统衬垫块和Deinterleaver块在其功能不同,剩下的其他子系统也相同。

模型仿真

运行runWHDLInterleaverModel.m脚本模拟WHDLInterleaverModel.slx模型。脚本初始化、模拟和验证模型的输出。为最优结果,调整脚本中的交叉参数基于突发噪声参数。

禁用交错,然后运行脚本模拟模型,验证输出,并显示错误。

errorRateWithoutInterleaving = 0.1354

使交叉,然后运行脚本模拟模型,验证输出,并显示错误。

errorRateWithInterleaving = 0.0125

使交叉时,错误率小于错误率时禁用交错。这个结果是因为交错改进的性能维特比译码器块破裂传播的错误。

HDL代码生成和实现结果

检查并生成HDL代码中引用这个例子中,您必须HDL编码器™产品。生成HDL代码,在MATLAB命令提示符输入这个命令。

> > makehdl (WHDLInterleaverModel / Deinterleaver / Deinterleaver块)

的资源利用率和频率操作值随输入数据类型,最大的块大小,列的数目。HDL代码是合成Xilinx®Zynq®-7000 ZC706评估板的Deinterleaver块Deinterleaver子系统fixdt(14) 1日16日输入,最多360块大小,和30列。此表显示了职位地方和资源利用率。操作的最大频率292 MHz。类似的结果获得了衬垫的衬垫块子系统。

资源使用售予_____片寄存器293片附近地区271 RAMB18 1