from
Calculation of the impulse response
by Abdelmonem Dekhil
Program for calculation of impulse response of strictly proper SISO systems
|
| impresp.m |
f u n c t i o n [ y , t ] = i m p r e s p ( n u m , d e n , t O , d t , t f )
% P r o g r a m f o r c a l c u l a t i o n o f i m p u l s e r e s p o n s e o f s t r i c t l y p r o p e r S I S O s y s t e m s
% n u m = n u m e r a t o r p o l y n o m i a l c o e f f i c i e n t s o f t r a n s f e r f u n c t i o n
% d e n = d e n o m i n a t o r p o l y n o m i a l c o e f f i c i e n t s o f t r a n s f e r f u n c t i o n
% ( C o e f f i c i e n t s o f ' n u m ' a n d ' d e n ' a r e s p e c i f i e d a s a r o w v e c t o r , i n
% d e c r e a s i n g p o w e r s o f ' s ' )
% t O = t i m e a t w h i c h u n i t i m p u l s e i n p u t i s a p p l i e d
% d t = t i m e - s t e p ( s h o u l d b e s m a l l e r t h a n 1 / ( l a r g e s t n a t u r a l f r e q . ) )
% t f = f i n a l t i m e f o r i m p u l s e r e s p o n s e c a l c u l a t i o n
% y = i m p u l s e r e s p o n s e ; t = v e c t o r o f t i m e p o i n t s
% F i n d a p a r t i a l f r a c t i o n e x p a n s i o n o f n u m / ( d e n ) : -
[ r , p , k ] = r e s i d u e ( n u m , d e n ) ;
% C a l c u l a t e t h e t i m e p o i n t s f o r i m p u l s e r e s p o n s e : -
t = t O : d t : t f ;
% F i n d t h e m u l t i p l i c i t y o f e a c h p o l e , p ( j ) : -
f o r j = 1 : s i z e ( p )
n = 1 ;
f o r i = 1 : s i z e ( p )
i f p ( j ) = = p ( i )
i f ( i ~ = j )
n = n + 1 ;
e n d
e n d
e n d
m u l t ( : , j ) = n ;
e n d
% C a l c u l a t e t h e i m p u l s e r e s p o n s e b y i n v e r s e L a p l a c e t r a n s f o r m o f
% p a r t i a l - f r a c t i o n e x p a n s i o n : -
y = z e r o s ( s i z e ( t ) ) ;
j = 1 ;
w h i l e j < | |