维特比解码器
使用维特比算法解码卷积编码数据
类型: ViterbiDecoder
图书馆中的路径:
|
端口
输出
端口_1 - 输出信息
二进制矢量列
以二进制向量列形式返回的输出信息。如果解码器输出 输出比特流(即可以输出 可能的输出符号),则对于某个正整数 ,块输出向量的长度等于 。
更多信息,请参阅输入和输出尺寸。
数据类型: Float32
, Float64
, Int8
, Int16
, Int32
, UInt8
, UInt16
, UInt32
, Bool
参数
编码数据参数
Trellis 结构 - 通过编码网格描述卷积码
poly2trellis(7, [171 133]) (默认值)
卷积码的网格描述,以速率为 的编码的网格结构给出,其中 是输入比特流的数量, 是输出比特流的数量。
要创建网格结构,可以使用 poly2trellis
函数或手动设置。
网格结构包含以下字段:
-
numInputSymbols` - 编码器输入的符号数,设置为等于 的整数,其中 K 是输入比特流的数量。
-
numOutputSymbols` - 到达编码器输出端的符号数,设置为等于 的整数,其中 K 是输出比特流的数量。
-
numStates` - 编码设备的状态数,指定为 2 级。
-
nextStates
- 当前状态和当前输入的所有组合的下一个状态,以整数矩阵形式给出。矩阵的大小必须与numStates
相同, 。 -
outputs
- 当前状态和当前输入的所有组合的输出,以八进制数矩阵形式给出。矩阵大小应为`numStates`,网址为 。
分支度量计算参数
决定类型 - 解码器决定类型
硬解码(默认) | `未量化的
解码器的判定类型,可供选择的选项:
-
硬判定"- 解码器使用海明距离计算分支度量。输入必须是代表 0 或 1 的硬判定值向量。 输入的数据类型必须是双精度、单精度、逻辑或数值型。
-
未量化"- 解码器使用欧氏距离计算分支度量。输入数据必须是未量化的双精度或单精度实数值向量。该对象将正值转换为逻辑 1,将负值转换为逻辑 0。
回溯解码参数
回溯深度 - 回溯深度
34(默认)
|`正整数
回溯深度指定为整数,表示用于构建每个回溯路径的网格分支数。
跟踪深度会影响解码延迟。解码延迟是指输出中第一个解码字符之前的零字符数。
在连续模式操作中,解码延迟等于跟踪深度字符数。
一般估计,典型的跟踪深度值约为 的两到三倍,其中
-
- 是代码中约束的长度;
-
;
-
- 是输入符号的数量;
-
- 输出符号数;
-
- 穿刺模式向量。
例如,如果我们应用这一一般估计,就能得到这些近似的轨迹深度:
-
速率为 1/2 的编码的跟踪深度为 。
-
速度为 2/3 的代码的跟踪深度为 。
-
速度为 3/4 的代码的跟踪深度为 。
-
速度为 5/6 的代码的跟踪深度为 。
更多信息请参见7。
操作模式 - 终止编码帧的方法
连续(默认) | `截断
编码帧终止方法指定为这些模式值之一:
-
Continuous
- 数据块在每次输入结束时保留其内部状态度量,以供下一帧使用。每条跟踪路径都是独立处理的。该模式会导致 的卷积码解码延迟为 Traceback depth 零比特,其中 为信息字符数, 为编码字符数。 -
截断"--程序块独立处理每个输入。跟踪路径从具有最佳度量的状态开始,并始终以 "全零 "状态结束。如果相应块卷积编码器 的*操作模式*参数设置了 "截断(每帧重置)",则适合使用此模式。该模式下没有输出延迟。
如果程序块输出序列的长度在仿真期间发生变化,且设置了 "截断 "操作模式,则解码器状态将在每个输入时间步重置。
如果输入信号只包含一个字符,请使用 "连续 "模式。
更多信息
输入和输出数据的大小
如果卷积码使用的字母表有 个可能的符号,那么对于某个正整数 ,输入向量的长度必须是 。同样,如果解码数据使用的是 可能的输出符号字母表,那么输出向量的长度将是 。
该程序块接受输入信号作为列向量, 。对于大小可变的输入信号, 可在仿真过程中更改。程序块的运行由运行模式参数控制。
下表总结了输入和输出端口支持的数据类型。
端口 | 支持的数据类型 |
---|---|
输入 |
|
输出 |
|
输入数据和解决方案类型
输入向量项为双极性实数、二进制或整数数据,具体取决于*判定类型*参数的值。
决定类型 | 可能的解码器输入条目 | 值的解释 | 分支度量的计算 |
---|---|---|---|
未量化 |
实数。 超出 范围的输入值将分别截断为 和 。 |
正实数:逻辑零。 负实数:逻辑 1。 |
欧氏距离 |
硬判定 |
0, 1 |
0:逻辑零。 1:逻辑 1。 |
半径 |
文学
-
Clark, George C. 和 J. Bibb Cain.Error-Correction Coding for Digital Communications。通信理论的应用》。纽约:Plenum 出版社,1981 年。
-
Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Wee.Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein.Data _Communications Principles.New York: Plenum Press, 1992.
-
Heller, J., and I. Jacobs.Jacobs."卫星和空间通信的维特比解码》。IEEE Transactions on Communication Technology 19, no.5 (October 1971):835-48.https://doi.org/10.1109/TCOM.1971.1090711.
-
Yasuda, Y., K.Kashiki, and Y. Hirata.Hirata."用于软决策维特比解码的高速率打点卷积码"。IEEE Transactions on Communications 32, no.3 (March 1984):315-19.https://doi.org/10.1109/TCOM.1984.1096047.
-
Haccoun, D., and G. Begin."High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding." IEEE Transactions of Communications 37, no.IEEE Transactions on Communications 37, no.11 (November 1989):1113-25.https://doi.org/10.1109/26.46505.
-
Begin, G., D.Haccoun, and C.Paquin."用于维特比和序列解码的高速率打点卷积码的进一步研究成果"。IEEE Transactions on Communications 38, no.11 (November 1990):1922-28.https://doi.org/10.1109/26.61470.
-
Moision, B."A Truncation Depth Rule of Thumb for Convolutional Codes." In Information Theory and Applications Workshop (January 27 2008-February 1 2008, San Diego, California, 555-557.In Information Theory and Applications Workshop (January 27 2008-February 1 2008, San Diego, California), 555-557.纽约:IEEE,2008 年。