在编码理论 中,译码 (英语:decoding 码元 的码字 映射 到码字的方法。这些方法通常用于在有噪信道 (如二元对称信道 
记号 
  
    
      
        C 
        ⊂ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle C\subset \mathbb {F} _{2}^{n}} 
      
  
    
      
        n 
       
     
    {\displaystyle n} 
      二元码 
  
    
      
        x 
        , 
        y 
       
     
    {\displaystyle x,y} 
      
  
    
      
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle \mathbb {F} _{2}^{n}} 
      
  
    
      
        d 
        ( 
        x 
        , 
        y 
        ) 
       
     
    {\displaystyle d(x,y)} 
      
 理想观察者译码 
给定信号 
  
    
      
        x 
        ∈ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle x\in \mathbb {F} _{2}^{n}} 
      理想观察者译码 会生成码字 
  
    
      
        y 
        ∈ 
        C 
       
     
    {\displaystyle y\in C} 
      
  
    
      
        
          P 
         
       
     
    {\displaystyle \mathbb {P} } 
      y x 例如,在传输后可以选择最接近消息 
  
    
      
        x 
       
     
    {\displaystyle x} 
      
  
    
      
        y 
       
     
    {\displaystyle y} 
      
译码约定 所有码字都不满足期望概率:可能会有多于一个码字其转变为接收到的消息的似然性相等。在此情况下,发送方和接收方必须提前对译码约定达成一致。广泛使用的约定有:
请求重发码字 -- 自动重传请求  
从最接近码字的集合中随机选取码字  最大似然译码 
给定一个接收到的码字 
  
    
      
        x 
        ∈ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle x\in \mathbb {F} _{2}^{n}} 
      最大似然 译码最大化 
  
    
      
        
          P 
         
       
     
    {\displaystyle \mathbb {P} } 
      x y 的码字 
  
    
      
        y 
        ∈ 
        C 
       
     
    {\displaystyle y\in C} 
      
  
    
      
        y 
       
     
    {\displaystyle y} 
      条件下 ,接收到 
  
    
      
        x 
       
     
    {\displaystyle x} 
      贝叶斯定理 ,
  
    
      
        
          
            
              
                
                  P 
                 
                ( 
                x 
                
                  
                     received 
                   
                 
                ∣ 
                y 
                
                  
                     sent 
                   
                 
                ) 
               
              
                
                 
                = 
                
                  
                    
                      
                        P 
                       
                      ( 
                      x 
                      
                        
                           received 
                         
                       
                      , 
                      y 
                      
                        
                           sent 
                         
                       
                      ) 
                     
                    
                      
                        P 
                       
                      ( 
                      y 
                      
                        
                           sent 
                         
                       
                      ) 
                     
                   
                 
               
             
            
              
                
                 
                = 
                
                  P 
                 
                ( 
                y 
                
                  
                     sent 
                   
                 
                ∣ 
                x 
                
                  
                     received 
                   
                 
                ) 
                ⋅ 
                
                  
                    
                      
                        P 
                       
                      ( 
                      x 
                      
                        
                           received 
                         
                       
                      ) 
                     
                    
                      
                        P 
                       
                      ( 
                      y 
                      
                        
                           sent 
                         
                       
                      ) 
                     
                   
                 
                . 
               
             
           
         
       
     
    {\displaystyle {\begin{aligned}\mathbb {P} (x{\mbox{ received}}\mid y{\mbox{ sent}})&{}={\frac {\mathbb {P} (x{\mbox{ received}},y{\mbox{ sent}})}{\mathbb {P} (y{\mbox{ sent}})}}\\&{}=\mathbb {P} (y{\mbox{ sent}}\mid x{\mbox{ received}})\cdot {\frac {\mathbb {P} (x{\mbox{ received}})}{\mathbb {P} (y{\mbox{ sent}})}}.\end{aligned}}} 
      在固定 
  
    
      
        
          P 
         
        ( 
        x 
        
          
             received 
           
         
        ) 
       
     
    {\displaystyle \mathbb {P} (x{\mbox{ received}})} 
      
  
    
      
        x 
       
     
    {\displaystyle x} 
      
  
    
      
        
          P 
         
        ( 
        y 
        
          
             sent 
           
         
        ) 
       
     
    {\displaystyle \mathbb {P} (y{\mbox{ sent}})} 
      
  
    
      
        y 
       
     
    {\displaystyle y} 
      
  
    
      
        
          P 
         
        ( 
        x 
        
          
             received 
           
         
        ∣ 
        y 
        
          
             sent 
           
         
        ) 
       
     
    {\displaystyle \mathbb {P} (x{\mbox{ received}}\mid y{\mbox{ sent}})} 
      
  
    
      
        
          P 
         
        ( 
        y 
        
          
             sent 
           
         
        ∣ 
        x 
        
          
             received 
           
         
        ) 
       
     
    {\displaystyle \mathbb {P} (y{\mbox{ sent}}\mid x{\mbox{ received}})} 
      
