メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

Direction Cosine Matrix to Wind Angles

方向余弦行列を風向角に変換する

  • Direction Cosine Matrix to Wind Angles block

ライブラリ:
Aerospace Blockset / Utilities / Axes Transformations

説明

Direction Cosine Matrix to Wind Angles ブロックは、3 行 3 列の方向余弦行列 (DCM) を 3 つの風の回転角度に変換します。DCM マトリックスは、地球軸のベクトル (ox0oy0oz0) を風軸のベクトル (ox3oy3oz3) に変換する座標変換を実行します。方向余弦行列の詳細については、アルゴリズム を参照してください。

この実装では、±90 度の範囲の飛行経路角度と、±180 度の範囲のバンク角と機首方位角が生成されます。

端子

入力

すべて展開する

地球固定ベクトルを風固定ベクトルに変換するための、3 行 3 列の行列として指定された方向余弦行列。

データ型: double

出力

すべて展開する

風の角度 (バンク、飛行経路、方向) が 3 行 1 列のベクトルとしてラジアン単位で返されます。

データ型: double

パラメーター

すべて展開する

方向余弦行列が無効(直交していない)の場合の動作をブロックします。

  • Warning — 方向余弦行列が無効であることを示す警告を表示します。

  • Error — 方向余弦行列が無効であることを示すエラーを表示します。

  • None — 警告やエラーを表示しません (デフォルト)。

プログラムでの使用

ブロック パラメーター: action
: 文字ベクトル
値: 'None' | 'Warning' | 'Error'
既定の設定: 'None'

データ型: char | string

方向余弦行列の有効性の許容値。スカラーとして指定します。ブロックは、次の条件が満たされる場合に方向余弦行列を有効と見なします。

  • 方向余弦行列の転置をそれ自体で掛けると、指定された許容値 (transpose(n)*n == 1±tolerance) 内で 1 に等しくなります。

  • 方向余弦行列の行列式は、指定された許容値 (det(n) == 1±tolerance) 内で 1 に等しくなります。

プログラムでの使用

ブロック パラメーター: tolerance
: 文字ベクトル
: 'eps(2)' | スカラー
既定の設定: 'eps(2)'

データ型: double

アルゴリズム

DCM マトリックスは、地球軸のベクトル (ox0oy0oz0) を風軸のベクトル (ox3oy3oz3) に変換する座標変換を実行します。これを実現するために必要な軸の回転の順序は次のとおりです。

  1. oz0 を中心に、方位角 (χ) を軸 (ox1oy1oz1) まで回転します。

  2. 飛行経路角 (γ) を軸 (ox2oy2oz2) まで通して oy1 を中心に回転

  3. ox2 を中心にバンク角 (μ) を軸 (ox3oy3oz3) まで回転します。

[ox3oy3oz3]=DCMwe[ox0oy0oz0][ox3oy3oz3]=[1000cosμsinμ0sinμcosμ][cosγ0sinγ010sinγ0cosγ][cosχsinχ0sinχcosχ0001][ox0oy0oz0]

3 つの軸変換マトリックスを組み合わせると、次の DCM が定義されます。

DCMwe=[cosγcosχcosγsinχsinγ(sinμsinγcosχcosμsinχ)(sinμsinγsinχ+cosμcosχ)sinμcosγ(cosμsinγcosχ+sinμsinχ)(cosμsinγsinχsinμcosχ)cosμcosγ]

DCM から風向角を決定するには、次の式を使用します。

μ=atan(DCM(2,3)DCM(3,3))γ=asin(DCM(1,3))χ=atan(DCM(1,2)DCM(1,1))

拡張機能

すべて展開する

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

バージョン履歴

R2006a より前に導入