Why is the result of system simulation and the convolution with its impulse response differs?
3 ビュー (過去 30 日間)
古いコメントを表示
Hallo, I have been working on this for 2 days. the result of convolution with impulse response and the result of automatic simulation of the system on the signal x differ from each other, where that should'nt happen according to the theorie. please help me with this problem.
clear all
Fs =2^11;
Ts = 1/Fs;
sys = tf([5 0],[1 1]);
f = Fs/2 *linspace(0,1,2^12);
ind = 2500;
amp_x = 1;
% amplitude for sinusodial 2
amp_y = 1;
freq1 = f(ind)/(2*pi);
t = 0:1/Fs:2 - 1/Fs;
x = amp_x * sin(2*pi*freq1*t);
[data,t_imp] = impulse(sys);
xi = 0:Ts:t_imp(length(t_imp));
data1 = interp1(t_imp,data,xi,'spline');
xa = conv(x,data1,'full');
figure;
subplot(2,2,[1 2]);
plot(t,xa(1:length(t)))
title(['freq = ' num2str(f(ind)) 'rad/s , ' num2str(f(ind)/(2*pi)) ' Herz' ]);
hold on
[ya,tsys] = lsim(sys,x,t);
% subplot(2,2,2)
plot(t,ya,'r--')%(1:length(ya)/2));
legend('conv','sim');
[m,p] = bode(sys,f);
plot(t,ones(1,length(t))*m(ind),'c--'); %find(abs(f-freq)<1e-3)
subplot(2,2,[3 4]);
bode(sys)
0 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Audio Processing Algorithm Design についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!