有限インパルス応答からbody関数を用いてゲインと位相を求めたいができない
Show older comments
simulinkを用いて入力・出力が分かる状態になっている。(サンプリング時間は0.1で100秒間の実施)
そこで、FIRモデルから有限インパルス応答を求めることには成功したが、それをz変換しbody関数を用いた時ゲインはうまくいくのだが、位相が全然合わない現象が起きて困っています。
以下の画像及びコード

close all
clearvars -except out ;
clc
e=out.simout.Data;
u=out.simout3.Data;
n=numel(e);
t=transpose(0:0.1:100);
ft=t(end,1);
t1=ft/(n-1);
fs=1/t1;
f=(0:n-1)*(fs/n);
m2=400;
if m2 >= n
error('次数がnを超えています');
end
for i=1:(n-m2)
for k=1:m2
a1(i,k)=e(i+m2-k,1);
end
end
u2=u(m2+1:n,1);
q1=pinv(a1)*u2;
num=transpose(q1);
den=1
q=tf([1],[1 1]);
a=tf(num,den, 1/fs)
bode(tf(num,1, 1/fs),q)
Answers (0)
Categories
Find more on デジタル フィルター解析 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!