畳み込み符号
H 1 ( z ) = 1 + z − 1 + z − 3 1 + z − 2 + z − 3 {\displaystyle H_{1}(z)={\frac {1+z^{-1}+z^{-3}}{1+z^{-2}+z^{-3}}}}
H 2 ( z ) = 1 {\displaystyle H_{2}(z)=1}
m {\displaystyle m} を次のように定義する。
m = max i polydeg  ( H i ( 1 / z ) ) {\displaystyle m=\max _{i}\operatorname {polydeg} (H_{i}(1/z))}
ここで、任意の有理関数 f ( z ) = P ( z ) / Q ( z ) {\displaystyle f(z)=P(z)/Q(z)} について、次が成り立つ。
polydeg  ( f ) = max ( deg  ( P ) , deg  ( Q ) ) {\displaystyle \operatorname {polydeg} (f)=\max(\deg(P),\deg(Q))\,} .
従って m {\displaystyle m} は H i ( 1 / z ) {\displaystyle H_{i}(1/z)} の最大多項式次数であり、拘束長は k = m + 1 {\displaystyle k=m+1} と定義される。実際、図1の例では拘束長は 3、図2の例では拘束長は 4 である。
畳み込み符号(たたみこみふごう、英: Convolutional code)は、電気通信における誤り訂正符号の一種である。
1955年にマサチューセッツ工科大学のピーター・イライアスが提案したもので、一定長さ(拘束長)のビット列から順次新たなビット列を生成することで符号化する。対照的な方法にブロック符号がある。