SimulinkでM系列を使う

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

6 个评论

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

请先登录,再进行评论。

回答(1 个)

Aoyama Yukihito
Aoyama Yukihito 2020-7-9

0 个投票

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

2 个评论

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

请先登录,再进行评论。

类别

Community Treasure Hunt

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

Start Hunting!