C++によるarxモデル同定プログラムの作成

 実験データからarxモデルを得るプログラムをC++で作ったことに対する解説記事です。
理論的な話も含まれるので、手っ取り早くソースコードが見たい方はこちらから飛んでください。

 記事の構成は以下の通りです

arxモデルを得るのに必要な処理

 プログラム作成に先立ち、そもそも「arxモデルを得るのにどのようなプロセスが必要か」調査しました。その結果、以下に示すプロセスを順番に行わなければいけないことがわかりました。

  1. 前処理
    • 低周波外乱の除去
    • 高周波外乱の除去
    • データ分割
  2. むだ時間推定
  3. arxモデル同定
    • 入出力の各次数組の係数同定
    • 推定値の算出
    • 損失関数の算出
  4. モデルの低次元化
    • 極・零点の数値計算
    • 低次元モデルの出力

これより、各処理の詳細を見ていきましょう。