Simulink上で​、10進数の信号を2​進数のビット列として​変換するにはどうすれ​ばよいですか?

73 次查看(过去 30 天)
Simulink上で、10進数の信号を2進数のビット列として変換するにはどうすればよいですか?

采纳的回答

MathWorks Support Team
Communications Blocksetのブロックを使用する方法と、Simulinkの基本ブロックを使用する方法と2通り紹介します。
1. Communications Blocksetのブロックを使用する場合
Integer to Bit Converterブロック(Communications BlocksetのUtility Blocksライブラリにあります)を用いると、10進数を2進数のデータ列へ変換できます。Integer to Bit Converterブロックを用いたモデル(4ビット入力)の様子を以下に示します。
2. Simulinkの基本ブロックを使用する場合
一例として、For Iteration Subsystemブロックを使用してモデリングする方法があります。ページ下部のサンプルモデルをダウンロードすることができます。
(サンプルプログラム:int2bit.mdl )
(注意)ファイルのダウンロードはダウンロード対象のリンクを右クリックし「対象をファイルに保存」を選択してダウンロードを行ってください。
下図に示すサンプルモデル内の水色のサブシステム(Interger2Bit Convertorブロック)が、10進数から2進数へ変換するブロックです。ブロックをダブルクリックすると、ビット数を指定するウィンドウが起動します。
ここでサブシステムはマスク化されており、内部は次のようにモデリングされています。
上のモデル例では次のフローで10進数から2進数列に変換しています。
「13」 と 「2^3」 を比較 13 ≧ 2^3 を満たすので 「1」 を出力
mod(13,2^3) を計算 ⇒ 剰余 5
「5」 と 「2^2」 を比較 5 ≧ 2^2 を満たすので 「1」 を出力
mod(5,2^2) を計算 ⇒ 剰余 1
「1」 と 「2^1」 を比較 1 ≧ 2^1 を満たさないので 「0」 を出力
mod(1,2^1) を計算 ⇒ 剰余 1
「1」 と 「2^0」 を比較 1 ≧ 2^0 を満たすので 「1」 を出力
なお、本サンプルモデルは、フレームベース信号には対応しておりませんので、ご注意ください。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 サブシステム 的更多信息

产品


版本

R14SP1

Community Treasure Hunt

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

Start Hunting!