主要内容

Turbo编码流样品

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

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

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

  3. 框输入数据转换成一连串的样品和流导入仿真软件®。金宝app

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

  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});结束

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

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

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

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

仿真软件金宝app模型出口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位

另请参阅

功能

相关的话题