主要内容

维特比译码器

利用维特比算法解码卷积编码的数据

  • 库:
  • 通信工具箱/错误检测和校正/卷积

    通信工具箱HDL支持/错误检测和校正/卷积金宝app

  • 维特比译码器块

描述

维特比译码器块解码卷积编码的输入符号产生二进制输出符号利用维特比算法。一个格子结构指定了卷积编码方案。有关更多信息,请参见格子卷积编码的描述

这一块可以处理一些符号在时间更快的性能和仿真期间接受输入,可以具有不同的长度。关于适应信号的更多信息,请参阅适应信号基础知识(金宝app模型)

这个图标显示所有可选块端口启用。

维特比译码器和可选块擦除和复位端口启用

港口

输入

全部展开

卷积编码的码字,指定为一个列向量。如果解码器N输入比特流(也就是说,它可以接收2N可能的输入符号),块的输入向量长度l×N对于一些正整数l。有关更多信息,请参见输入和输出大小,输入值和决策类型,操作模式参数。

这个端口是不知名的,直到第二个输入端口启用。

数据类型:||布尔|int8|int16|int32|uint8|uint16|uint32|ufixn

擦除码字比特,指定为一个binary-valued向量。的值1向量对应的抹去,和价值观0对应于nonerased碎片。

对于这些“抹除”的输入数据流,解码器不更新分支度量。擦除的宽度和样品时间和输入数据端口必须相同。

依赖关系

要启用这个端口,选择启用“抹除”输入端口

数据类型:|布尔

选项重置译码器的状态寄存器,指定为标量值。这个端口接收到非零输入值时,其内存块设置初始状态前处理输入数据。重置解码器寄存器初始状态设置:

  • 全0状态指标为零

  • 所有其他国家指标最大值

  • 回溯记忆为零

使用复位端口在这个块类似于设置操作模式卷积编码器重置零输入通过端口

依赖关系

要启用这个端口,设置操作模式参数连续并选择启用复位输入端口

数据类型:|布尔

输出

全部展开

输出消息,作为一个二进制返回列向量。如果解码器产生K输出比特流(也就是说,它可以产生2K可能的输出符号),块的输出向量长度l×K对于一些正整数l。有关更多信息,请参见输入和输出大小

这个港口是匿名块图标。

数据类型:||布尔|int8|int16|int32|uint8|uint16|uint32|ufix1

参数

全部展开

主要

卷积码的框架描述,指定为一个结构,其中包含的格子描述率KN代码。K输入比特流的数量,N数量的输出流。

您可以使用poly2trellis函数创建框架结构或手动创建它。更多关于这个结构,请参阅格子卷积编码的描述istrellis函数。

格子结构包含这些字段。

符号编码器的输入数量,指定为一个整数等于2K,在那里K是输入比特流的数量。

数据类型:

符号编码器的输出数量,指定为一个整数等于2N,在那里N数量的输出流。

数据类型:

许多州在编码器中,指定为2的幂。

数据类型:

下一个状态的所有组合的当前状态和当前输入,指定为一个整数矩阵。矩阵大小必须numStates2K

数据类型:

输出所有组合的当前状态和当前输入,指定为一个矩阵的八进制数字。矩阵大小必须numStates2K

数据类型:

选择视图和启用该参数穿刺向量参数。

穿刺模式向量穿刺解码数据,指定为一个列向量。向量必须包含1年代和0年代,0表明刺破位的位置。这种击穿模式必须与穿刺卷积编码器使用的模式。

对于一些常用的穿刺模式特定的利率和多项式,看到Yasuda[4],Haccoun[5],开始[6]引用。

依赖关系

这个参数只出现当你选择戳破了代码参数。

选择要添加这个参数时代输入端口。

译码器决定类型,指定为Unquantized,艰难的决定,或软的决定

  • Unquantized——解码器使用欧氏距离计算分支度量。输入数据必须是实值向量双或单精度unquantized软值。逻辑的对象映射积极的价值观1年代和负逻辑0年代

  • 艰难的决定——解码器使用汉明距离来计算分支度量。输入必须是一个艰难的决定值的向量,它们0年代或1年代。输入的数据类型必须是双精度,单精度、逻辑或数字。

  • 软的决定——解码器使用汉明距离来计算分支度量。输入需要矢量量化软值表示为0和之间的整数2SoftInputWordLength- 1。输入的数据类型必须是双精度,单精度、逻辑或数字。此外,您可以指定数据类型作为一个无符号和任何范围定点对象使用fi(定点设计师)对象与一个字长(SoftInputWordLength)等于你指定的单词长度数量的比特软决定参数。0被认为是最自信02SoftInputWordLength- 1最自信的1

软输入单词长度表示为每个量子化的软输入值的比特数,指定为一个整数。

依赖关系

这个参数只出现当你设置决策类型参数软的决定

选择该参数错误如果量化输入值的范围。如果你不选择这个参数,输入值的范围将被忽略。

依赖关系

这个参数只出现当你设置决策类型参数艰难的决定软的决定

回溯深度,指定为一个整数,表示数量的格子分支用于构造每个回溯路径。

