#概要
システム同定のためのM系列信号をMatlabで生成してみた
#使用ソフト
MATLAB バージョン 9.8
System Identification Toolbox バージョン 9.12
#M系列信号とは
M系列信号とは様々な周波数成分を含んだ疑似的な白色信号である。
システム同定をするために理想となる入力信号は全周波数が含んだ信号(白色信号)であるが、全周波数を含む信号を作り出すのは現実的に不可能なので、それに近い信号をつくる必要がある。それがM系列信号である。
M系列信号の生成式は以下であるが
$ x_k =a_1x_{k-1} \quad XOR \quad a_2x_{k-2} \quad XOR ・・・\quad a_nx_{n-3} $
私自身なぜこの式になるかは理解が追い付かず。。。
#MatlabでM系列信号を生成してみた
M系列信号を生成するときにパラメータとしてシフトレジスタnがある
n = 9のときとn=5のときで波形を比較してみる
n = 9;
N = 2^n;
u = idinput(N,'prbs',[n,1],[-1,1]);
subplot(311)
stairs(u), axis([0 N -1.2 1.2]);
xlabel('time[sec]')
ylabel('信号')
title('M系列信号');
subplot(312),plot(covf(u, N)); axis([0 N -0.5 1]);
xlabel('ラグ')
ylabel('相関')
title('自己相関関数');
subplot(313), periodogram(u);
title('パワースペクトル');
自己相関関数:
信号の時間をずらして、ずらす前後でどれだけ信号が似ているか
⇒相関が小さいほど周期性のない信号
パワースペクトル:各周波数帯の成分がどれだけ含まれているか
⇒0~1の間で
#わかったこと
上記結果よりシフトレジスタを多くすることで含有周波数が多い
#今後
ノンパラメトリックモデルの同定を学習していく
#参考
Matlabによる制御のためのシステム同定
https://qiita.com/Fuminori_Souma/items/847566b80c47ae7766c1
#最後に
アドバイスありましたら何卒よろしくお願い申し上げます。