主要内容

whdlSamplesToFrames

示例流转换为框架的数据

描述

例子

outframes= whdlSamplesToFrames (样品,ctrl)组合框架示例数据流和相应的控制信号。控制信号显示样本的有效性和帧的边界。函数计算最大帧长度从输入数据和控制信号,并删除任何闲置或nonvalid样本数据。

例子

outframes= whdlSamplesToFrames (样品,ctrl,maxlen)组合框架数据,使用最大帧长度。如果一个输入帧所描述的样品大于maxlen、函数框架。

例子

outframes= whdlSamplesToFrames (样品,ctrl,maxlen,交叉)命令框架数据,假设输入样本交叉,什么时候交叉是1 (真正的)。的交叉论证是有效的只有当每个样品都是由多个值。代表每个样本的函数计算的值进行比较的长度样品ctrl

例子

全部折叠

这个例子展示了如何使用LTE涡轮编码器编码数据块,以及如何比较hardware-friendly设计与LTE工具箱™的结果。工作流遵循这些步骤:

  1. 生成帧随机输入样本的MATLAB®。

  2. 编码数据使用LTE工具箱函数lteTurboEncode

  3. 框输入数据转换成一连串的样品和流导入仿真软件®。万博1manbetx

  4. 使用hardware-friendly架构,编码样本运行仿真软件模型,其中包含无线HDL工具箱™块LTE涡轮编码器。万博1manbetx

  5. 出口流编码样本的MATLAB工作区。

  6. 转换示例流回框架数据,并比较与参考数据的帧。

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

rng (0);turboframesize = 40;numframes = 2;txBits =细胞(1、numframes);codedData =细胞(1、numframes);2 = 1:numframes txBits{2} =逻辑(randi ([0 1] turboframesize 1));codedData {2} = lteTurboEncode (txBits {2});结束

仿真软件模型的输入数据进行序列化。万博1manbetx留下足够时间在每一帧之间的帧完全编码之前下一个开始。LTE涡轮编码器的块inframesize+ 16个周期完成一帧的编码。

inframes = txBits;inframesize =大小(inframes {1}, 1);idlecyclesbetweensamples = 0;idlecyclesbetweenframes = inframesize + 16;[sampleIn, ctrlIn] =whdlFramesToSamples (inframesidlecyclesbetweensamples,idlecyclesbetweenframes);

运行仿真软件模型万博1manbetx。仿真时间等于输入样本的数量。由于添加帧之间的空闲周期,流模型的输入数据包括足够的周期完成编码的帧。

sampletime = 1;samplesizeIn = 1;simTime =大小(ctrlIn, 1);modelname =“ltehdlTurboEncoderModel”;open_system (modelname);sim (modelname);

仿真软件万博1manbetx模型出口sampleOut_tsctrlOut_tsMATLAB的工作区。反序列化输出样本,并比较框架数据编码的参考帧。

LTE涡轮编码器的输出样本块交错的奇偶校验位。

Hardware-friendly输出: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

重新排序的样本使用交错选项whdlSamplesToFrames函数。比较重新排序输出帧的参考帧进行编码。

sampleOut = sampleOut ';interleaveSamples = true;outframes = whdlSamplesToFrames (sampleOut (:), ctrlOut, [], interleaveSamples);流(“\ nLTE涡轮编码器\ n”);2 = 1:numframes numBitsDiff =总和(outframes {2} ~ = codedData {2});流([“帧% d:行为和“的高密度脂蛋白模拟不同% d位\ n '),二、numBitsDiff);结束
最大帧大小计算132个样本。LTE涡轮编码器帧1:行为和高密度脂蛋白模拟相差0位第二帧:行为和高密度脂蛋白模拟相差0位

输入参数

全部折叠

流输出样本,指定为一个列向量。向量可以包括空闲周期样本和帧之间。空闲周期被丢弃。帧由流可以是不同的大小。向量长度,N,必须是一个整数的长度的倍数ctrl矩阵,。不同长度意味着每个样品都是由N/值。

LTE标准,例如,在涡轮码率是1/3,所以每个turbo-encoded样本是由一个系统的,和两个校验值:年代n,Pn1,Pn2。在这种情况下,长度的样品一定长度的三倍ctrl

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|fi

控制信号的样本流,指定为一个3矩阵。矩阵包括三个控制信号,开始,结束,有效的,对于每一个样本样品。每一个样本都可以由多个值。在这种情况下,长度的样品必须是一个整数倍数的

LTE标准,例如,在涡轮码率是1/3,所以每个turbo-encoded样本是由一个系统的,和两个校验值:年代n,Pn1,Pn2。在这种情况下,长度的样品一定长度的三倍ctrl

数据类型:逻辑

最大帧长度,指定为一个整数。输入帧样品可以是不同的大小。输出列向量反映了输入框的大小,根据ctrl。如果一个框架大于maxlen、函数框架,并返回一个警告消息。

数据类型:

顺序输出样本相对于输入的顺序,当超过一个值表示每个样本,指定为一个逻辑标量。

例如,1/3 turbo-encoded代表样本[S1P11便士12 S2P21便士22]。重新安排样品,以便系统和奇偶校验值组合在一起,设置交叉1 (真正的)。然后输出顺序[S1年代2P11便士21便士12 P22]

数据类型:逻辑

输出参数

全部折叠

帧的输出样本,作为一个列向量或一个细胞返回数组的列向量。输出列向量的大小反映了输入框的大小,由控制信号ctrl

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|fi

版本历史

介绍了R2017b