与理想观察者译码一样,对于非唯一译码,也需要事先达成译码约定。
最大似然译码问题可以建模为整数规划 问题。[1] 
最大似然译码问题是“乘积函数边缘化"问题(已通过运用广义分配律 [2] 
 最小距离译码 
给定一个接收到的码字 
  
    
      
        x 
        ∈ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle x\in \mathbb {F} _{2}^{n}} 
      最小距离译码 会选出使汉明距离 最小化的码字 
  
    
      
        y 
        ∈ 
        C 
       
     
    {\displaystyle y\in C} 
      
  
    
      
        d 
        ( 
        x 
        , 
        y 
        ) 
        = 
        # 
        { 
        i 
        : 
        
          x 
          
            i 
           
         
        ≠ 
        
          y 
          
            i 
           
         
        } 
       
     
    {\displaystyle d(x,y)=\#\{i:x_{i}\not =y_{i}\}} 
      即选取尽可能接近 
  
    
      
        x 
       
     
    {\displaystyle x} 
      
  
    
      
        y 
       
     
    {\displaystyle y} 
      
注意到如果一个离散无记忆信道 
  
    
      
        p 
       
     
    {\displaystyle p} 
      最小距离译码 等价于最大似然译码 ,因为若
  
    
      
        d 
        ( 
        x 
        , 
        y 
        ) 
        = 
        d 
        , 
         
     
    {\displaystyle d(x,y)=d,\,} 
      则:
  
    
      
        
          
            
              
                
                  P 
                 
                ( 
                y 
                
                  
                     received 
                   
                 
                ∣ 
                x 
                
                  
                     sent 
                   
                 
                ) 
               
              
                
                 
                = 
                ( 
                1 
                − 
                p 
                
                  ) 
                  
                    n 
                    − 
                    d 
                   
                 
                ⋅ 
                
                  p 
                  
                    d 
                   
                 
               
             
            
              
                
                 
                = 
                ( 
                1 
                − 
                p 
                
                  ) 
                  
                    n 
                   
                 
                ⋅ 
                
                  
                    ( 
                    
                      
                        p 
                        
                          1 
                          − 
                          p 
                         
                       
                     
                    ) 
                   
                  
                    d 
                   
                 
               
             
           
         
       
     
    {\displaystyle {\begin{aligned}\mathbb {P} (y{\mbox{ received}}\mid x{\mbox{ sent}})&{}=(1-p)^{n-d}\cdot p^{d}\\&{}=(1-p)^{n}\cdot \left({\frac {p}{1-p}}\right)^{d}\\\end{aligned}}} 
      该式(由于 p  小于二分之一)是通过最小化 d  来最大化的。
最小距离译码也叫最近邻居译码 。可以用标准阵列 
出现差错的概率 
  
    
      
        p 
       
     
    {\displaystyle p} 
       
差错是独立事件 - 消息中某一位置出现差错不会影响其他位置 这些假设对于在二元对称信道 
与其他译码方法一样,对于非唯一译码,需要事先达成译码约定。
 校正子译码 
伴随式译码 (英语:syndrome decoding 有噪信道 (即会有产生差错的信道)译码线性码 最小距离译码 使用一个简化的查找表。线性码允许这种译码。
假设 
  
    
      
        C 
        ⊂ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle C\subset \mathbb {F} _{2}^{n}} 
      奇偶检验矩阵 为 
  
    
      
        H 
       
     
    {\displaystyle H} 
      
  
    
      
        n 
       
     
    {\displaystyle n} 
      
  
    
      
        d 
       
     
    {\displaystyle d} 
      
  
    
      
        C 
       
     
    {\displaystyle C} 
      
  
    
      
        t 
        = 
        
          ⌊ 
          
            
              
                d 
                − 
                1 
               
              2 
             
           
          ⌋ 
         
       
     
    {\displaystyle t=\left\lfloor {\frac {d-1}{2}}\right\rfloor } 
      个错的能力(因为如果产生了不到 
  
    
      
        t 
       
     
    {\displaystyle t} 
      
现在假设码字 
  
    
      
        x 
        ∈ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle x\in \mathbb {F} _{2}^{n}} 
      
  
    
      
        e 
        ∈ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle e\in \mathbb {F} _{2}^{n}} 
      
  
    
      
        z 
        = 
        x 
        + 
        e 
       
     
    {\displaystyle z=x+e} 
      
  
    
      
        
          | 
         
        C 
        
          | 
         
       
     
    {\displaystyle |C|} 
      
  
    
      
        z 
       
     
    {\displaystyle z} 
      
  
    
      
        y 
        ∈ 
        C 
       
     
    {\displaystyle y\in C} 
      
  
    
      
        c 
        ∈ 
        C 
       
     
    {\displaystyle c\in C} 
      
  
    
      
        d 
        ( 
        c 
        , 
        z 
        ) 
        ≤ 
        d 
        ( 
        y 
        , 
        z 
        ) 
       
     
    {\displaystyle d(c,z)\leq d(y,z)} 
      伴随式译码利用了奇偶校验矩阵的性质:对于所有 
  
    
      
        x 
        ∈ 
        C 
       
     
    {\displaystyle x\in C} 
      
  
    
      
        H 
        x 
        = 
        0 
       
     
    {\displaystyle Hx=0} 
      接收到的 
  
    
      
        z 
        = 
        x 
        + 
        e 
       
     
    {\displaystyle z=x+e} 
      伴随式 定义为:
  
    
      
        H 
        z 
        = 
        H 
        ( 
        x 
        + 
        e 
        ) 
        = 
        H 
        x 
        + 
        H 
        e 
        = 
        0 
        + 
        H 
        e 
        = 
        H 
        e 
       
     
    {\displaystyle Hz=H(x+e)=Hx+He=0+He=He} 
      在二元对称信道 
  
    
      
        
          2 
          
            n 
            − 
            k 
           
         
       
     
    {\displaystyle 2^{n-k}} 
      
  
    
      
        H 
        e 
       
     
    {\displaystyle He} 
      
  
    
      
        e 
       
     
    {\displaystyle e} 
      标准阵列译码 
