我正在尝试生成一组长度为 n 并具有最小汉明距离 dmin 的线性块码字。我了解汉明码,但它们对 n 不灵活。我能想到的一种可能的方法是蛮力搜索。但是当试图在 MATLAB 中编写代码时,我不确定如何继续。
谷歌搜索帮助我找到了这个链接,它完全符合我的要求。 代码生成工具
此外,我将不胜感激任何其他可以以更有效的方式实现这一目标的方法/算法。
我正在尝试生成一组长度为 n 并具有最小汉明距离 dmin 的线性块码字。我了解汉明码,但它们对 n 不灵活。我能想到的一种可能的方法是蛮力搜索。但是当试图在 MATLAB 中编写代码时,我不确定如何继续。
谷歌搜索帮助我找到了这个链接,它完全符合我的要求。 代码生成工具
此外,我将不胜感激任何其他可以以更有效的方式实现这一目标的方法/算法。
您并没有真正对代码系列(甚至字母表)施加任何限制。对于真正的应用程序,您确实需要对您想要的代码设置更多限制。距离可能并不那么重要(例如,许多 LDPC 码的最小距离非常低,但您需要解码远远超出距离/2 才能接近许多通道的容量)。
蛮力搜索代码是一个坏主意,因为大多数代码都很难解码(您需要一些结构来有效地解码)。此外,计算最小距离通常是 NP 困难的(Vardy,1997)。
这是一个代码示例,它在许多应用程序(CD、RAID 阵列、电视、Voyager 任务等)中运行良好。Reed-Solomon 码是一系列最大距离可分离 (MDS) 码,即对于给定长度 n 和信息符号数量 k,它们具有可能的最大距离 (n-k+1)。
它们也很容易解码,例如通过 Peterson-Gorenstein-Zierler 算法或 Berklenkamp-Massey 算法(更有效)。您也可以将这些应用于广义的里德所罗门代码(有关详细信息,请参阅 RM Roth,编码理论简介)。许多其他代码都与这个系列有关。例如,BCH 码是 RS 码的交替码。