SimulinkでM系列を使う

SimulinkでM系列を使いたいのですが、どのような方法がありますか? 具体的には、M系列を0次ホールドして連続時間データとして処理したいのですが、ここでエラーが起きています。 もしくは、MATLABでM系列を生成して、それを連続時間データに変換する方法はありますか? よろしくお願いいたします。

6 Comments

Toshinobu Shintai
Toshinobu Shintai on 6 Jul 2020
具体的にどのようなエラーでしょうか。通常であれば、そのような状況でエラーは起きないはずなのですが。
Aoyama Yukihito
Aoyama Yukihito on 6 Jul 2020
以下の写真にブロック線図とエラーを示します.
mls.matには1023個のM系列データが入っています.
よろしくお願いいたします.
takemoto
takemoto on 7 Jul 2020
生成多項式が分かっていれば、"delay"と"xor"だけで生成器が組めると思いますが、どうでしょうか。
また、Communications Toolbox をお持ちであれば、以下のブロックも使えると思います。
takemoto
takemoto on 7 Jul 2020
生成器を、delayとxorで組む場合は、こちら↓が参考になると思います。
Aoyama Yukihito
Aoyama Yukihito on 7 Jul 2020
擬似ノイズシーケンスで生成することができました.ありがとうございました.
加えて質問なのですが,これを2周期生成するようにするためにはどのように設定すればよろしいでしょうか.
よろしくお願いいたします.
takemoto
takemoto on 7 Jul 2020
例えば1023のパターンであれば10bitの巡回符合で実現できると思いますが、基本的にはクロックがすすむ度に(Simulinkソルバの時間の経過とともに)、0000000001~1111111111のいずれかの組み合わせを1023回示した後、1024回目で初期状態に戻る(全パターンを網羅する)ことになるかと思います。つまり、二周期目からは、一周期目の最初の符合から再度同じパターンを繰り返すため、必要に応じてシミュレーションの長さを調整すればよいのではないでしょうか?

Sign in to comment.

Answers (1)

Aoyama Yukihito
Aoyama Yukihito on 9 Jul 2020

0 votes

返信が遅くなり申し訳ございません.
素人質問になってしまいますが,シミュレーションの長さを調整するのは,終了時間を適切に設定するということでしょうか.

2 Comments

takemoto
takemoto on 10 Jul 2020
はい、「終了時間を適切に設定する」、という意味で申し上げました。「ゼロ次ホールドを使用」、とありましたので、何かしらの固定離散ステップ(Ts)でシミュ―レーションを行っている、という想定の場合、「1023*Ts」時間で、生成器がちょうど一周する(全パターンを網羅する)はずです。従って、終了時間を「2*1023*Ts」に設定すれば、二周期分のデータ列が生成されるのではないかと思いますが、いかがでしょうか?
Aoyama Yukihito
Aoyama Yukihito on 10 Jul 2020
ありがとうございます.
自分の想定していたことができました.
丁寧なご対応ありがとうございました.

Sign in to comment.

Asked:

on 6 Jul 2020

Commented:

on 10 Jul 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!