|
第3章 誤り訂正符号の選定
誤り訂正符号には、ハミング符号やリードソロモン符号など、様々な種類の符号が存在する。小さい回路規模で実装可能な符号、理論限界に近い訂正能力を有する符号など、符号によってその特徴は異なる。従って、発生する誤りの特徴やアプリケーションの要求に応じて、最適な誤り訂正符号を選択する必要がある。 また、リードソロモン符号を用いると決定した場合でも、どの程度の訂正能力を持たせるのが最適であるかを検討する必要がある。例えば表3-1のような通信に、1シンボルが8ビットのリードソロモン符号を適用することを考える。
表3-1 通信の具体例
| 送信ブロックサイズ N |
128シンボル(= 1024ビット) |
| 通信路で発生するシンボル誤り率 Ps |
1×10^-3 |
| 保証したいブロック誤り率 P |
1×10^-8 |
誤り訂正符号を用いない場合のブロック誤り率Pbは、NとPsを用いて式3-1のように計算できる。保証したいブロック誤り率Pとは大きく乖離していることが分かる。
【式3-1】
この通信に、1ブロックあたりの誤り訂正能力がTシンボルのリードソロモン符号を適用した場合、誤り訂正後のブロック誤り率Pcは式3-2で計算できる。式中のCは、組み合わせを表す。訂正シンボル数Tとブロック誤り率Pcの関係を式3-2で求めた結果を図3-1に示す。図3-1より、保証したいブロック誤り率Pを達成するためには、訂正シンボル数Tが5のリードソロモン符号を用いればよいことが分かる。
【式3-2】
 図3-1 訂正シンボル数Tとブロック誤り率Pcの関係
しかしながら、上記の訂正シンボル数決定方法には大きな問題点がある。リードソロモン符号によって付加される冗長シンボルの分だけ、送信できる情報が減少することを考慮していないためである。アプリケーションにとって、保証したいブロック誤り率を達成することは重要であるが、情報の送信レートの目標値達成も同様に重要である。 情報の送信レートを保ちながらリードソロモン符号を適用するには、どうすればよいのだろうか?一つの解決策は、通信速度を上げることである。上記のT=5のリードソロモンの場合、付加される冗長シンボル数は10である。従って、通信速度を128/118倍にすることで情報の送信レートを保つことができる。 なお、通信速度を上げると、通信路で発生するシンボル誤り率Psが悪化することが普通である。これを考慮すると、訂正シンボル数Tとブロック誤り率Pcの関係は図3-2に示すような曲線を描く。保証したいブロック誤り率を達成可能な最小の訂正シンボル数を選択することにより、最小の回路規模で所望の性能を得ることができる。
 図3-2 訂正シンボル数Tとブロック誤り率Pcの関係(情報の送信レート一定)
全てのシステムには、それぞれ最適な誤り訂正符号とその訂正能力というものが存在する。その最適解を見つけるには、情報の送信レート、電力、LSIのコスト、情報の送信環境(ノイズ環境など)といったことを総合的に検討する必要があり、本当に最適解を選択できているのか不安になることが多い。 株式会社シグリードでは、その最適解を提案するサービスを提供している。既存の誤り訂正符号だけでなく、シグリード オリジナルの誤り訂正符号を提案することも可能である。また、受託設計サービスとの併用により、高速・低電力・省面積の回路として提案することができるだけでなく、誤り訂正符号の周辺回路も含んだトータルソリューションを提供することが可能である。
※補足3-1 シンボル誤り率は、“誤ったシンボル数/送信した全シンボル数”で計算することができる。 ブロック誤り率は、“誤ったブロック数/送信した全ブロック数”で計算することができる。
※補足3-2 式3-2でリードソロモン符号による誤り訂正後のブロック誤り率を計算することができるが、通信路で発生するシンボル誤りが完全にランダムであることを前提にした式である。実際の通信路では、シンボル誤りがバースト状に発生することが多く、ブロック誤り率は式3-2で求めた結果と大きく乖離するケースがほとんどである。ブロック誤り率を正しく計算するには、通信路で発生するシンボル誤りのバースト特性を観測し、より複雑な数式で誤り率を計算する必要がある。
|