Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Extract Bits

入力信号から選択された連続ビットを出力

  • Extract Bits block

ライブラリ:
Simulink / Logic and Bit Operations
HDL Coder / Logic and Bit Operations

説明

Extract Bits ブロックを使用すると、入力信号の保存整数値から連続して選択されたビットを出力することができます。[ビット展開] パラメーターは、出力ビットの選択方法を定義します。

  • [上半分] を選択すると、最上位ビットを含んでいる入力ビットの半分を出力します。入力信号に奇数個のビットが含まれていた場合、出力ビット数は次の式によって求められます。

    number of output bits = ceil(number of input bits/2)
  • [下半分] を選択すると、最下位ビットを含んでいる入力ビットの半分を出力します。入力信号に奇数個のビットが含まれていた場合、出力ビット数は次の式によって求められます。

    number of output bits = ceil(number of input bits/2)
  • [Range starting with most significant bit] を選択すると、入力信号の特定の数の最上位ビットを出力します。出力する最上位ビット数は、ビット数 パラメーターで指定します。

  • [Range ending with least significant bit] を選択すると、入力信号の特定の数の最下位ビットを出力します。出力する最下位ビット数は、ビット数 パラメーターで指定します。

  • [ビット範囲] を選択すると、入力の連続するビットを出力します。出力するビットは、[ビットのインデックス] パラメーターで指定します。[start end] 形式で範囲を指定します。入力ビットには、最下位ビットの 0 から始まる連続したインデックスが付けられます。

このブロックはシミュレーション中のオーバーフロー時のラップに関する警告を報告しません。これらの警告を報告する場合は、Simulink.restoreDiagnostic のリファレンス ページを参照してください。ブロックはオーバーフロー時のラップが原因で発生するエラーを報告します。

端子

入力

すべて展開する

入力信号。スカラー、ベクトル、行列または N 次元配列として指定します。浮動小数点数入力は、変更されないブロックを通過します。boolean 入力は uint8 信号として扱われます。

メモ

符号付き整数にビット演算を実行することは難しいです。入力信号のデータ型を符号なしの整数型に変換することにより、困難を回避できます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

出力

すべて展開する

抽出されたビットの連続した選択。スカラー、ベクトル、行列または N 次元配列として指定します。浮動小数点数入力は、変更されないブロックを通過します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

パラメーター

すべて展開する

入力信号からビットを取り出す方法を選択します。

2 進数 110111001 によって表される入力信号があるとします。

  • [ビット展開] パラメーターとして [上半分] を選択した場合、出力は 2 進数の 11011 です。

  • [ビット展開] パラメーターとして [下半分] を選択した場合、出力は 2 進数の 11001 です。

  • [ビット展開] パラメーターとして [Range starting with most significant bit] を選択して、[ビット数] パラメーターとして [3] を指定した場合、出力は 2 進数の 110 です。

  • [ビット展開] パラメーターとして [Range ending with least significant bit] を選択して、[ビット数] パラメーターとして [8] を指定した場合、出力は 2 進数の 10111001 です。

  • [ビット展開] パラメーターとして Range of bits を選択して、[ビットのインデックス] パラメーターとして [4 7] を指定した場合、出力は 2 進数の 1011 です。

プログラムでの使用

ブロック パラメーター: bitsToExtract
型: 文字ベクトル
値: 'Upper half' | 'Lower half' | 'Range starting with most significant bit' | 'Range ending with least significant bit' | 'Range of bits'
既定の設定: 'Upper half'

入力信号から出力するビット数を選択します。符号付き整数データ型には少なくとも 2 ビットなければなりません。符号なし整数データ型は、1 ビットになります。

依存関係

このパラメーターを有効にするには、[ビット展開] を [Range starting with most significant bit] または [Range ending with least significant bit] に設定します。

プログラムでの使用

ブロック パラメーター: numBits
型: 文字ベクトル
値: 正の整数
既定の設定: '8'

出力する入力信号の連続したビット範囲を指定します。[start end] 形式で範囲を指定します。インデックスは、最下位ビットを 0 として入力ビットに割り当てられます。

依存関係

このパラメーターを有効にするには、[ビット展開] を [Range of bits] に設定します。

プログラムでの使用

ブロック パラメーター: bitIdxRange
型: 文字ベクトル
値: 連続した範囲
既定の設定: '[0 7]'

出力ビット選択で使用するスケーリング モードを選択します。

  • [Preserve fixed-point scaling] を選択した場合、入力の固定小数点スケーリングによって、データ型変換時の出力スケーリングが決まります。

  • [Treat bit field as an integer] を選択した場合、入力の固定小数点スケーリングは無視され、格納整数だけを使用して出力データ型が計算されます。

プログラムでの使用

ブロック パラメーター: outScalingMode
型: 文字ベクトル
値: 'Preserve fixed-point scaling' | 'Treat bit field as an integer'
既定の設定: 'Preserve fixed-point scaling'

ブロックの特性

データ型

Boolean | double | fixed point | integer | single

直達

はい

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入