擬似ランダムコードの自己相関

擬似ランダムコードをもう一度説明すると、1/1023ミリ秒を単位として「-1」または「+1」を規則性なしにとっていく長さ1023の信号列です。

いま、「規則性なしに」といいましたが、これは実は一筋縄ではいかない表現なのです。

面倒なので「-1」をm、「+1」をpと書きましょう。

例えばmpmpmpmp...とずっと繰り返していくのは、規則性があるといっていいでしょう。

あるいはmmppmmppmmpp...とずっと繰り返していくのもそうです。

しかし例えば、mpppmpmmpmmpmppmmppmpppmpmmmmppmp...だったらどうでしょう。

一見何も規則性はないようですが、この33ビットがこのままずっと繰り返すのかもしれません。

それも立派な規則性です。

そこで、「規則性」というあやふやなものではなく、もう少し扱いやすい概念を導入しましょう。

それが自己相関というものです。

例えばmpmpmpmp...という配列に対し、それを1つ左にずらした配列を考えましょう。

それはpmpmpmpm...です。

これら2つの配列に対し、1番目同士、2番目同士、...と掛け、結果を足していきます(積和演算)。

mは「-1」、pは「+1」でしたから、m*pもp*mも「-1」です。

だからその和は、長さが1023のところで切ったとすると、-1023となります。

では、mmppmmppmmpp...という配列と、それを1つ左にずらした配列とで積和演算をするとどうなるでしょう。

掛けた結果はmm、mp、pp、pm、つまり「+1」、「-1」、「+1」、「-1」の繰り返しですから、足していくとほぼ0になりますね。

しかしこの配列の場合、今度は2つ左にずらした配列との間で積和演算すると、mmppmmppmmpp...とppmmppmmppmm...ということで、やはり積はすべてー1となり、足すと-1023となります。

このように、規則性がある配列では、いくつかずらせて積和演算すると、和が0とはかけ離れた値になることが多いのです。

nだけずらせて積和演算した結果を、「ずれnの自己相関」と呼びましょう。

mpmpmpmp...の場合は「ずれ1の自己相関」の値が大きく、mmppmmppmmpp...の場合は「ずれ2の自己相関」の値が大きいわけです。

どんな系列であれ、「ずれ0の自己相関」というのは、自分自身と掛けるのですから、信号列の長さに等しい値になりますね。

重要なのは、規則性があるかないかではなく、0でないあるnに対し、ずれnの自己相関が大きな値になり得るかどうか、なのです。

但しnは信号列の長さ1023よりは短いものとします。

擬似ランダムコードの特徴(条件)とは、0でないいかなるn(1023未満)に対しても、ずれnの自己相関がほとんど0、ということなのです。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

« 擬似ランダムコードによる時刻情報 | ホーム | 自己相関によるノイズに強い時間計測 »

このページの先頭へ