このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor
無限の行数をもつ複素数値の行列の Q-less QR 分解
- ライブラリ:
Fixed-Point Designer HDL Support / Matrices and Linear Algebra / Matrix Factorizations

説明
Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor ブロックは QR 分解を使用してサイズを抑えた QR 分解 A = QR の上三角因子 R を計算します (Q は計算しません)。A は、ストリーミング データを表す複素数値の無限大の tall 行列です。
正則化パラメーターが非ゼロの場合、Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor ブロックは A の行を因数分解する前に最初の上三角因子 R を λIn に初期化します。ここで、λ は正則化パラメーター、In = eye(n)
です。
端子
入力
A(i,:)
— 行列 A の行
ベクトル
行列 A の行。ベクトルとして指定します。A は m 行 n 列の行列で、m ≥ 2 および m ≥ n です。B が single または double の場合、A は B と同じデータ型でなければなりません。A が固定小数点データ型の場合、A は符号付きで、2 進小数点スケーリングを使用し、B と同じ語長をもたなければなりません。勾配とバイアス表現は固定小数点データ型ではサポートされていません。
データ型: single
| double
| fixed point
複素数のサポート: あり
validIn
— 入力が有効であるかどうか
Boolean
スカラー
入力が有効であるかどうか。boolean スカラーとして指定します。この制御信号は A(i,:)
入力端子のデータが有効であるかどうかを示します。この値が 1 (true
) で ready
の値が 1 (true
) の場合、ブロックは A(i,:)
入力端子の値を取得します。この値が 0 (false
) の場合、ブロックは入力サンプルを無視します。
true
の validIn
信号を送信してから、ready
が false
に設定されるまでに、多少の遅延が生じることがあります。すべてのデータが確実に処理されるように、別の true
の validIn
信号を送信するときは、ready
が false
に設定されるまで待たなければなりません。
データ型: Boolean
restart
— 内部状態をクリアするかどうか
Boolean
スカラー
内部状態をクリアするかどうか。boolean スカラーとして指定します。この値が 1 (true
) の場合、ブロックは現在の計算を停止し、すべての内部状態をオフにします。この値が 0 (false
) で validIn
の値が 1 (true
) の場合、ブロックは新しいサブフレームを開始します。
データ型: Boolean
出力
R
— 行列 R
スカラー | ベクトル
サイズを抑えた QR 分解行列 R。スカラーまたはベクトルとして返されます。R は上三角行列です。R のデータ型は A と同じです。
データ型: single
| double
| fixed point
validOut
— 出力データが有効であるかどうか
Boolean
スカラー
出力データが有効であるかどうか。boolean スカラーとして指定します。この制御信号は出力端子 R
のデータが有効であるかどうかを示します。この値が 1 (true
) の場合、ブロックは行列 R を正常に計算しています。この値が 0 (false
) の場合、出力データは有効ではありません。
データ型: Boolean
ready
— ブロックの準備が整っているかどうか
Boolean
スカラー
ブロックの準備が整っているかどうか。boolean スカラーとして返されます。この制御信号は新しい入力データに対するブロックの準備が整っているかどうかを示します。この値が 1
(true
) で validIn
の値が 1
(true
) の場合、ブロックは入力データを次のタイム ステップで受け入れます。この値が 0
(false
) の場合、ブロックは入力データを次のタイム ステップで無視します。
true
の validIn
信号を送信してから、ready
が false
に設定されるまでに、多少の遅延が生じることがあります。すべてのデータが確実に処理されるように、別の true
の validIn
信号を送信するときは、ready
が false
に設定されるまで待たなければなりません。
データ型: Boolean
パラメーター
行列 A の列数
— 入力行列 A の列数
4
(既定値) | 正の整数値のスカラー
入力行列 A の列数。正の整数値スカラーとして指定します。
プログラムでの使用
ブロック パラメーター: n |
型: 文字ベクトル |
値: 正の整数値のスカラー |
既定の設定: 4 |
忘却係数
— 行列の各行を因数分解した後に適用される忘却係数
0.99 (既定値) | 実数の正のスカラー
行列の各行を因数分解した後に適用される忘却係数。実数の正のスカラーとして指定します。A の各行に無限に入力されるたびに、出力が更新されます。
プログラムでの使用
ブロック パラメーター: forgettingFactor |
型: 文字ベクトル |
値: 正の整数値のスカラー |
既定の設定: 0.99 |
正則化パラメーター
— 正則化パラメーター
0 (既定値) | 非負の実数スカラー
正則化パラメーター。非負のスカラーとして指定します。正則化パラメーターを小さい正の値にすると、問題の調整を向上させ、推定値の分散を小さくすることができます。バイアスがありますが、推定値の分散が小さいと、多くの場合、最小二乗推定値と比べて平均二乗誤差が小さくなります。
プログラムでの使用
ブロック パラメーター: regularizationParameter |
型: 文字ベクトル |
値: 非負の実数スカラー |
既定の設定: 0 |
アルゴリズム
忘却係数を使用する Q-less QR 分解
Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor ブロックは、次の再帰を実装し、忘却係数 α を使用して連続的にストリーミングする n 行 1 列の行ベクトル A(k,:) の上三角因子 R を計算します。これは行列 A が無限大の tall である場合と同様です。範囲 0 < α < 1 の忘却係数を使用すると、無制限に積分されなくなります。
忘却係数と Tikhonov 正則化を使用する Q-less QR 分解
k 番目の入力 A(k,:) を処理した後の上三角因子 Rk は、次の反復を使用して計算されます。
これは、行列 Ak の上三角因子 Rk を計算することと数学的に等価です。これは次のように定義されますが、実際にはこのブロックで Ak は作成されません。
前進代入と後退代入
上三角因子の準備が整うと、前進代入と後退代入が現在の入力 B で計算され、出力 X が生成されます。
実装方法の選択
部分的なシストリック実装はスペースの制約よりも計算速度を優先し、バーストによる実装は演算速度を犠牲にしてスペースの制約を優先します。次の表は、行列の分解と線形方程式系の求解に使用できる実装間のトレードオフを示しています。
実装 | Ready | レイテンシ | 領域 | サンプル ブロックまたは例 |
---|---|---|---|---|
シストリック | C | O(n) | O(mn2) | シストリック アレイでの CORDIC を使用したハードウェア効率に優れた QR 分解の実装 |
部分的なシストリック | C | O(m) | O(n2) | |
忘却係数を使用する部分的なシストリック | C | O(n) | O(n2) | 固定小数点の HDL に最適化された最小分散無歪応答 (MVDR) ビームフォーマー |
バースト | O(n) | O(mn2) | O(n) |
ここで、C はデータの語長に比例する定数、m は行列 A の行数、n は行列 A の列数です。
ブロックのタイミング
次の表に、QR Decomposition ブロックのタイミングの詳細を示します。
ブロック | validIn から ready (c サイクル) | validIn から validOut (v サイクル) |
---|---|---|
Real Partial-Systolic QR Decomposition | c = w + 8 | v = c(m + n - 1) |
Complex Partial-Systolic QR Decomposition | c = 2w + 15 | v = c(m + n - 1) |
Real Partial-Systolic Q-less QR Decomposition | c = w + 8 | v = c(m + n - 1) |
Complex Partial-Systolic Q-less QR Decomposition | c = 2w + 15 | v = c(m + n - 1) |
Real Partial-Systolic Q-less QR Decomposition with Forgetting Factor | c = w + 8 | v = c(2n - 1) |
Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor | c = 2w + 15 | v = c(2n - 1) |
この表で、m は行列 A の行数を表しており、n は行列 A の列数です。w は A の語長を表しています。
A のデータ型が固定小数点の場合、w は語長です。
A のデータ型が double の場合、w は 53 です。
A のデータ型が single の場合、w は 24 です。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
勾配とバイアス表現は固定小数点データ型ではサポートされていません。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
このブロックには単一の既定の HDL アーキテクチャがあります。
一般 | |
---|---|
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
固定小数点データ型のみをサポートします。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)