ó
Ë½÷Xc           @` sŠ  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ  d e f d „  ƒ  YZ! d e f d „  ƒ  YZ" d e f d „  ƒ  YZ# d e f d „  ƒ  YZ$ d e f d „  ƒ  YZ% e& d k r†e	 ƒ  n  d S(   i    (   t   divisiont   print_functiont   absolute_importN(	   t   TestCaset   run_module_suitet   assert_equalt   assert_array_almost_equalt   assert_array_equalt   assert_allcloset   assert_t   assert_raisest   assert_almost_equal(   t   dlsimt   dstept   dimpulset   tf2zpkt   ltit   dltit
   StateSpacet   TransferFunctiont   ZerosPolesGaint	   dfreqrespt   dbodet   TestDLTIc           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s)  t  j d d g d d g g ƒ } t  j d d d g d d d g g ƒ } t  j d d g g ƒ } t  j d d d g g ƒ } d	 } t  j t  j t  j d
 d d d ƒƒ j ƒ  d t  j d, ƒ d t  j d- ƒ f ƒ } t  j d
 d d d ƒ} t  j d d d d d g ƒ j ƒ  } t  j d
 d
 g d d g d d g d d g d d g g ƒ }	 t | | | | | f | | ƒ \ }
 } } t | | ƒ t |	 | ƒ t | |
 ƒ t d. d! ƒ | d
 d! g d  d  … f } t  j d d g ƒ } t | | | | | f | | ƒ \ }
 } } t | | ƒ t |	 | ƒ t	 t
 |
 ƒ | j d
 ƒ t  j d" d g ƒ } t  j d d" d# g ƒ } t  j d d d$ d% d& g ƒ j ƒ  } t | | d	 f | d  d  … d
 f | ƒ \ }
 } t | | ƒ t | |
 ƒ t  j | d  d  … d
 f ƒ } | j d/ ƒ } t | | d	 f | | ƒ \ }
 } t | | ƒ t | |
 ƒ t  j d	 d' g ƒ } t  j d( t  j d ƒ d) t  j d ƒ g ƒ } d" } t  j d d" d d* d+ g ƒ j ƒ  } t | | | d	 f | d  d  … d
 f | ƒ \ }
 } t | | ƒ t | |
 ƒ t d g d d g ƒ } t t t | | ƒ d  S(0   NgÍÌÌÌÌÌì?gš™™™™™¹?gš™™™™™É¿gš™™™™™Ù?gš™™™™™¹¿g        gš™™™™™©?g333333Ó?g      à?i    g      @t   numi   g{®Gáz„?i   gü©ñÒMb`¿g       @gü©ñÒMbP¿g²c#¯ëG¿gêD2¤?gºÑŠo·?g#£YäÀ?ga2U0*©S?gü©ñÒMb@?gÇTÆ¿Ù?gkHÜcéCG?g'h“Ã'ò?g5–°6ÆN´¿g9¶ž!ì@g°b§¨mÓ¿i   i   i   g      ð?gš™™™™™É?g£ªªªªª
