有限インパルス応答からbody関数を用いてゲインと位相を求めたいができない
이전 댓글 표시
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)
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 デジタル フィルター解析에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!