Skip to content

GenSSK/MLS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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