回溯深度影响解码延迟。解码延迟是零的数量符号之前第一个解码符号输出。

  • 连续操作模式下,解码延迟等于回溯深度符号的数量。

  • 截断或终止操作模式下,解码延迟是零。在这种情况下,回溯深度必须小于或等于符号在每个输入的数量。

一般估计,一个典型的回溯深度值大约是两到三倍(ConstraintLength- 1)/ (1 -coderate)。约束长度的代码,ConstraintLength,等于(log2 (格子numStates)+ 1)。的coderate等于(K/N)×(长度(PuncturePattern)/笔(PuncturePattern)

K输入符号的数量,N是输出符号的数量,和PuncturePattern是穿刺模式向量。

例如,应用这种一般估计,在这些近似结果回溯深度。

  • 1/2码率有回溯的深度5 (ConstraintLength- 1)

  • 2/3的代码有回溯深度7.5 (ConstraintLength- 1)

  • 3/4的代码有回溯深度10 (ConstraintLength- 1)

  • 率5/6的代码有一个回溯的深度15 (ConstraintLength- 1)

有关更多信息,请参见[7]

方法连续输入帧之间的过渡,指定为一个模式值。

  • 连续——块保存其内部状态指标的每个输入,用于下一帧。每个回溯路径独立处理。这种模式导致解码延迟回溯深度×K零比特率K/N卷积码。K信息符号的数量,N是编码符号的数量。如果启用复位输入端口被选中时,解码器状态重置如果Rst端口接收到一个非零值。

  • 截断——块独立对每个输入。回溯路径开始在州最好的指标,总是以全0状态。当相应的这种模式是合适的卷积编码器块有其操作模式设置为截断(重置每一帧)。这个模式没有输出延迟。

  • 终止——块独立对每个输入,和回溯路径总是在全0开始和结束状态。这种模式是合适的,当未编码的消息信号(即相应的输入卷积编码器块)有足够的0年底每个输入前馈编码器的填补所有的内存寄存器。具体地说,至少有k *马克斯(constr-1)零输入,年底的编码器k输入流和约束长度的向量若干(使用多项式描述)。编码器反馈,如果相应的这种模式是合适的卷积编码器块有操作模式设置为通过附加位终止格子

请注意

解码器状态重置在每一个时间步当块输入输出序列期间不同长度的模拟和设置操作模式截断终止

当输入信号只包含一个符号,使用连续操作模式。

选择要添加这个参数Rst输入端口。

依赖关系

这个参数只出现当你设置操作模式参数连续

选择延迟重置该参数编码的译码器,直到计算接收到的数据在当前时间步。你必须为高密度脂蛋白支持启用该选项。金宝app生成需要高密度脂蛋白HDL代码编码器™软件。

依赖关系

这个参数只出现当你设置操作模式参数连续并选择启用复位输入端口

数据类型

状态度量词长度指定为一个正整数。

输出数据类型,指定为,,布尔,int8,uint8,int16,uint16,int32,或uint32,或一组“通过内部继承规则”的最小的无符号整数

  • 当设置为的最小的无符号整数选择,输出数据类型是基于使用的设置硬件实现面板模型的配置参数对话框。如果ASIC / FPGA被选中的硬件实现窗格中,输出数据类型ufix (1)。所有其他选项,它是一个无符号整数最小的字长对应字符指定的值(例如,uint8)。

  • 当设置为“通过内部继承规则”块:

    • 为双输入双输出数据类型

    • 单对单的输入输出数据类型

    • 的行为类似于的最小的无符号整数选择所有其他数据类型的输入

块特征

数据类型

布尔||不动点一个|整数|

多维信号

没有

适应信号

是的

一个输入可以ufix(1)艰难的决定,和ufix (N)为软决策;只输出可以ufix (1)。

更多关于

全部展开

引用

[1]克拉克,乔治·C。,和J. Bibb Cain.纠错编码为数字通信。通信理论的应用。纽约:充气出版社,1981年。

[2]Gitlin,理查德·D。,Jeremiah F. Hayes, and Stephen B. Weinstein.数据通信原理。通信理论的应用。纽约:充气出版社,1992年。

[3]海勒,J。,和I. Jacobs. “Viterbi Decoding for Satellite and Space Communication.”IEEE通信技术19日,没有。5(1971年10月):835 - 48。https://doi.org/10.1109/TCOM.1971.1090711。

[4]Yasuda Y。,K。K一个年代hiki, and Y. Hirata. “High-Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding.”IEEE通信32岁的没有。3(1984年3月):315 - 19所示。https://doi.org/10.1109/TCOM.1984.1096047。

[5]Haccoun D。,和G. Begin. “High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.”IEEE通信37岁的没有。(1989年11月11日):1113 - 25所示。https://doi.org/10.1109/26.46505。

[6]开始,G。,D. Haccoun, and C. Paquin. “Further Results on High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.”IEEE通信38岁的没有。(1990年11月11日):1922 - 28。https://doi.org/10.1109/26.61470。

[7]Moision B。“一个截断深度对卷积码的经验法则。”在信息理论与应用研讨会(2008年1月27日- 2008年2月1日,圣地亚哥,加利福尼亚州),555 - 557。纽约:IEEE 2008。

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

版本历史

之前介绍过的R2006a

全部展开