不过,在假设传输中不会超过 
  
    
      
        t 
       
     
    {\displaystyle t} 
      
  
    
      
        H 
        e 
       
     
    {\displaystyle He} 
      
  
    
      
        
          
            
              
                
                  ∑ 
                  
                    i 
                    = 
                    0 
                   
                  
                    t 
                   
                 
                
                  
                    
                      ( 
                     
                    
                      n 
                      i 
                     
                    
                      ) 
                     
                   
                 
                < 
                
                  | 
                 
                C 
                
                  | 
                 
               
             
           
         
       
     
    {\displaystyle {\begin{matrix}\sum _{i=0}^{t}{\binom {n}{i}}<|C|\\\end{matrix}}} 
      该表是针对所有可能的错误图样 
  
    
      
        e 
        ∈ 
        
          
            F 
           
          
            2 
           
          
            n 
           
         
       
     
    {\displaystyle e\in \mathbb {F} _{2}^{n}} 
      
  
    
      
        H 
        e 
       
     
    {\displaystyle He} 
      
已知 
  
    
      
        e 
       
     
    {\displaystyle e} 
      
  
    
      
        x 
       
     
    {\displaystyle x} 
      
  
    
      
        x 
        = 
        z 
        − 
        e 
       
     
    {\displaystyle x=z-e} 
       部分响应最大似然法 
部分响应最大似然法(PRML)是一种将弱模拟信号从磁盘或磁带驱动器的的磁头转换成数字信号的方法。
 维特比译码器 
维特比译码器使用维特比算法译码已经用基于卷积码的前向错误更正 编码的比特流。
汉明距离 用来作为硬判决维特比译码器的度量。
欧氏距离 的平方 用作软判决译码器的度量。
 参见 来源 参考文献 
^ Feldman, Jon; Wainwright, Martin J.; Karger, David R. Using Linear Programming to Decode Binary Linear Codes 51  (3). March 2005: 954–972. doi:10.1109/TIT.2004.842696    ^ Aji, Srinivas M.; McEliece, Robert J. The Generalized Distributive Law. IEEE Transactions on Information Theory. March 2000, 46  (2): 325–343. doi:10.1109/18.825794