Why is the result of system simulation and the convolution with its impulse response differs?

3 ビュー (過去 30 日間)
Juan
Juan 2012 年 12 月 24 日
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 件)

カテゴリ

Help Center および File ExchangeAudio Processing Algorithm Design についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by