高密度脂蛋白OFDM发射机
这个例子展示了如何实现一个OFDM-based无线发射机模型®HDL代码生成和优化的硬件实现。金宝app
这个例子展示了自定义设计的基于正交频分复用(OFDM)的发射机。该发射机模型接受有效载荷数据通过输入端口。它使您能够选择调制类型的刺穿了卷积编码速率的数据从一组值。这两个参数控制提供了有效的数据传输速率和通过发射机的输入端口。支持的最大数据速率发射机是3 Mbps。金宝app器还接受一个输入有效的信号来控制传输。
本例中的发射机与接收机的工作高密度脂蛋白OFDM接收机的例子。发射机的MATLAB®浮点等效函数所描述的高密度脂蛋白OFDM MATLAB引用的例子。
发射机规范
本节解释发射机的规格与OFDM帧配置和结构、带宽、采样率。
发射机模型接受两个参数,modTypeIndex codeRateIndex,这允许您指定调制类型和穿刺卷积编码速率,分别的数据。这些两个参数如下表:
modTypeIndex
值代表调制类型_____ __________________________ 0 BPSK 1正交相移编码2 16 qam 3 64 qam
codeRateIndex
值代表编码速率_____ ____________________ 0 1/2 1 2/3 2 3/4 3 5/6
OFDM帧结构
每个OFDM系统有一个框架结构,显示了样品在频域的分布在所有它的副载波。框架结构如图。每个OFDM符号由72副载波,每个OFDM帧包含36个OFDM符号。帧持续时间是3。第一个OFDM符号是由同步序列(SS),第二个和第三个符号是由参考信号(RS),第四个是由头象征。数据都是第五个到最后(36)符号象征。飞行员之间插入数据,这样有一个飞行员,每五个副载波数据如下所示。这些飞行员的帮助在接收机检测并纠正阶段错误。
给出了OFDM参数模型中使用如下:
采样率1.92 m / s的参数值________________________ _____副载波间距15 kHz FFT长度128活跃的副载波OFDM信号1.4赫兹的带宽72左卫队副载波28右后卫副载波27循环前缀长度32每帧数据符号象征12 32飞行员/数据
模型架构
下面的图显示了OFDM发射机的高级体系结构。有五个不同的信号,形成了OFDM帧:SS, RS,头,飞行员,和数据。SS、RS和飞行员对每一帧相同。词根他们存储在单独的查找表(LUT)和访问时必需的。头和数据随输入给发射机。头位形成基于输入调制类型和编码速率值。这些头位处理头链如图。负载数据作为输入提供给发射机。处理这些数据通过多个阶段的数据链。头和数据链中各个阶段进一步解释部分。
这五个信号是基于有效信号和多路复用存储在RAM中。RAM是一帧时间这些信号。数据存储在RAM和调制的宣读OFDM调制器块。OFDM调制信号过滤通带频率为1.4 MHz,发出发射机输出。
文件结构
这个例子包含两个仿真软件模型,一个初始化脚本,和一个金宝appMATLAB函数:
whdlOFDMTransmitter.slx
在这个例子中——这是顶层模型。它有一个OFDM发射机子系统是指whdlOFDMTx.slx
模型。有一个外部接口电路的OFDM发射机子系统,它提供了输入和收集子系统的输出。模拟该模型运行剩余的三个文件。
whdlexamples.OFDMTransmitterInit
——这个脚本初始化whdlOFDMTransmitter.slx
模型。调用脚本InitFcn
模型的回调。
whdlOFDMTx.slx
——此模型实现了发射机,总可配置性。
whdlexamples.OFDMTxParameters
——这个函数生成所需的参数whdlOFDMTx.slx
模型。调用这个函数模型中模型的工作区。
传送器接口
的whdlOFDMTransmitter.slx
模型显示了OFDM发射机子系统和接口。
模型的输入:
modTypeIndex——选择的符号调制类型适用于负载数据,指定为ufix2标量。这个港口接受的价值观
0
,1
,2
,3
BPSK调制类型相对应,QPSK, 16 qam, 64 qam。
codeRateIndex——选择刺穿了卷积码的编码速率的有效载荷数据,应用指定为ufix2标量。这个港口接受的价值观
0
,1
,2
,3
,对应于代码利率1/2,2/3、3/4,和5/6。
数据——输入有效载荷数据,指定为一个布尔标量。
有效的——有效信号输入数据,指定为一个布尔标量。
所有输入端口采样率30.72 m / s的运行在一个支持不同的配置。金宝app
模型输出:
txData——发射机输出,作为复杂的标量返回fixdt(1, 16日13)数据类型取样1.92议员。
txValid——验证的控制信号txData,作为一个布尔返回标量取样1.92议员。
准备好了——用于示例输入的控制信号数据,modTypeIndex,codeRateIndex值,指定为一个布尔标量取样30.72议员。
指数选择器
该指数选择器子系统样本modTypeIndex和codeRateIndex信号的前沿准备好了信号。子系统保留前面的输出如果不存在上升的边缘准备好了信号。
数据和有效的选择器
选择输入数据和有效的选择器子系统基于有效载荷数据和输入信号准备好了信号。
发射机的结构
的whdlOFDMTx.slx
模型被称为在OFDM发射机子系统。它生成一个OFDM发射机处理输入信号波形的多个阶段,如下所示。
whdlOFDMTx
帧控制器和输入采样器
控制器和输入帧取样器子系统模型的为后期生成控制信号。子系统也生成一个准备好了输出信号用于外部接口。这个子系统的输入样本modTypeIndex和codeRateIndex值随着第一个有效的输入样本。的传输块大小选择当前帧的传输块大小附近地区基于采样modTypeIndex和codeRateIndex值。子系统还生成控制信号头代其次是序言代连同第一个有效样本。序言代指的是一代的党卫军,RS,飞行员的信号。数据生成的控制信号也宣称在9562年之后(最大传输块大小对应于64 - qam调制和编码速率5/6)时钟周期从第一个有效样本或有效的传输块长度后,输入当前帧的数据存储,无论以后是。随着数据控制信号ofdmModReady信号是断言,这表示OFDM调制器块开始调制。
帧发电机
帧发电机子系统生成党卫军,RS,头,飞行员,后来OFDM-modulated和数据信号。生成序言控制信号子系统框架中的发电机子系统,将输入preambleSet控制信号为ss组,rs集,试验设置控制信号,生成SS、RS和试验信号,分别。
生成器/帧同步序列
同步序列子系统接受ss组控制信号产生的控制器和输入帧取样器子系统。它生成考虑党卫军序列的长度。柜台保持递增并返回党卫军的附近地区。一次ss组变得不活跃,计数器停止。附近地区的输出upsampled 2倍保持相同的样品时间的头和数据子系统。参考信号和飞行员子系统运作以类似的方式,将序列存储在附近地区和访问它们时必需的。
生成器/帧头
头子系统接受modTypeIndex,codeRateIndex和fftLenIndex作为输入。一个headerSet信号开始头的形成。头形成功能转换modTypeIndex和codeRateIndex值成二进制的等价物。例如,一个modTypeIndex的价值1
转化为两位吗01
。同样的,codeRateIndex值转换成两个等价。了解更多关于这些指标,请参考发射机规范。fftLenIndex是不可配置的,它的值是固定的吗0
。这是转化为000年
代表一个FFT长度为128。fftLenIndex,modTypeIndex,codeRateIndex表示使用3、2和2位,形成共有7位。此外,7添加多余的部分,所有当前设置0
,形成共有14头位。
这些14位加工如图。为适当的错误检测,一般CRC发电机优化高密度脂蛋白16块垫CRC位(16 12 5 0)
CRC多项式。的卷积编码器块编码这些30位,14 + 16,(171 133)
为多项式和约束长度为7。终止模式下的编码处理,添加6零位,这是7 &endash; 1, CRC填充数据。这些36位导致72位编码后,由于半速率编码。的输出卷积编码器块是一个双元素向量中序列化的序列化子系统使用Serializer1D(高密度脂蛋白编码器)块,导致利率2倍的过渡。序列化数据交叉使用衬垫块72作为最大的块大小和18列数。有关衬垫块的更多信息,请参阅高密度脂蛋白衬垫和Deinterleaver的例子。交叉位BPSK-modulated使用LTE象征调制器块形成一个头的象征。
帧生成器/数据
数据子系统存储输入有效数据,dataIn和过程,通过数据链。
帧生成器/数据/数据和控制信号的一代
数据和控制信号生成子系统由一个内存,输入有效数据,dataIn,存储。一个数据集信号从内存中读取数据。这个子系统生成开始,结束,有效的控制信号的RAM数据。它也选择穿刺向量的基础上codeRateIndex。
帧发电机/数据/数据链
的一般CRC发电机优化高密度脂蛋白块附加一个32位CRC RAM的负载数据[32 26日23日22日16 12 11 10 8 7 5 4 2 1 0]
CRC多项式。这个CRC-padded数据是匆忙的多项式和(1 0 1 1 1 0 1)
为初始状态。的卷积编码器块编码加密数据在终止模式(171 133)
多项式和约束长度7
。编码输出穿刺使用穿刺块与穿刺向量中选择数据和控制信号生成子系统。的输出穿刺块是一个双元素向量和序列化使用Serializer1D(高密度脂蛋白编码器)块。合成数据交错的分界标志子系统子系统数据分割成符号分割输入数据符号,这些符号bit-interleaved使用衬垫块360作为最大的块大小和15列数。支持输入金宝app数据符号大小的衬垫块是60,120年,240年和360年对BPSK, QPSK, 16-QAM,分别和64 - qam调制。有关衬垫块的更多信息,请参阅高密度脂蛋白衬垫和Deinterleaver的例子。的LTE象征调制器块调节交叉数据使用调制模式选择的基础上输入modTypeIndex。
多路复用器
多路复用器子系统的多放映场影剧院党卫军,RS和试验信号的多路复用序言信号子系统和报头和数据信号的多路复用头和数据信号子系统根据有效信号帧生成的发电机子系统。
框架形成和OFDM调制
框架形成和OFDM调制子系统接受preambleData和数据信号,然后多放映场影剧院和写他们双速率双端口RAM(高密度脂蛋白编码器)。这RAM读写数据以不同的速率。RAM数据61.44议员写道。RAM充满了数据,使其形成一个OFDM帧结构如图所示发射机规范部分。
生成OFDM调制器有效子系统生成一个有效的输入信号OFDM调制器块采样率为1.92 m / s的,并生成一个内存地址从内存读取数据。准备的有效信号是同步信号的OFDM调制器。使OFDM有效连续子系统选择OFDM调制器输出的基础上validIn信号。它给出了OFDM有效输出的存在validIn信号和一个虚拟的OFDM符号在缺乏validIn信号。
离散冷杉滤波器
的离散冷杉滤波器块过滤器的输出使OFDM有效连续子系统通带频率为1.4 MHz。的whdlexamples.OFDMTxParameters
函数计算滤波器系数。滤波器的输出是最后的发射机的输出。
运行发射机
发射机与接收机可以连接背靠背的解释高密度脂蛋白OFDM接收机的例子。为更多的信息关于如何使用发射机和接收机仿真软件模型背靠背,参考金宝app高密度脂蛋白OFDM MATLAB引用的例子。
发射机模型运行,OFDMTxVerification.m
这个示例提供的脚本。脚本选择自定义框架配置,有效载荷数据和模拟模型。脚本还收集仿真输出并验证它们。
请注意:这些文件不可用MATLAB搜索路径。用户在本地复制这些文件路径,你必须打开这个例子。
验证和结果
在本节中,OFDM发射机仿真软件模型验证通过比较其输出浮点等效函数,金宝appwhdlexamples.OFDMTx
。有关这个MATLAB函数的更多信息,请参阅高密度脂蛋白OFDM MATLAB引用的例子。比较与MATLAB的Simulink仿真模型的输出函数,运金宝app行OFDMTxVerification.m
脚本。
> > OFDMTxVerification
# # #开始连续模型参考模拟构建# # #模型参考仿真目标whdlOFDMTx是最新的。构建总结0 1模型的建立(1模型已经更新)构建持续时间:0 h 0米10.643秒
HDL代码生成
生成HDL代码对于这个示例,您必须拥有高密度脂蛋白编码器™。使用makehdl
和makehdltb
命令来生成和高密度脂蛋白HDL代码testbench OFDM发射机的子系统。Testbench代时间取决于仿真时间。
生成的HDL代码是合成Xilinx®Zynq®-7000 ZC706评估板。这个职位地点和路线资源利用率下表所示。操作的最大频率230 MHz。
资源使用售予_____片寄存器6373片附近地区4197 RAMB36 5 RAMB18 15 DSP48 24
另请参阅
块
- OFDM调制器|穿刺|LTE象征调制器|一般CRC发电机优化高密度脂蛋白|卷积编码器|离散冷杉滤波器|Serializer1D(高密度脂蛋白编码器)