主要内容

whdlframestosplass

将基于帧的数据转换为样本流

描述

[[样品,,,,Ctrl,,,,] = WHDLFRAMESTOMPLES(将基于帧的数据序列化为样品流和随附的控制信号。控制信号表示样品的有效性和框架的边界。该功能还返回向量,,框架大小对应于每个样品。

例子

[[样品,,,,Ctrl,,,,] = WHDLFRAMESTOMPLES(,,,,后样品,,,,框后在样本流中插入空闲周期,样品。指定要在输入样本之间插入的空闲周期的数量,后样品,以及框架之间的空闲周期的数量,框后

例子

[[样品,,,,Ctrl,,,,] = WHDLFRAMESTOMPLES(,,,,后样品,,,,框后,,,,样品创建一个样本流,每个样本由样品值。功能插入样品要求每个空闲周期的零。这Ctrl向量的大小与何时相同样品是1。

例子

[[样品,,,,Ctrl,,,,] = WHDLFRAMESTOMPLES(,,,,后样品,,,,框后,,,,样品,,,,交错假设输入样品交错时,订购样品流交错是1(真的)。这交错参数仅在样品大于1。

例子

全部收缩

此示例显示了如何使用LTE Turbo编码器块编码数据,以及如何将硬件友好的设计与LTE Toolbox™的结果进行比较。工作流程遵循以下步骤:

  1. 在MATLAB®中生成随机输入样品的帧。

  2. 使用LTE工具箱功能编码数据lteturboencode

  3. 将框架输入数据转换为样本流,然后将流导入Simulink®。金宝app

  4. 要使用硬件友好的体系结构编码样品,请运行Simulink模型,该模型包含无线HDL Toolbox™Block LTE LTE Turbo编金宝app码器。

  5. 将编码样品的流导出到MATLAB工作区。

  6. 将示例流转换回构架数据,并将帧与参考数据进行比较。

生成输入数据帧。使用参考编码数据使用lteturboencode

RNG(0);turboframesize = 40;numframes = 2;txbits =单元格(1,numframes);codeddata =单元格(1,numframes);为了ii = 1:numframes txbit {ii} =逻辑(randi([0 1],turboframeize,1));codeddata {ii} = lteturboencode(txbits {ii});结尾

Simulink模型的输入数据序列化。金宝app在下一个帧开始之前,在每个帧之间留出足够的时间,以使每个框架完全编码。LTE涡轮编码器块Indrameize+ 16个周期以完成框架的编码。

inframes = txbit;inframeize = size(inframes {1},1);idlecyclesbetweensamples = 0;idleCyclesBetexeenframes = inframeize+16;[samplein,ctrlin] =...WHDLFRAMESTOMPLES(侵犯,...idlecyclesbetweensamples,...idlecyclesbetweenframes);

运行Simuli金宝appnk模型。仿真时间等于输入样本的数量。由于帧之间增加了空闲周期,因此流输入数据包括足够的循环,以使模型完成两个帧的编码。

SampleTime = 1;samplesizein = 1;simTime = size(ctrlin,1);modelName ='ltehdlturboencocoderodelel';Open_System(modelName);SIM(modelName);

Simu金宝applink模型导出sampleout_tsctrlout_ts返回MATLAB工作区。应对输出样本进行挑选,并将框架数据与参考编码帧进行比较。

LTE涡轮编码器块的输出样品与奇偶校验位交织在一起。

硬件友好的输出:S_1 P1_1 P2_1 S2 P1_2 P2_2 ... SN P1_N P2_N

LTE工具箱输出:S_1 S_2 ... S_N P1_1 P1_2 ... P1_n P2_1 P2_2 ... P2_N

使用Interleave选项重新排序样品WHDLSAMPLESTOFRAMES功能。将重新排序的输出帧与参考编码帧进行比较。

sampleout = sampleout';Interleaves样品= true;OUTFRAMES = WHDLSAMPLESTOFRAMES(sampleOut(:),ctrlout,[],Interleaves样本);fprintf('\ nlte涡轮编码器\ n');为了ii = 1:numframes numbitsdiff = sum(Outframes {ii}〜= codeddata {ii});fprintf(['帧%d:行为和'...'HDL仿真因%d位\ n'不同],ii,numbitsdiff);结尾
计算为132个样本的最大帧大小。LTE Turbo编码器框架1:行为和HDL模拟不同的框架框架2:行为和HDL模拟不同,用0位不同

输入参数

全部收缩

输入样品的框架,指定为列向量或列向量的单元格数组。单元阵列中的帧可以是不同的尺寸。

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑|fi

插入样品之间的空闲循环的数量,指定为整数。功能插入样品每个空闲周期的零,并将所有控制信号设置为0(错误的)。

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64

插入框架之间的空闲循环数,指定为整数。功能插入样品每个空闲周期的零,并将所有控制信号设置为0(错误的)。

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64

表示每个样品的值数量,指定为正整数。该功能返回每个功能的一组控制信号样品值。

例如,在LTE标准中,涡轮代码速率为1/3,因此每个涡轮编码的样品由一个系统和两个奇偶校验值表示:sn,,,,pn1, 和pn2。在这种情况下,设置样品3

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64

相对于输入顺序的输出样本的顺序,当多个值代表每个样本(指定为逻辑标量)时。

例如,对于1/3涡轮编码的样品,可以订购输入框架[S_1 P1_1 P2_1 S_2 P1_2 P2_2]或者[S_1 S_2 P1_1 P1_2 P2_1 P2_2]。在第一种情况下,默认输出将与输入相同。要达到第二个输入的输出顺序,请设置交错到1(真的)。

数据类型:逻辑

输出参数

全部收缩

样品流,作为列向量返回。为了n输入框架中的样本,输出为n+样品×((n×idlecyclesbetweensplame+idlecyclesbetwewenframes)每个帧值。

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑|fi

示例流伴随的控制信号,返回m-by-3矩阵。矩阵包括三个控制信号,开始,,,,结尾, 和有效的,每个样品元素样品。为了n输入样本中F帧,mn+n×idlecyclesbetweensplame+F×idlecyclesbetwewenframes。当您将此变量导入Simulink时金宝app®, 用一个样品控制巴士创建者块将信号转换为由无线HDL Toolbox™块使用的总线类型。

数据类型:逻辑

框架长度,作为整数的列向量返回。该值是每个相应帧中有效样本的数量样品元素样品。该向量的长度与Ctrl

数据类型:双倍的

版本历史记录

在R2017b中引入