Skip to content

GenSSK/MLS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

686e50d · Feb 21, 2023

History

16 Commits
Dec 23, 2021
Feb 21, 2023
Feb 21, 2023
Feb 21, 2023
Feb 18, 2023
Feb 21, 2023
Feb 21, 2023
Feb 21, 2023
Feb 21, 2023

Repository files navigation

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)。

About

C++ library to generate the MLS signal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published