Skip to content

Latest commit

 

History

History
executable file
·
33 lines (21 loc) · 1.37 KB

File metadata and controls

executable file
·
33 lines (21 loc) · 1.37 KB

M系列信号ライブラリ

このライブラリはC++でM系列信号(m-sequence; maximal length sequence: MLS)を生成します。 同定用の入力等に使用できます。

How to use

使い方はmain.cppを見ましょう。

int main() {
    MLS mls{10}; //MLS信号のコンストラクタを呼ぶ(引数はシフトレジスタの次数)

    for (int i = 0; i < 100; ++i) {
        int x = mls.SignalGet();    //MLS信号は関数を呼ぶたびに次の値を返す
        std::cout << x << std::endl;
    }

    return 0;
}

ここで、MLSクラスのコンストラクタの引数はシフトレジスタの数です。シフトレジスタは**MLSの長さ(周期)**を決める重要なパラメータです。必要な長さに応じて生成しましょう。シフトレジスタが長すぎる場合は(演算性能にもよりますが25以上で)生成までに時間がかかると思います。

SignalGet()を呼ぶたびに次のMLSを取得することができます。1周期が取得し終わった際は、最初に戻ります。

Principle

いつか書きます。。。

For mbed

mbed版も用意しました。MLS_mbed.hMLS_mbed.cppを使用してください。mbed版の場合はシフトレジスタが17以上が生成できないことが確認されています(mbed OS6, 2023-02-22)。