表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
36/45

エピ29 C2エラーを訂正しましょう。


 ***


 C2エラーを訂正しましょう。


 C1では誤り訂正できないエラーが見つかりました。訂正符号C2が出動します。


 ***


 無音状態ではない部分を観察していたところ、C1エラーが見つかりました。


 積和した値 s0〜s3 がC1エラーがあることを示しています。C1エラーは普通に発生することが実感されますね。


  - F20 - 225 -

   AD 49 AD 08 2C 2C 7E A0 17 58 7E 3D

   A9 29 A7 07

   9E BE 0A 2A 04 39 00 3B F9 BD FF D7

   EE F5 1C 9E

  - s0=40, s1=E9, s2=F2, s3=99 : C1-ERR


  - F20 - 226 -

   53 5B 46 9F 01 5F 00 E9 04 47 04 77

   5E AE FE 8C

   FF E9 07 AD 04 8C 03 92 FD 04 02 A8

   0B A1 BC 9E

  - s0=AA, s1=48, s2=C7, s3=AD : C1-ERR


  - F20 - 227 -

   FD EB FD 01 00 5E 00 69 06 60 02 72

   8F 79 74 86

   00 63 06 38 05 A2 01 B8 01 44 01 27

   92 16 BC A8

  - s0=7F, s1=BB, s2=9C, s3=0A : C1-ERR


 連続する3つのフレームです。正確には、C1は2つのフレームからデータを集めるので、224, 225, 226, 227 の4フレームでエラーがある場合も、225 と 226 の2フレームだけでエラーがある場合もあり得ますけど。無音状態ではないのでどれがエラーかは分かりません。


 二次方程式の係数 a, b, c を求めると、...


  225 : a = 0xBD, b = 0x69, c = 0xDA

  226 : a = 0x9E, b = 0xB3, c = 0xC2

  227 : a = 0xD3, b = 0xE6, c = 0x84


 と、0ではないので方程式の解を求めます。すると、...


  225 : X = [α^120, α^160]

  226 : X = []

  227 : X = [α^28, α^30]


 何ということでしょうか。227 は誤り訂正できますが、225 と 226 は訂正不能です。227 もこれで訂正してよいのか不安を感じます。


 多分、エラーなバイトが3つ以上あるのでしょう。C1ポインタ=1です(エピ23を見てね)。


 *


 C1ポインタ=1がセットされるのは、データとしては、


 ・224 の奇数バイト目と 225 の偶数バイト目

 ・225 の奇数バイト目と 226 の偶数バイト目

 ・226 の奇数バイト目と 227 の偶数バイト目


 です。225 と 226 は全部のデータで、224 と 227 は半分のデータです。


 *


 でも大丈夫です。


 CIRCにはタテ・ヨコ、...ではなくて、クロスインターリーブによって 108 フレームに渡って分散したデータによる訂正符号C2があります。C2なら連続する3フレームの消失だって訂正できるのです。


 C2によると、255 の 0〜17, 24 と 226 の 0〜3 でエラーがあるそうです。下記の i は X = α^i の i です。0バイト目は i=31 になります。


  225 : i=31 Ei=0x51, i=30 Ei=0xCC, i=29 Ei=0x51, i=28 Ei=0x5C,

  225 : i=27 Ei=0xD2, i=26 Ei=0xC4, i=25 Ei=0x7A, i=24 Ei=0x66,

  225 : i=23 Ei=0x14, i=22 Ei=0xEF, i=21 Ei=0x7A, i=20 Ei=0x74,

  225 : i=19 Ei=0xD2, i=18 Ei=0xC2, i=17 Ei=0xCE, i=16 Ei=0x4E,

  225 : i=15 Ei=0x9F, i=14 Ei=0x9D,

  225 : i= 7 Ei=0x05,

  226 : i=31 Ei=0xA9, i=30 Ei=0x6A, i=29 Ei=0xBB, i=28 Ei=0x15


 どれも1バイトのエラーですし、C1ポインタ=1のフレームですし、躊躇なく訂正しましょう。


 そしてC1で再度エラーチェックをすると積和が0(エラー無し)となりました。C2が機能しました。


 *


 本当にエラーは訂正されたのでしょうか?


 以前にCDドライブで読み出したWAVファイルは正しいデータのはずなので、これと比べて見ましょう。以前に、...とはエピ1のことですよ。


 誤り訂正前です。1.77〜1.78 秒でエラー(WAVファイルとの差異)が出ていますね。青色の部分です。

挿絵(By みてみん)


 誤り訂正後です。エラーが消えています。完全一致です。

挿絵(By みてみん)


 おお、良かった。


 ***


 CDドライブで読み出したWAVファイルとオシロで読み出した音楽データって、同じ値になるのね。デジタルだから当然だけど。そうかー、同じなんだと感慨深い。


 これまで文献の誤記なのか、あるいは何か見落としているのかとCD規格を見ながら迷走してきましたが、ようやく「だいたい分かった(ワカッテナイヨ)」感じです。


 良かったね、と思った方はイイねをクリックしてもよいのですよ!


 ***


 間違いの指摘とか疑問とか、ご意見・ご感想とかありましたら、どうぞ感想欄に!


 ***

2025.5.31 微推敲。

2025.6.2 微推敲。

2025.6.25 微推敲。



評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