@gÊqÇqÀgÐ^B{	7@g      à¿y              ð?y              ð¿g      @g      @(   i   i   (   i   i   (   i   i   i   (   i   (   t   npt   asarrayt   hstackt   asmatrixt   linspacet	   transposet   onesR   R   R   t   lent   shapet   reshapet   arrayt   sqrtR   R
   t   AttributeError(   t   selft   at   bt   ct   dt   dtt   ut   t_int
   yout_trutht
   xout_trutht   toutt   youtt   xoutt   u_sparset   t_sparseR   t   dent   uflatt   zdt   pdt   kt   system(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt
   test_dlsim   sl    !'*				**	1!/$4c         C` s  t  j d d g d d g g ƒ } t  j d d d g d d d g g ƒ } t  j d d g g ƒ } t  j d d d g g ƒ } d	 } t  j d d
 d d d d d d d d g
 ƒ t  j d d d d d d d d d d g
 ƒ t  j d d d d d d  d! d" d# d$ g
 ƒ f } t | | | | | f d% d& ƒ\ } } t t | ƒ d' ƒ xP t d( t | ƒ ƒ D]9 }	 t | |	 j d( d& ƒ t | |	 j ƒ  | |	 ƒ qUWd) g d) d) g d	 f }
 t  j d d) d g ƒ } t |
 d% d' ƒ\ } } t t | ƒ d* ƒ t | d( j ƒ  | ƒ t	 |
 d( |
 d* ƒ d+ } t | d% d' ƒ\ } } t t | ƒ d* ƒ t | d( j ƒ  | ƒ t
 d* g d* d* g ƒ } t t t | ƒ d  S(,   NgÍÌÌÌÌÌì?gš™™™™™¹?gš™™™™™É¿gš™™™™™Ù?gš™™™™™¹¿g        gš™™™™™©?g333333Ó?g      à?g{®Gáz¤?g9´Èv¾Ÿª?gM„O¯¤?gùNÌz1”ƒ?g½«0™¢¿gÿÌ >°ã·¿gW	’N3Ä¿g€±ö+(Í¿g¢ÑGÓ¿g333333³¿gV-²­¿g,Ôšæ§¨¿g»aÛ¢Ì¦¿g±QÖo&¦§¿g*œî†~·ª¿gIØ·“ˆ¯¿gŽ‡p,%Ô²¿g’ [W¶¿g{®Gáz„¿g9´Èv¾ŸŠ¿gM„O¯„¿gùNÌz1”c¿g½«0™‚?gÿÌ >°ã—?gW	’N3¤?g€±ö+(­?g¢ÑG³?t   ni
   i   i    g      ð?i   (   g      à?(   R   R   R   R   R    t   rangeR!   R   t   flattenR   R   R
   R%   (   R&   R'   R(   R)   R*   R+   t   yout_step_truthR0   R1   t   it   tfint   yout_tfstept   zpkinR:   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt
   test_dsteph   s>    !'				'c         C` s  t  j d d g d d g g ƒ } t  j d d d g d d d g g ƒ } t  j d d g g ƒ } t  j d d d g g ƒ } d	 } t  j d d
 d d d d d d d d g
 ƒ t  j d d d d d d d d d d g
 ƒ t  j d d d d d d  d! d" d# d$ g
 ƒ f } t | | | | | f d% d& ƒ\ } } t t | ƒ d' ƒ xP t d( t | ƒ ƒ D]9 }	 t | |	 j d( d& ƒ t | |	 j ƒ  | |	 ƒ qUWd) g d) d) g d	 f }
 t  j d d) d* g ƒ } t |
 d% d' ƒ\ } } t t | ƒ d+ ƒ t | d( j ƒ  | ƒ t	 |
 d( |
 d+ ƒ d, } t | d% d' ƒ\ } } t t | ƒ d+ ƒ t | d( j ƒ  | ƒ t
 d+ g d+ d+ g ƒ } t t t | ƒ d  S(-   NgÍÌÌÌÌÌì?gš™™™™™¹?gš™™™™™É¿gš™™™™™Ù?gš™™™™™¹¿g        gš™™™™™©?g333333Ó?g      à?g{®Gáz¤?gú~j¼t“ˆ?gàœ¥½Á‡¿g†r¢]…”Ÿ¿g{¿ÑŽ~§¿gBî"LQ.­¿g°E_nƒ°¿gRPÉº1±¿g‰ã1%Èÿ±¿gš™™™™™™?gœÄ °rh‘?g±¿ìž<,„?gd’‘³°§m?gZÕ’Žr0[¿gÍSÂ¸ÀŠx¿g^³¦ÃTDƒ¿gg#„Ú~ˆ¿g}T`³Œ¿g{®Gáz„¿gú~j¼t“h¿gàœ¥½Ág?g†r¢]…”?g{¿ÑŽ~‡?gBî"LQ.?g°E_nƒ?gRPÉº1‘?g‰ã1%Èÿ‘?R<   i
   i   i    g      ð?g      ð¿i   (   g      à?(   R   R   R   R   R    R=   R!   R   R>   R   R   R
   R%   (   R&   R'   R(   R)   R*   R+   t   yout_imp_truthR0   R1   R@   RA   t   yout_tfimpulseRC   R:   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_dimpulse•   s<    !'			'c   
      C` sô   t  j d g g ƒ } t  j d g g ƒ } t  j d g g ƒ } t  j d g g ƒ } d } t  j | ƒ j d d ƒ } t | | | | d f | ƒ \ } } }	 t | t  j t | ƒ ƒ ƒ t | t  j | d f ƒ ƒ t |	 t  j | d f ƒ ƒ d  S(   Ng        i   iÿÿÿÿi   (   R   R#   t   zerosR"   R   R   t   aranget   float(
   R&   R'   R(   R)   R*   R<   R,   R0   R1   R2   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_dlsim_trivialÁ   s    'c         C` s  t  j d g g ƒ } t  j d g g ƒ } t  j d g g ƒ } t  j d g g ƒ } d } t  j | ƒ j d d ƒ } t | | | | d f | d d ƒ\ } } }	 t | t  j t | ƒ ƒ ƒ d t  j t | ƒ ƒ j d d ƒ }
 t | |
 ƒ t |	 |
 ƒ d  S(   Ng      à?g        g      ð?i   iÿÿÿÿi   t   x0(   R   R#   RH   R"   R   R   RI   RJ   (   R&   R'   R(   R)   R*   R<   R,   R0   R1   R2   t   expected(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_dlsim_simple1dÍ   s    -%c         C` s@  d } d } t  j | d g d | g g ƒ } t  j d g d g g ƒ } t  j d d g d d g g ƒ } t  j d g d g g ƒ } d } t  j | ƒ j d d ƒ } t | | | | d f | d d ƒ\ }	 }
 } t |	 t  j t | ƒ ƒ ƒ t  j | | g ƒ t  j t | ƒ ƒ j d d ƒ } t |
 | ƒ t | | ƒ d  S(	   Ng      à?g      Ð?g        g      ð?i   iÿÿÿÿi   RL   (   R   R#   RH   R"   R   R   RI   RJ   (   R&   t   lambda1t   lambda2R'   R(   R)   R*   R<   R,   R0   R1   R2   RM   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_dlsim_simple2dÚ   s$    -"c         C` s8  d } d } t  j | d g d | g g ƒ } t  j d d g d d g g ƒ } t  j d d g g ƒ } t  j d d g g ƒ } d } t | | | | d f d | ƒ\ } }	 d d | d | t  j | ƒ }
 d d | d | t  j | ƒ } t |	 d d  d  … d f |
 ƒ t |	 d d  d  … d f | ƒ t  j d d g ƒ } t | | | | d f d | d	 | ƒ\ } } t  j | | g ƒ t  j d
 | d ƒ j d
 d ƒ } d | d d  d  … f <| d  | … d f t  j | d | d … d  d  … f | ƒ } | d  | … d f t  j | d | d … d  d  … f | ƒ } t | d d  d  … d f | ƒ t | d d  d  … d f | ƒ d g d d g d f } t | d d ƒ\ } \ } t | d d d g ƒ t | j	 d d d g g ƒ t | d d ƒ\ } \ } t | d d d g ƒ t | j	 d d d g g ƒ d  S(   Ng      à?g      è?g        g      ð?i
   i   R<   i    RL   iÿÿÿÿg      à¿gš™™™™™¹?i   gš™™™™™É?g      ø?(
   R   R#   R   RI   R   R   R"   t   dotR   t   T(   R&   RO   RP   R'   R(   R)   R*   R<   t   tst   yst   stp0t   stp1RL   t   tit   yit   impt   y0t   y1R:   t   tt   y(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_more_step_and_impulseï   s<    '##!!-#@@!!(	   t   __name__t
   __module__R;   RD   RG   RK   RN   RQ   R_   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR      s   	U	-	,			t   TestDltic           B` s   e  Z d  „  Z RS(   c         C` s}  d } t  d g d g d | ƒ} t t | t ƒ ƒ t t | t  ƒ ƒ t t | t ƒ ƒ t | j | ƒ t  t j g  ƒ t j d g ƒ d d | ƒ} t t | t	 ƒ ƒ t t | t  ƒ ƒ t t | t ƒ ƒ t | j | ƒ t  d g d g d d d | ƒ} t t | t
 ƒ ƒ t t | t  ƒ ƒ t t | t ƒ ƒ t | j | ƒ t t t  d ƒ t t t  d d d d d ƒ d  S(   Ngš™™™™™©?i   iÿÿÿÿR+   i   (   R   R	   t
   isinstanceR   R   R   R+   R   R#   R   R   R
   t
   ValueError(   R&   R+   t   s(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_dlti_instantiation  s$    -!(   R`   Ra   Rf   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRb     s   t   TestStateSpaceDiscc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C` sÓ   d } t  d d d d d | ƒ} t  d g d g d g d g d | ƒ} t  t j d d g d d g g ƒ t j d g d g g ƒ t j d d g g ƒ t j d g g ƒ d | ƒ} t  d d d d d t ƒ} d  S(   Ngš™™™™™©?i   R+   i   i   i   i    (   R   R   R#   t   True(   R&   R+   Re   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_initialization>  s    '93c         C` sP   t  | j | j ƒ t  | j | j ƒ t  | j | j ƒ t  | j | j ƒ d  S(   N(   R   t   At   Bt   Ct   D(   R&   t   sys1t   sys2(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   _compare_systemsG  s    c         C` s–   t  d d d d d d ƒ} t t | j ƒ  t  ƒ ƒ t t | j ƒ  t ƒ ƒ t t | j ƒ  t ƒ ƒ t t  | ƒ | k	 ƒ t | j ƒ  | k	 ƒ d  S(   Ni   i   i   i   R+   gš™™™™™©?(   R   R	   Rc   t   to_sst   to_tfR   t   to_zpkR   (   R&   Re   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_conversionN  s    c      	   C` sy  t  d d d d d d ƒ} t | j d g ƒ t | j d g ƒ t j ƒ  Q t j d t ƒ t | j d ƒ t | j	 d d g ƒ t | j
 d d g ƒ Wd  QXt  d d d d d d ƒ} t j ƒ  C t j d t ƒ d d g | _	 d d g | _
 |  j | | ƒ Wd  QXt  d d d d d d ƒ} t j ƒ  @ t j d t ƒ d | _ d | _ d | _ |  j | | ƒ Wd  QXd  S(   Ni   R+   gš™™™™™©?i    t   ignoreiÿÿÿÿi   (   R   R   t   polesRH   t   warningst   catch_warningst   simplefiltert   DeprecationWarningt   gainR   R5   Rp   (   R&   Re   t   s2(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_propertiesY  s*    			(   R`   Ra   Ri   Rp   Rt   R}   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRg   =  s   				t   TestTransferFunctionc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C` s|   d } t  d d d | ƒ} t  d g d g d | ƒ} t  t j d g ƒ t j d g ƒ d | ƒ} t  d d d t ƒ} d  S(   Ngš™™™™™©?i   R+   i   (   R   R   R#   Rh   (   R&   R+   Re   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRi   z  s
    -c         C` s*   t  | j | j ƒ t  | j | j ƒ d  S(   N(   R   R   R5   (   R&   Rn   Ro   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRp   ‚  s    c         C` sœ   t  d d g d d g d d ƒ} t t | j ƒ  t ƒ ƒ t t | j ƒ  t  ƒ ƒ t t | j ƒ  t ƒ ƒ t t  | ƒ | k	 ƒ t | j ƒ  | k	 ƒ d  S(   Ni   i    iÿÿÿÿR+   gš™™™™™©?(   R   R	   Rc   Rq   R   Rr   Rs   R   (   R&   Re   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRt   ‡  s    !c      	   C` s¥  t  d d g d d g d d ƒ} t | j d g ƒ t | j d g ƒ t j ƒ  e t j d t ƒ t | j d ƒ t | j	 d ƒ t | j
 d ƒ t | j d ƒ t | j d ƒ Wd  QXt  d d g d	 d
 g d d ƒ} t j ƒ  I t j d t ƒ d | _	 d | _
 d | _ d | _ |  j | | ƒ Wd  QXt  d d g d	 d
 g d d ƒ} t j ƒ  @ t j d t ƒ d | _ d | _ d | _ |  j | | ƒ Wd  QXd  S(   Ni   i    iÿÿÿÿR+   gš™™™™™©?Ru   i   i   i   i   (   R   R   Rv   RH   Rw   Rx   Ry   Rz   R{   Rj   Rk   Rl   Rm   Rp   (   R&   Re   R|   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR}   ’  s2    !!				!			(   R`   Ra   Ri   Rp   Rt   R}   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR~   y  s   			t   TestZerosPolesGainc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C` sˆ   d } t  d d d d | ƒ} t  d g d g d d | ƒ} t  t j d g ƒ t j d g ƒ d d | ƒ} t  d d d d t ƒ} d  S(   Ngš™™™™™©?i   R+   i   (   R   R   R#   Rh   (   R&   R+   Re   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRi   ·  s
    0c         C` s=   t  | j | j ƒ t  | j | j ƒ t  | j | j ƒ d  S(   N(   R   Rv   RH   R{   (   R&   Rn   Ro   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRp   ¿  s    c         C` s“   t  d d d d d ƒ} t t | j ƒ  t ƒ ƒ t t | j ƒ  t ƒ ƒ t t | j ƒ  t  ƒ ƒ t t  | ƒ | k	 ƒ t | j ƒ  | k	 ƒ d  S(   Ni   i   i   R+   gš™™™™™©?(   R   R	   Rc   Rq   R   Rr   R   Rs   (   R&   Re   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRt   Å  s    c      	   C` s  t  d d d d d ƒ} t j ƒ   t j d t ƒ t | j d d g ƒ t | j d d g ƒ t | j d ƒ t | j	 d ƒ t | j
 d ƒ t | j d ƒ Wd  QXt  d g d g d	 d d ƒ} t j ƒ  I t j d t ƒ d | _ d | _	 d | _
 d | _ |  j | | ƒ Wd  QXt  d g d
 g d	 d d ƒ} t j ƒ  C t j d t ƒ d d g | _ d d g | _ |  j | | ƒ Wd  QXd  S(   Ni    i   R+   gš™™™™™©?Ru   iÿÿÿÿi   i   i   i   (   R   Rw   Rx   Ry   Rz   R   R   R5   Rj   Rk   Rl   Rm   Rp   (   R&   Re   R|   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR}   Ð  s.    				(   R`   Ra   Ri   Rp   Rt   R}   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR   ¶  s   			t   Test_dfreqrespc           B` s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s   t  d d d g d d ƒ} d d d g } t | d | ƒ\ } } d d d	 g } t | j | d
 d ƒd d d g } t | j | d
 d ƒd  S(   Ni   gš™™™™™É¿R+   gš™™™™™¹?i
   t   wgU0*©Ðó?g;ßO—nÚ?gÏfÕçj+è¿t   decimali   g•C‹lçÃ¿g&Â†§Wð¿gZd;ßOÙ?(   R   R   R   t   realt   imag(   R&   R:   R   t   Ht   expected_ret   expected_im(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_manualô  s    c         C` s¶   t  d d d g d d ƒ} d d d d g } t | d | ƒ\ } } t j | d ƒ } t j | j | ƒ t j | j | ƒ } | j } t | j | ƒ | j	 } t | j	 | ƒ d  S(	   Ni   gš™™™™™É¿R+   gš™™™™™¹?i
   id   R   y              ð?(
   R   R   R   t   expt   polyvalR   R5   Rƒ   R   R„   (   R&   R:   R   R…   t   jwR^   R†   R‡   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt	   test_auto  s    (		c         C` sh   t  d d d g d d ƒ} d } t j d t j d d t ƒ} t | d | ƒ\ } } t | | ƒ d  S(	   Ni   gš™™™™™É¿R+   gš™™™™™¹?i
   i    t   endpointR<   (   R   R   R   t   pit   FalseR   R   (   R&   R:   R<   t
   expected_wR   R…   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_freq_range  s
    c         C` sn   t  d g d d g d d ƒ} t j ƒ  - t j d t ƒ t | d d ƒ\ } } Wd  QXt | d d	 ƒ d  S(
   Ni   iÿÿÿÿR+   gš™™™™™¹?Ru   R<   i   i    g        (   R   Rw   Rx   Ry   t   RuntimeWarningR   R   (   R&   R:   R   R…   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_pole_one  s
    c         C` s,   t  d g d d g ƒ } t t t | ƒ d  S(   Ni   (   R   R
   R%   R   (   R&   R:   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt
   test_error(  s    c         C` s}   t  g  d g d ƒ } t  d d d g ƒ } d d d d g } t | d | ƒ\ } } t | d | ƒ\ } } t | | ƒ d  S(	   Ngš™™™™™É?g333333Ó?i   gš™™™™™É¿gš™™™™™¹?i
   id   R   (   R   R   R   (   R&   t
   system_ZPKt	   system_TFR   t   w1t   H1t   w2t   H2(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_from_zpk-  s    (   R`   Ra   Rˆ   RŒ   R‘   R“   R”   R›   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR€   ò  s   			
	
	t	   Test_bodec           B` s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c   	      C` s¹   d } t  d d d g d | ƒ} d d d t j g } t | d | ƒ\ } } } d d	 d
 d g } t | | d d ƒd d d d g } t | | d d ƒt t j | ƒ | | ƒ d  S(   Ngš™™™™™¹?g333333Ó?i   gš™™™™™É¿R+   g      à?R   g©ÐDØ!Àgvqà­!Àg$—ÿ~;#Àg¾0™*(ÀR‚   i   gáz®G¡ÀgŒJê¤AÀg_)ËÇþPÀg     €fÀ(   R   R   RŽ   R   R   R   R#   (	   R&   R+   R:   R   R™   t   magt   phaset   expected_magt   expected_phase(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRˆ   9  s    c   
      C` sÞ   t  d d d g d d ƒ} t j d d d t j g ƒ } t | d | ƒ\ } } } t j | d ƒ } t j | j | ƒ t j | j | ƒ } d	 t j	 t
 | ƒ ƒ } t | | ƒ t j t j | ƒ ƒ }	 t | |	 ƒ d  S(
   Ng333333Ó?i   gš™™™™™É¿R+   gš™™™™™¹?g      à?R   y              ð?g      4@(   R   R   R#   RŽ   R   R‰   RŠ   R   R5   t   log10t   absR   t   rad2degt   angle(
   R&   R:   R   R™   R   Rž   R‹   R^   RŸ   R    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRŒ   L  s    (c         C` su   d } t  d d d g d d ƒ} d } t j d t j | d t ƒ| } t | d	 | ƒ\ } } } t | | ƒ d  S(
   Ngš™™™™™¹?g333333Ó?i   gš™™™™™É¿R+   i
   i    R   R<   (   R   R   R   RŽ   R   R   R   (   R&   R+   R:   R<   R   R   R   Rž   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt
   test_range]  s    "c         C` sq   t  d g d d g d d ƒ} t j ƒ  0 t j d t ƒ t | d d ƒ\ } } } Wd  QXt | d d	 ƒ d  S(
   Ni   iÿÿÿÿR+   gš™™™™™¹?Ru   R<   i   i    g        (   R   Rw   Rx   Ry   R’   R   R   (   R&   R:   R   R   Rž   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR“   h  s
    !c         C` s5   t  d g d d d g d d ƒ} t | d d ƒd  S(   Ni   i    id   R+   gš™™™™™¹?R<   i   (   R   R   (   R&   R:   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_imaginaryr  s    !c         C` s,   t  d g d d g ƒ } t t t | ƒ d  S(   Ni   (   R   R
   R%   R   (   R&   R:   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR”   x  s    (   R`   Ra   Rˆ   RŒ   R¥   R“   R¦   R”   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyRœ   7  s   				
	t   TestTransferFunctionZConversionc           B` s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s=   Test private conversions between 'z' and 'z**-1' polynomials.c         C` s†   d d d g } d d d g } t  j | | ƒ \ } } t | | ƒ t | | ƒ t  j | | ƒ \ } } t | | ƒ t | | ƒ d  S(   Ni   i   i   i   i   i   (   R   t
   _z_to_zinvR   t
   _zinv_to_z(   R&   R   R5   t   num2t   den2(    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt	   test_full  s    c         C` s•   d d g } d d d g } t  j | | ƒ \ } } t d d d g | ƒ t | | ƒ t  j | | ƒ \ } } t d d d g | ƒ t | | ƒ d  S(   Ni   i   i   i   i   i    (   R   R¨   R   R©   (   R&   R   R5   Rª   R«   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_numerator  s    c         C` s•   d d d g } d d g } t  j | | ƒ \ } } t | | ƒ t d d d g | ƒ t  j | | ƒ \ } } t | | ƒ t d d d g | ƒ d  S(   Ni   i   i   i   i   i    (   R   R¨   R   R©   (   R&   R   R5   Rª   R«   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   test_denominator™  s    (   R`   Ra   t   __doc__R¬   R­   R®   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyR§   ~  s   		t   __main__('   t
   __future__R    R   R   Rw   t   numpyR   t   numpy.testingR   R   R   R   R   R   R	   R
   R   t   scipy.signalR   R   R   R   R   R   R   R   R   R   R   R   t   objectRb   Rg   R~   R   R€   Rœ   R§   R`   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/signal/tests/test_dltisys.pyt   <module>   s   @Lÿ <=<EG(