2026a

# gfweight


计算线性分组码的最小距离

函数库: TyCommunication

# 语法

wt = gfweight(genmat)
wt = gfweight(genmat, "gen")
wt = gfweight(parmat, "par")
wt = gfweight(genpoly, n)

# 描述

线性分组码的最小距离或最小权重被定义为任意 n 元组(即码字)中非零项的最小正数。

wt = gfweight(genmat) 返回生成矩阵为 genmat 的线性块码的最小距离。


wt = gfweight(genmat, "gen") 返回生成矩阵为 genmat 的线性块码的最小距离。


wt = gfweight(parmat, "par") 返回奇偶校验矩阵为 parmat 的线性块码的最小距离。


wt = gfweight(genpoly, n) 返回码字长度为 n 且其生成多项式由 genpoly 表示的循环码的最小距离。genpoly 是一个多项式特征向量或一个行向量,它以升序的形式给出生成多项式的系数。

# 示例

计算线性分组码的最小距离
使用以下几种方法计算循环码的最小距离。

为 (7, 4) 循环码创建生成多项式。

using TyCommunication
n = 7
genpoly1 = cyclpoly(n, 4)

使用以下公式计算循环码的最小距离:

  1. 生成多项式 genmat;

  2. 奇偶校验矩阵 parmat;

  3. 生成多项式 genpoly;

  4. 指定为字符向量的生成多项式。

parmat, genmat = cyclgen(n, genpoly1)
wts = [
    gfweight(genmat, "gen")
    gfweight(parmat, "par")
    gfweight(genpoly1, n)
    gfweight("1+x^2+x^3", n)
]
wts = 4-element Vector{Int64}:
 3
 3
 3
 3

# 另请参阅

hammgen | cyclpoly | bchgenpoly