
&]\c           @` s  d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m	 Z	 m
 Z
 m Z m Z d  d l Z d  d l m Z d  d l m Z d  d l 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 d  d l  m! Z! d	 e" f d
     YZ# d e" f d     YZ$ d f  d     YZ% d e" f d     YZ& d e" f d     YZ' d e" f d     YZ( d e" f d     YZ) d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_t   assert_approx_equalt   assert_allcloset   assert_array_equalt   assert_equalt   assert_array_almost_equal_nulp(   t   raises(   t   suppress_warnings(   t   signalt   fftpack(
   t   periodogramt   welcht   lombscarglet   csdt	   coherencet   spectrogramt   stftt   istftt
   check_COLAt
   check_NOLA(   t   _spectral_helpert   TestPeriodogramc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s   t  j d  } d | d <t |  \ } } t | t  j d d d   t  j d  } d | d <| d c d <| d } t | |  d  S(	   Ni   i   i    g      ?i	   ig       @i   (   t   npt   zerosR   R   t   linspacet   ones(   t   selft   xt   ft   pt   q(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_real_onesided_even   s    


c         C` s   t  j d  } d | d <t |  \ } } t | t  j d  d  t  j d  } d | d <| d
 9} t | | d d	 d  S(   Ni   i   i    g       @g      .@i   g       @t   atolgV瞯<g?(   R   R   R   R   t   arangeR   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_real_onesided_odd   s    


c         C` sx   t  j d  } d | d <t | d t \ } } t | t j d d   t  j d  d } d | d <t | |  d  S(   Ni   i   i    t   return_onesidedg      ?g      0@(   R   R   R   t   FalseR   R   t   fftfreqR   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_real_twosided'   s    

c         C` sz   t  j d  } d | d <t | d d \ } } t | d d \ } } t | t  j d d d   t | | d	  d  S(
   Ni   i   i    t   scalingt   spectrumt   densityg      ?i	   g      0@(   R   R   R   R   R   (   R   R   R   R    t   gR!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_real_spectrum0   s    
c         C` s   t  j d d t } d | d <t |  \ } } t | t  j d d d   t  j d  } d | d <| d c d <| d	 } t | |  d  S(
   Ni   t   dtypei   i    g      ?i	   ig       @i   (   R   R   t   intR   R   R   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_integer_even8   s    


c         C` s   t  j d d t } d | d <t |  \ } } t | t  j d  d  t  j d  } d | d <| d 9} t | | d	 d
 d  S(   Ni   R/   i   i    g       @g      .@i   g       @R#   gV瞯<g?(   R   R   R0   R   R   R$   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_integer_oddC   s    


c         C` s~   t  j d d t } d | d <t | d t \ } } t | t j d d   t  j d  d } d | d <t | |  d  S(   Ni   R/   i   i    R&   g      ?g      0@(	   R   R   R0   R   R'   R   R   R(   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_integer_twosidedM   s    

c         C` s   t  j d t  j  } d | d <t | d t \ } } t | t j d d   d t  j d  d } d | d <t | |  d  S(	   Ni   g      ?y               @i    R&   g      @g      0@y      ?       @(	   R   R   t
   complex128R   R'   R   R   R(   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_complexV   s    

c         C` s)   t  t t t j d t j  d d d  S(   Ni   R*   t   foo(   t   assert_raisest
   ValueErrorR   R   R   R4   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_unk_scaling_   s    c         C` s   t  j d d t  j } | j d
  } d | d  d   d  d   d f <t |  \ } } t | j d  t | d d d  d   f | d d d  d   f d	  t | d d d  d   f  \ } } t | t  j d  d   f | d d  d   f d	  d  S(   Ni   R/   i   i   i
   g      ?i    i   i<   (   i   i   i
   (   i   i   i   (	   R   R   t   float64t   reshapeR   R   t   shapeR   t   newaxis(   R   R   R   R    t   f0t   p0(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_nd_axis_m1c   s    6%c         C` s   t  j d d t  j } | j d  } d | d d  d   d  d   f <t | d d \ } } t | j d  t | d  d   d d f | d  d   d d f d
  t | d  d   d d f  \ } } t | | d  d   d d f  d  S(   Ni   R/   i
   i   i   g      ?i    t   axisi   i<   (   i
   i   i   (   i   i   i   (   R   R   R:   R;   R   R   R<   R   (   R   R   R   R    R>   R?   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_nd_axis_0m   s    6%c         C` s   t  j d  } d | d <t | d d  \ } } t j d d  } t | d |  \ } } t | |  t | |  t j d d  } t t t | d |  d  S(   Ni   i   i    i
   t   hanni    (   R   R   R   R   t
   get_windowR   R7   R8   (   R   R   R   R    t   wint   fet   pet   win_err(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_window_externalw   s    
c         C` s   t  j d  } d | d <t |  \ } } t | d d \ } } t | | d  d  d   t | | d  d  d   t | j d  d  S(	   Ni   i   i    t   nffti    i   i   (   i   (   R   R   R   R   R   R<   (   R   R   R   R    t   fpt   pp(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_padded_fft   s    
c         C` s   t  g   \ } } t | j d  t | j d  xR d d d	 g D]A } t  t j |   \ } } t | j |  t | j |  qB Wd  S(
   Ni    i   i   i   (   i    (   i    (   i    (   i   i    (   i    i   i   (   R   R   R<   R   t   empty(   R   R   R    R<   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_empty_input   s    c         C` s\   xU d d g D]G } t  t j |  d d \ } } t | j |  t | j |  q Wd  S(	   Ni   i    i   i   RA   i   (   i   i    (   i    i   i   (   R   R   RN   R   R<   (   R   R<   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_empty_input_other_axis   s    !c         C` s   t  j d  } d | d <t | d d \ } } t | t  j d d d   t  j d  } d | d <| d c d	 <| d
 } t | |  d  S(   Ni   i   i    RJ   i   g      ?i	   ig       @i   (   R   R   R   R   R   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_short_nfft   s    


c         C` s   t  j d  } d | d <t | d d \ } } t | t  j d d d   t  j d  } d | d <| d c d <| d	 } t | |  d  S(
   Ni   i   i    RJ   g      ?i	   ig       @i   (   R   R   R   R   R   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_nfft_is_xshape   s    


c         C` s   t  j d d  } d | d <t |  \ } } t | t  j d d d   t  j d d  } d | d <| d c d <| d	 } t | |  t | j | j k  d  S(
   Ni   R   i   i    g      ?i	   ig       @i   (   R   R   R   R   R   R   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_real_onesided_even_32   s    


c         C` s   t  j d d  } d | d <t |  \ } } t | t  j d  d  t  j d d  } d | d <| d 9} t | | d	 d
 t | j | j k  d  S(   Ni   R   i   i    g       @g      .@i   g       @R#   gHz>g?(   R   R   R   R   R$   R   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_real_onesided_odd_32   s    


c         C` s   t  j d d  } d | d <t | d t \ } } t | t j d d   t  j d d  d } d | d <t | |  t | j	 | j	 k  d  S(   Ni   R   i   i    R&   g      ?g      0@(
   R   R   R   R'   R   R   R(   R   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_real_twosided_32   s    

c         C` s   t  j d d  } d
 | d <t | d t \ } } t | t j d d   d t  j d d  d	 } d | d <t | |  t | j	 | j	 k  d  S(   Ni   t   Fg      ?y               @i    R&   g      @R   g      0@y      ?       @(
   R   R   R   R'   R   R   R(   R   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_complex_32   s    

(   t   __name__t
   __module__R"   R%   R)   R.   R1   R2   R3   R5   R9   R@   RB   RI   RM   RO   RP   RQ   RR   RS   RT   RU   RW   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR      s*   		
					
						
	
											
t	   TestWelchc           B` s(  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! RS(    c         C` s   t  j d  } d | d <d | d <t | d d \ } } t | t  j d d d   t  j d d	 d
 d
 d g  } t | | d d d d d  S(   Ni   i   i    i   t   npersegg      ?i   giKGUU?gS8?g#q?g#q?R#   gHz>t   rtol(   R   R   R   R   R   t   array(   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR"      s    

c         C` s   t  j d  } d | d <d | d <t | d d \ } } t | t  j d  d  t  j d	 d
 d d d g  } t | | d d d d d  S(   Ni   i   i    i   R[   i	   g      @g      "@g9?g?gp0?R#   gHz>R\   (   R   R   R   R   R$   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR%      s    

c      	   C` s   t  j d  } d | d <d | d <t | d d d t \ } } t | t j d d   t  j d d	 d
 d
 d
 d
 d
 d	 g  } t | | d d d d d  S(   Ni   i   i    i   R[   R&   g      ?giKGUU?gS8?g#q?R#   gHz>R\   (   R   R   R   R'   R   R   R(   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR)      s    

c         C` s   t  j d  } d | d <d | d <t | d d d d \ } } t | t  j d d d	   t  j d
 d d d d g  } t | | d d d d d  S(   Ni   i   i    i   R[   R*   R+   g      ?i   g      ?g-UU?g.iqUU?g-UU?R#   gHz>R\   (   R   R   R   R   R   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR.      s    

c         C` s   t  j d d t } d | d <d | d <t | d d \ } } t | t  j d d d   t  j d	 d
 d d d g  } t | | d d d d d  S(   Ni   R/   i   i    i   R[   g      ?i   giKGUU?gS8?g#q?g#q?R#   gHz>R\   (   R   R   R0   R   R   R   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_integer_onesided_even  s    

c         C` s   t  j d d t } d | d <d | d <t | d d \ } } t | t  j d  d	  t  j d
 d d d d g  } t | | d d d d d  S(   Ni   R/   i   i    i   R[   i	   g      @g      "@g9?g?gp0?R#   gHz>R\   (   R   R   R0   R   R   R$   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_integer_onesided_odd  s    

c      	   C` s   t  j d d t } d | d <d | d <t | d d d t \ } } t | t j d d   t  j d	 d
 d d d d d d
 g  } t | | d d d d d  S(   Ni   R/   i   i    i   R[   R&   g      ?giKGUU?gS8?g#q?R#   gHz>R\   (	   R   R   R0   R   R'   R   R   R(   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR3     s    

c      	   C` s   t  j d t  j  } d | d <d | d <t | d d d t \ } } t | t j d d   t  j d d	 d
 d
 d
 d
 d
 d	 g  } t | | d d d d d  S(   Ni   g      ?y               @i    i   R[   R&   g&>?g#q?gn)t?R#   gHz>R\   y      ?       @y      ?       @(	   R   R   R4   R   R'   R   R   R(   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR5   $  s    

c         C` s/   t  t t t j d t j  d d d d d  S(   Ni   R*   R6   R[   (   R7   R8   R   R   R   R4   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR9   .  s    c         C` sZ   t  j d d t  j d } t | d d d d \ } } t | t  j |  d d d  S(	   Ni
   R/   g{Gz?R[   t   detrendt   linearR#   gV瞯<(   R   R$   R:   R   R   t
   zeros_like(   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_detrend_linear2  s    c         C` s   t  j d d t  j d } t | d d d t \ } } t | d d d d   \ } } t | | d d t | | d d d  S(	   Ni
   R/   g{Gz?R[   R`   c         S` s   |  S(   N(    (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   <lambda>:  s    R#   gV瞯<(   R   R$   R:   R   R'   R   (   R   R   t   f1t   p1t   f2t   p2(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_no_detrending7  s
    !c         C` s]   t  j d d t  j d } t | d d d d   \ } } t | t  j |  d d d  S(	   Ni
   R/   g{Gz?R[   R`   c         S` s   t  j |  d d S(   Nt   typet   l(   R   R`   (   t   seg(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRd   A  s    R#   gV瞯<(   R   R$   R:   R   R   Rb   (   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_detrend_external>  s    c         C` sl   t  j d d t  j d } | j d  } t | d d d d   \ } } t | t  j |  d	 d
 d  S(   Ni(   R/   g{Gz?i   i
   R[   R`   c         S` s   t  j |  d d S(   NRj   Rk   (   R   R`   (   Rl   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRd   H  s    R#   gV瞯<(   i   i   i
   (   R   R$   R:   R;   R   R   Rb   (   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_detrend_external_nd_m1D  s
    c         C` s   t  j d d t  j d } | j d  } t  j | d d  } t | d d d	 d d
 d   \ } } t | t  j |  d d d  S(   Ni   R/   g{Gz?i   i   i
   i    R[   RA   R`   c         S` s   t  j |  d d d d S(   NRA   i    Rj   Rk   (   R   R`   (   Rl   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRd   P  s    R#   gV瞯<(   i   i   i
   (   R   R$   R:   R;   t   rollaxisR   R   Rb   (   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_detrend_external_nd_0K  s    c         C` s   t  j d d t  j d } | j d  } t | d d \ } } t | j d  t | d	 d	 d  d   f | d d	 d  d   f d
 d d d t | d	 d	 d  d   f d d \ } } t | t  j d  d   f | d d  d   f d
 d d d d  S(   Ni   R/   g{Gz?i   i   i
   R[   i   i    R#   gvIh%<=R\   (   i   i   i
   (   i   i   i   (	   R   R$   R:   R;   R   R   R<   R   R=   (   R   R   R   R    R>   R?   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR@   S  s    ?+c         C` s   t  j d d t  j d } | j d  } t | d d d d	 \ } } t | j d  t | d  d   d	 d	 f | d  d   d d	 f d d d d t | d  d   d	 d	 f d d \ } } t | | d  d   d d	 f d d d d d  S(   Ni   R/   g{Gz?i
   i   i   R[   RA   i    i   R#   gvIh%<=R\   (   i
   i   i   (   i   i   i   (   R   R$   R:   R;   R   R   R<   R   (   R   R   R   R    R>   R?   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRB   \  s    ?+c         C` s   t  j d  } d | d <d | d <t | d d d d \ } } t j d d  } t | d | d d  \ } } t | |  t | |  t | j d  t | j d  t	 t
 t | d | d d	 t j d d
  } t	 t
 t | d | d d  d  S(   Ni   i   i    i   i
   RC   R[   i   i   i    (   i   (   i   (   R   R   R   R   RD   t   NoneR   R   R<   R7   R8   (   R   R   R   R    RE   RF   RG   RH   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRI   e  s    

c         C` s   t  g   \ } } t | j d  t | j d  xR d d d	 g D]A } t  t j |   \ } } t | j |  t | j |  qB Wd  S(
   Ni    i   i   i   (   i    (   i    (   i    (   i   i    (   i    i   i   (   R   R   R<   R   RN   (   R   R   R    R<   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRO   v  s    c         C` s\   xU d d g D]G } t  t j |  d d \ } } t | j |  t | j |  q Wd  S(	   Ni   i    i   i   RA   i   (   i   i    (   i    i   i   (   R   R   RN   R   R<   (   R   R<   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRP     s    !c   	   
   C` s   t  j d  } d | d <t   M } | j t d  t | d d \ } } t | d d d d \ } } Wd  QXt | d d \ } } t | |  t | |  t | |  t | |  d  S(	   Ni   i   i    sB   nperseg = 256 is greater than input length  = 8, using nperseg = 8t   windowRC   R[   i   (   R   R   R
   t   filtert   UserWarningR   R   (	   R   R   t   supR   R    Re   Rf   Rg   Rh   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_short_data  s    
$c         C` sl   t  t t t j d  d t j d d d d d g   t  t t t j d  d t j d  j d   d  S(   Ni   i   i   i   i   (   i   i   (   R7   R8   R   R   R   R]   R$   R;   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_window_long_or_nd  s    7c         C` s   t  j d  } d | d  d  d  <t | d d d d \ } } t  j d d d d d d d d d g	  } t | | d d d  S(   Ni@   i   i   R[   i   t   noverlapi   i    g      ?g      (@g      @g      @g      @R#   g-q=gUUUUUU?gUUUUUU?g?gUUUUUU?g?gUUUUUU?g?gUUUUUU?(   R   R   R   R]   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_nondefault_noverlap  s    c         C` s)   t  t t t j d  d d d d  d  S(   Ni   i   RC   i   i   (   R7   R8   R   R   R   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_bad_noverlap  s    c         C` s)   t  t t t j d  d d d d d  S(   Ni   RJ   i   R[   i   (   R7   R8   R   R   R   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_nfft_too_short  s    c         C` s   t  j d d  } d | d <d | d <t | d d \ } } t | t  j d d d   t  j d	 d
 d d d g d  } t | | d d d d t | j | j k  d  S(   Ni   R   i   i    i   R[   g      ?i   giKGUU?gS8?g#q?g#q?R#   gHz>R\   (   R   R   R   R   R   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRS     s    

c         C` s   t  j d d  } d | d <d | d <t | d d \ } } t | t  j d  d	  t  j d
 d d d d g d  } t | | d d d d t | j | j k  d  S(   Ni   R   i   i    i   R[   i	   g      @g      "@gx:?gyѲI?gp0?gw0?R#   gHz>R\   (   R   R   R   R   R$   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRT     s    

c      	   C` s   t  j d d  } d | d <d | d <t | d d d t \ } } t | t j d d   t  j d	 d
 d d d d d d
 g d  } t | | d d d d t | j	 | j	 k  d  S(   Ni   R   i   i    i   R[   R&   g      ?giKGUU?gS8?g#q?R#   gHz>R\   (
   R   R   R   R'   R   R   R(   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRU     s    

c      	   C` s   t  j d d  } d | d <d | d <t | d d d t \ } } t | t j d d   t  j d	 d
 d d d d d d
 g d  } t | | d d d d t | j	 | j	 k d | j	 | j	 f  d  S(   Ni   RV   g      ?y               @i    i   R[   R&   g%?gA2q?gd^?g~?R   R#   gHz>R\   s   dtype mismatch, %s, %sy      ?       @y      ?       @(
   R   R   R   R'   R   R   R(   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRW     s    

c         C` s  t  j d  } d } t j | d  | d d  } | d c d 9<t | d d d	 | \ } } t | d d
 d	 | \ } } t | |  t | |  d } t j | d  | d d  } t | d d d	 | \ } } t | d d
 d	 | \ } } t | |  t | |  d  S(   Ni   i   g      ?i   i   iR[   i   RJ   i   i   (   R   R   R   R(   R   R   (   R   R   RJ   R   t   foddt   _t   feven(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_padded_freqs  s    c         C` s2  d } d } t  | d  } d } t  | | |  } t j |  | } | t j d t j | |  } x d d d d
 g D] } t | d | d | d | d d \ }	 }
 t | d | d | d | d d \ } } t |
 | | d d  t t j t j | |   | t j d  d d d q~ Wd  S(   Ni   g     @i
   i,  i   RC   t   bartlettt   tukeyg?t   flattopt   fsR[   Rr   R*   R+   R,   g       @R\   gMbP?(   R   g?(	   R0   R   R$   t   sint   piR   R   t   sqrtt   trapz(   R   t   AR   R[   t   fsigt   iit   ttR   Rr   R}   t   p_spect   freqt   p_dens(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_window_correction  s    "2c   	      C` s   t  j j d  t  j j d  } t |  \ } } x t d  D] } d g d } d | | <| j |  } t | d | \ } } t | d | | j \ } } t | | j	   d | t | | j	   d | | j qA Wd  S(   Ni  i   i   i   iRA   t   err_msg(
   R   t   randomt   seedt   randnR   t   rangeR;   t   ndimR   t   squeeze(	   R   t   x_flatR}   t   p_flatt   at   newshapeR   t   p_plust   p_minus(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_axis_rolling  s    
c         C` s   t  j d  } d | d <d | d <t | d d d d \ } } t | t  j d d d	   t  j d
 d d d d g  } t | | d d d d t t t | d d d d d  S(   Ni   i   i    i   R[   t   averaget   mediang      ?i   g?g?g        g&E    9R#   gHz>R\   s   unrecognised-average(   R   R   R   R   R   R]   R7   R8   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_average  s    

("   RX   RY   R"   R%   R)   R.   R^   R_   R3   R5   R9   Rc   Ri   Rm   Rn   Rp   R@   RB   RI   RO   RP   Rv   Rw   Ry   Rz   R{   RS   RT   RU   RW   R   R   R   R   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRZ      s@   	
	
	
	
	
	
	
	
																										t   TestCSDc           B` s  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  RS(   c         C` s   t  j d  } t  j d  } t  j d d d  } t  j d d t  j } t | | d d \ } } t | |  t | |  d  S(   Ni   i   i    g      ?i   R/   R[   (   R   R   R   R4   R   R   (   R   R   t   yR   t   cRe   t   c1(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_pad_shorter_x  s    c         C` s   t  j d  } t  j d  } t  j d d d  } t  j d d t  j } t | | d d \ } } t | |  t | |  d  S(   Ni   i   i    g      ?i   R/   R[   (   R   R   R   R4   R   R   (   R   R   R   R   R   Re   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_pad_shorter_y'  s    c         C` s   t  j d  } d | d <d | d <t | | d d \ } } t | t  j d d d   t  j d d	 d
 d
 d g  } t | | d d d d d  S(   Ni   i   i    i   R[   g      ?i   giKGUU?gS8?g#q?g#q?R#   gHz>R\   (   R   R   R   R   R   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR"   2  s    

c         C` s   t  j d  } d | d <d | d <t | | d d \ } } t | t  j d  d  t  j d	 d
 d d d g  } t | | d d d d d  S(   Ni   i   i    i   R[   i	   g      @g      "@g9?g?gp0?R#   gHz>R\   (   R   R   R   R   R$   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR%   <  s    

c      	   C` s   t  j d  } d | d <d | d <t | | d d d t \ } } t | t j d d   t  j d d	 d
 d
 d
 d
 d
 d	 g  } t | | d d d d d  S(   Ni   i   i    i   R[   R&   g      ?giKGUU?gS8?g#q?R#   gHz>R\   (   R   R   R   R'   R   R   R(   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR)   F  s    

!c         C` s   t  j d  } d | d <d | d <t | | d d d d \ } } t | t  j d d d	   t  j d
 d d d d g  } t | | d d d d d  S(   Ni   i   i    i   R[   R*   R+   g      ?i   g      ?g-UU?g.iqUU?g-UU?R#   gHz>R\   (   R   R   R   R   R   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR.   P  s    

!c         C` s   t  j d d t } d | d <d | d <t | | d d \ } } t | t  j d d d   t  j d	 d
 d d d g  } t | | d d d d d  S(   Ni   R/   i   i    i   R[   g      ?i   giKGUU?gS8?g#q?g#q?R#   gHz>R\   (   R   R   R0   R   R   R   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR^   Z  s    

c         C` s   t  j d d t } d | d <d | d <t | | d d \ } } t | t  j d  d	  t  j d
 d d d d g  } t | | d d d d d  S(   Ni   R/   i   i    i   R[   i	   g      @g      "@g9?g?gp0?R#   gHz>R\   (   R   R   R0   R   R   R$   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR_   d  s    

c      	   C` s   t  j d d t } d | d <d | d <t | | d d d t \ } } t | t j d d   t  j d	 d
 d d d d d d
 g  } t | | d d d d d  S(   Ni   R/   i   i    i   R[   R&   g      ?giKGUU?gS8?g#q?R#   gHz>R\   (	   R   R   R0   R   R'   R   R   R(   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR3   n  s    

!c      	   C` s   t  j d t  j  } d | d <d | d <t | | d d d t \ } } t | t j d d   t  j d d	 d
 d
 d
 d
 d
 d	 g  } t | | d d d d d  S(   Ni   g      ?y               @i    i   R[   R&   g&>?g#q?gn)t?R#   gHz>R\   y      ?       @y      ?       @(	   R   R   R4   R   R'   R   R   R(   R]   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR5   x  s    

!c      	   C` sA   t  t t t j d t j  t j d t j  d d d d d  S(   Ni   R*   R6   R[   (   R7   R8   R   R   R   R4   R   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR9     s    c         C` s]   t  j d d t  j d } t | | d d d d \ } } t | t  j |  d d d  S(	   Ni
   R/   g{Gz?R[   R`   Ra   R#   gV瞯<(   R   R$   R:   R   R   Rb   (   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRc     s    !c         C` s   t  j d d t  j d } t | | d d d t \ } } t | | d d d d   \ } } t | | d d t | | d d d  S(	   Ni
   R/   g{Gz?R[   R`   c         S` s   |  S(   N(    (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRd     s    R#   gV瞯<(   R   R$   R:   R   R'   R   (   R   R   Re   Rf   Rg   Rh   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRi     s
    !$c         C` s`   t  j d d t  j d } t | | d d d d   \ } } t | t  j |  d d d  S(	   Ni
   R/   g{Gz?R[   R`   c         S` s   t  j |  d d S(   NRj   Rk   (   R   R`   (   Rl   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRd     s    R#   gV瞯<(   R   R$   R:   R   R   Rb   (   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRm     s    c         C` so   t  j d d t  j d } | j d  } t | | d d d d   \ } } t | t  j |  d	 d
 d  S(   Ni(   R/   g{Gz?i   i
   R[   R`   c         S` s   t  j |  d d S(   NRj   Rk   (   R   R`   (   Rl   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRd     s    R#   gV瞯<(   i   i   i
   (   R   R$   R:   R;   R   R   Rb   (   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRn     s
    c      	   C` s   t  j d d t  j d } | j d  } t  j | d d  } t | | d d d	 d d
 d   \ } } t | t  j |  d d d  S(   Ni   R/   g{Gz?i   i   i
   i    R[   RA   R`   c         S` s   t  j |  d d d d S(   NRA   i    Rj   Rk   (   R   R`   (   Rl   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRd     s    R#   gV瞯<(   i   i   i
   (   R   R$   R:   R;   Ro   R   R   Rb   (   R   R   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRp     s    c         C` s  t  j d d t  j d } | j d  } t | | d d \ } } t | j d  t | d	 d	 d  d   f | d d	 d  d   f d
 d d d t | d	 d	 d  d   f | d	 d	 d  d   f d d \ } } t | t  j d  d   f | d d  d   f d
 d d d d  S(   Ni   R/   g{Gz?i   i   i
   R[   i   i    R#   gvIh%<=R\   (   i   i   i
   (   i   i   i   (	   R   R$   R:   R;   R   R   R<   R   R=   (   R   R   R   R    R>   R?   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR@     s    ?Ac         C` s  t  j d d t  j d } | j d  } t | | d d d d	 \ } } t | j d  t | d  d   d	 d	 f | d  d   d d	 f d d d d t | d  d   d	 d	 f | d  d   d	 d	 f d d \ } } t | | d  d   d d	 f d d d d d  S(   Ni   R/   g{Gz?i
   i   i   R[   RA   i    i   R#   gvIh%<=R\   (   i
   i   i   (   i   i   i   (   R   R$   R:   R;   R   R   R<   R   (   R   R   R   R    R>   R?   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRB     s    !?Ac      	   C` s  t  j d  } d | d <d | d <t | | d d d  \ } } t j d d  } t | | d | d d  \ } } t | |  t | |  t | j d  t | j d  t	 t
 t | | d | d d	 t j d d
  } t	 t
 t | | d | d d  d  S(   Ni   i   i    i   i
   RC   R[   i   i   i    (   i   (   i   (   R   R   R   R   RD   Rq   R   R   R<   R7   R8   (   R   R   R   R    RE   RF   RG   RH   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRI     s    

!c         C` so  t  g  t j d   \ } } t | j d  t | j d  t  t j d  g   \ } } t | j d  t | j d	  x^ d
 d d g D]M } t  t j |  t j |   \ } } t | j |  t | j |  q Wt  t j d  t j d   \ } } t | j d  t | j d  t  t j d  t j d   \ } } t | j d  t | j d  d  S(   Ni
   i    i   i   i   (   i    (   i    (   i    (   i    (   i    (   i   i    (   i    i   i   (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   R   R   R   R   R<   RN   R   (   R   R   R    R<   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRO     s     '''c         C` s  xa d d	 g D]S } t  t j |  t j |  d d \ } } t | j |  t | j |  q Wt  t j d
  t j d  d d \ } } t | j d  t | j d  t  t j d  t j d  d d \ } } t | j d  t | j d  d  S(   Ni   i    i   i   RA   i   i
   (   i   i    (   i    i   i   (   i
   i
   i   (   i
   i    i   (   i
   i    i   (   i
   i    i   (   i
   i    i   (   i
   i
   i   (   i
   i    i   (   i
   i    i   (   R   R   RN   R   R<   R   (   R   R<   R   R    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRP     s    ---c   	      C` s   t  j d  } d | d <t   S } | j t d  t | | d d \ } } t | | d d d d \ } } Wd  QXt | | d d \ } } t | |  t | |  t | |  t | |  d  S(	   Ni   i   i    sB   nperseg = 256 is greater than input length  = 8, using nperseg = 8Rr   RC   R[   i   (   R   R   R
   Rs   Rt   R   R   (	   R   R   Ru   R   R    Re   Rf   Rg   Rh   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRv     s    
'c         C` s   t  t t t j d  t j d  d t j d d d d d g   t  t t t j d  t j d  d t j d  j d   d  S(   Ni   i   i   i   i   (   i   i   (	   R7   R8   R   R   R   R   R]   R$   R;   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRw     s    $$c         C` s   t  j d  } d | d  d  d  <t | | d d d d \ } } t  j d d d d d d d d d g	  } t | | d d d  S(   Ni@   i   i   R[   i   Rx   i   i    g      ?g      (@g      @g      @g      @R#   g-q=gUUUUUU?gUUUUUU?g?gUUUUUU?g?gUUUUUU?g?gUUUUUU?(   R   R   R   R]   R   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRy     s    !c      	   C` s5   t  t t t j d  t j d  d d d d  d  S(   Ni   i   RC   i   i   (   R7   R8   R   R   R   R   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRz     s    'c      	   C` s5   t  t t t j d  t j d  d d d d d  S(   Ni   RJ   i   R[   i   (   R7   R8   R   R   R   R   (   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR{     s    *c         C` s   t  j d d  } d | d <d | d <t | | d d \ } } t | t  j d d d   t  j d	 d
 d d d g d  } t | | d d d d t | j | j k  d  S(   Ni   R   i   i    i   R[   g      ?i   giKGUU?gS8?g#q?g#q?R#   gHz>R\   (   R   R   R   R   R   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRS     s    

c         C` s   t  j d d  } d | d <d | d <t | | d d \ } } t | t  j d  d	  t  j d
 d d d d g d  } t | | d d d d t | j | j k  d  S(   Ni   R   i   i    i   R[   i	   g      @g      "@gx:?gyѲI?gp0?gw0?R#   gHz>R\   (   R   R   R   R   R$   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRT     s    

c      	   C` s   t  j d d  } d | d <d | d <t | | d d d t \ } } t | t j d d   t  j d	 d
 d d d d d d
 g d  } t | | d d d d t | j	 | j	 k  d  S(   Ni   R   i   i    i   R[   R&   g      ?giKGUU?gS8?g#q?R#   gHz>R\   (
   R   R   R   R'   R   R   R(   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRU   *  s    

!c      	   C` s   t  j d d  } d | d <d | d <t | | d d d t \ } } t | t j d d   t  j d	 d
 d d d d d d
 g d  } t | | d d d d t | j	 | j	 k d | j	 | j	 f  d  S(   Ni   RV   g      ?y               @i    i   R[   R&   g%?gA2q?gd^?g~?R   R#   gHz>R\   s   dtype mismatch, %s, %sy      ?       @y      ?       @(
   R   R   R   R'   R   R   R(   R]   R   R/   (   R   R   R   R    R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRW   6  s    

!c         C` s2  t  j d  } t  j d  } d } t j | d  | d d  } | d c d 9<t | | d d d	 | \ } } t | | d d
 d	 | \ } } t | |  t | |  d } t j | d  | d d  } t | | d d d	 | \ } } t | | d d
 d	 | \ } } t | |  t | |  d  S(   Ni   i   g      ?i   i   iR[   i   RJ   i   i   (   R   R   R   R   R(   R   R   (   R   R   R   RJ   R   R|   R}   R~   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR   B  s    !!!!(!   RX   RY   R   R   R"   R%   R)   R.   R^   R_   R3   R5   R9   Rc   Ri   Rm   Rn   Rp   R@   RB   RI   RO   RP   Rv   Rw   Ry   Rz   R{   RS   RT   RU   RW   R   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR     s>   			
	
	
	
	
	
	
	
																						t   TestCoherencec           B` s   e  Z d    Z d   Z RS(   c         C` s~   t  j j d  } t  j |  } t  j d d d  } t  j d  } t | | d d \ } } t | |  t | |  d  S(   Ni   i    g      ?i   R[   i
   (   R   R   R   t   copyR   R   R   R   (   R   R   R   R   t   CRe   t   C1(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_identical_inputV  s    c         C` sv   t  j j d  } | } t  j d d d  } t  j d  } t | | d d \ } } t | |  t | |  d  S(   Ni   i    g      ?i   R[   i
   (   R   R   R   R   R   R   R   (   R   R   R   R   R   Re   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_phase_shifted_inputa  s    (   RX   RY   R   R   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR   U  s   	t   TestSpectrogramc           B` s#   e  Z d    Z d   Z d   Z RS(   c         C` s   t  j j d  } d } d	 } d } d } t | | | | |  \ } } } t | | | | |  \ }	 }
 t | |	  t t  j | d d |
  d  S(
   Ni   g      ?R   g      ?i   i   RA   i(   R   g      ?(   R   R   R   R   R   R   t   mean(   R   R   R   Rr   R[   Rx   R   R}   t   Pt   fwt   Pw(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_average_all_segmentsn  s    !c         C` s   t  j j d  } d } d } d } d } t | | | | |  \ } } } t j d d  }	 t | | |	 d d  d d \ }
 } } t |
 j d  t | j d  t	 t
 t | | |	 d d t j d d  } t	 t
 t | | | d d  d  S(   Ni   g      ?R   g      ?i   i   R[   Rx   i	   iI   i   i   (   R   g      ?(   R   g      ?(   i	   (   i	   iI   (   R   g      ?(   R   R   R   R   R   RD   Rq   R   R<   R7   R8   (   R   R   R   Rr   R[   Rx   R   R}   R   RE   RF   t   PeRH   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRI   {  s    !'c         C` s   t  j j d  } d } t | | d d
 \ } } } t   ; } | j t d  t | | d d d d \ } } } Wd  QXt | | d d	 \ }	 } }
 t | | d d \ } } } t | |	  t | |
  t | |  t | |  d  S(   Ni   g      ?Rr   R   g      ?sI   nperseg = 1025 is greater than input length  = 1024, using nperseg = 1024R[   i  i   (   R   g      ?(   R   g      ?(   R   R   R   R   R
   Rs   Rt   R   (   R   R   R   R   R}   R    Ru   Re   Rf   Rg   Rh   t   f3t   p3(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyRv     s    	(   RX   RY   R   RI   Rv   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR   m  s   		t   TestLombscarglec           B` sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s   d } d } d t  j } d } d } d } t  j j d  t  j j |  } t  j d t  j d	 t  j |  | | k } | t  j | | |  }	 t  j d d	 |  }
 t | |	 |
  } |
 d
 |
 d } t | |
 t  j	 |  | d k   d S(   sg   Test if frequency location of peak corresponds to frequency of
        generated input signal.
        g       @g      ?g      ?id   i  gffffff?i# g{Gz?g      $@i   i    N(
   R   R   R   R   t   randR   R   R   R   t   argmax(   R   t   amplt   wt   phit   nint   noutR    t   rt   tR   R   R   t   delta(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_frequency  s    -c         C` s   d } d } d t  j } d } d } d } t  j j d  t  j j |  } t  j d t  j d	 t  j |  | | k } | t  j | | |  }	 t  j d d	 |  }
 t | |	 |
  } t  j d
 | | j	 d  } t
 t  j |  | d d d  S(   Ng       @g      ?g      ?id   i  gffffff?i# g{Gz?g      $@i   i    t   significanti   (   R   R   R   R   R   R   R   R   R   R<   R   t   max(   R   R   R   R   R   R   R    R   R   R   R   t   pgram(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_amplitude  s    -c         C` s   d } d } d t  j } d } d } d } d } t  j j d  t  j j |  } t  j d	 t  j d
 t  j |  | | k }	 | t  j | |	 |  | }
 t  j d	 d
 |  } t |	 |
 | d t } t |	 |
 |
 j	   | d t
 } t | |  d  S(   Ng       @g      ?g      ?id   i  gffffff?g333333?i# g{Gz?g      $@t	   precenter(   R   R   R   R   R   R   R   R   t   TrueR   R'   R   (   R   R   R   R   R   R   R    t   offsetR   R   R   R   R   t   pgram2(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_precenter  s    -"c         C` s  d } d } d t  j } d } d } d } t  j j d  t  j j |  } t  j d t  j d	 t  j |  | | k } | t  j | | |  }	 t  j d d	 |  }
 t | |	 |
  } t | |	 |
 d
 t } t	 | d t  j
 |	 |	  |  t t  j |  d d d d  S(   Ng       @g      ?g      ?id   i  gffffff?i# g{Gz?g      $@t	   normalizei   R   (   R   R   R   R   R   R   R   R   R   R   t   dotR   R   (   R   R   R   R   R   R   R    R   R   R   R   R   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_normalize  s    -!c         C` sY   t  j d d d  } t  j d d d  } t  j d d d  } t t t | | |  d  S(   Ni    i   i   i   (   R   R   R7   R8   R   (   R   R   R   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_wrong_shape  s    c         C` sG   t  j d  } t  j d  } t  j d  } t t t | | |  d  S(   Ni   (   R   R   R7   t   ZeroDivisionErrorR   (   R   R   R   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_zero_division%  s    c         C` sn   t  j d d d d t } t  j d |  } t  j d d d d t d } t | | | d	 t  j  } d  S(
   Ni    i
   i  t   endpointi   i2   i  g?i   (   R   R   R'   R   R   R   (   R   R   R   R   R!   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_lombscargle_atan_vs_atan2+  s    (	   RX   RY   R   R   R   R   R   R   R   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR     s   	 	!				t   TestSTFTc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 e
 j j d d	  d
    Z d   Z d   Z d   Z d   Z d   Z RS(   c      
   C` s  t  t t d d d  t  t t d d d  t  t t t j d  d d  t  t t t j d  d d  t  t t d d d  t  t t d d d  t  t t t j d  d d  t  t t t j d  d d  t  t t d d d  t j d	  } t |  } t  t t | d
 t j d  t  t t | d
 t j d  d d t  t t | d d t  t t | d d d d	 t  t t | d d d d t  t t |  t  t t | d
 t j d  t  t t | d
 t j d  d d t  t t | d d t  t t | d d d d	 t  t t | d d d d t  t t | d d d d d
 d t  t t | d d d d t  t t	 | | d d t  t t	 | d  | d d d t  t t	 | | d d d  S(   NRC   ii    i
   i   i   i@   ii   Rr   R[   i   i Rx   RJ   i   t	   time_axist	   freq_axist   modeR6   i   R   t   boundary(   i   i   (   i   i   (   i   i   (   i   i   (
   R7   R8   R   R   R   R   RN   R   R   R   (   R   R   t   z(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_input_validation5  s:    %%c      
   C` s[   d d d d d d d d g } x6 | D]. } d j  |   } t t t |   d | q% Wd  S(   Nt   boxcari
   i    i	   R   i3   i   RC   i   i   i   t   blackmani,  i   R   g      ?i@   i   s   {0}, {1}, {2}R   (   R   i
   i    (   R   i
   i	   (   R   i3   i   (   RC   i   i   (   RC   i   i   (   R   i,  i   (   R   g      ?(   (   R   g      ?i   i@   (   RC   i   i   (   t   formatR   R   R   (   R   t   settingst   settingt   msg(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_check_COLAY  s    	c         C` s   d d d d d  d! d" d# d$ d% d' d) d* d+ g } x6 | D]. } d j  |   } t t t |   d | q7 Wt j d  } d | d  d  d  <| t |  t |  d f d, g } x6 | D]. } d j  |   } t t t |   d | q Wd  S(-   NR   i
   i    i	   i   R   i3   i   RC   i   i   i   i%   R   i,  i   i{   R   g      ?i@   i&   i   i'   s   {0}, {1}, {2}R   i   i   (   R   i
   i    (   R   i
   i	   (   R   i
   i   (   R   i3   i   (   R   i3   i
   (   RC   i   i   (   RC   i   i   (   RC   i   i%   (   R   i,  i   (   R   i,  i{   (   R   g      ?(   (   R   g      ?i   i@   (   R   g      ?(   (   R   g      ?i   i&   (   RC   i   i   (   RC   i   i'   (   RC   i@   i    (   R   R   R   R   R   R   t   lenR'   (   R   t   settings_passR   R   t   w_failt   settings_fail(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_check_NOLAi  s0    		c         C` s   t  j j d  t  j j d  } d } d } d } d } t | | | | | d t d t d	 d  \ } } } t | | | | | d t d
 d d t \ }	 }
 t | |	  t t  j	 t  j
 |  d d d |
  d  S(   Ni  i   g      ?RC   i   i   t   paddedR&   R   R*   R+   R`   i   RA   i(   R   R   R   R   R   R'   Rq   R   R   R   t   abs(   R   R   R   Rr   R[   Rx   R   R}   t   ZR   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR     s    c      
   C` sJ  t  j j d  t  j j d  } d } d } d } d } t | | | | |  \ } } } t | j d  | | | | d	 d
 \ }	 }
 } t | | | | |  \ } } t | j | | | | d d
 d d \ } } t | |	  t | |
  t | |  t | | d  d   d
 d
 d  d   f  t | | d  d   d
 d
 f  d  S(   Ni  i   g      ?RC   i   i   ii   RA   i    R   R   (   ii   i   (	   R   R   R   R   R   R;   R   t   TR   (   R   R   R   Rr   R[   Rx   Re   t   t1t   Z1Rg   t   t2t   Z2t   t3t   x1t   t4t   x2(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_permute_axes  s"    !)c         C` s   t  j j d  d d d d d  d! g } x | D] \ } } } } t  j |  } d t  j j | j  } t | d | d | d | d d  d t \ } } }	 t	 |	 d | d | d | \ }
 } d j
 | |  } t | |
 d | t | | d | q/ Wd  S("   Ni  R   id   i
   i    i	   R   ie   i3   i   RC   i   i   i   R   g      ?i  i@   i   R[   Rx   Rr   R`   R   s   {0}, {1}R   (   R   id   i
   i    (   R   id   i
   i	   (   R   ie   i3   i   (   RC   i   i   i   (   R   g      ?(   (   R   g      ?i  i   i@   (   RC   i   i   i   (   R   R   R   R$   R   t   sizeR   Rq   R'   R   R   R   (   R   R   Rr   t   NR[   Rx   R   R   R}   t   zzt   trt   xrR   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_roundtrip_real  s"    	c         C` s  t  j j d  t  j d  } d | d  d  d  <| d t |  t |  d f d g } xI| D]A\ } } } } d j | | | |  } t | | |  s t |   t  j |  } d	 t  j j	 | j
  }	 t |	 d
 | d | d | d d  d t d d \ }
 }
 } t j t d d / t | d
 | d | d | d t \ } } Wd  QXt  j | | t |    syt |   t  j |	 | t |	    sa t |   qa Wd  S(   Ni  i   i    i   i   RC   i@   s   {0}, {1}, {2}, {3}i
   R[   Rx   Rr   R`   R   R   R   t   matcht   NOLA(   RC   i   i@   i    (   R   R   R   R   R   R   R   t   AssertionErrorR$   R   R   R   Rq   R   t   pytestt   warnsRt   R   t   allclose(   R   R   R   Rr   R   R[   Rx   R   R   R   R}   R   R   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_roundtrip_not_nola  s$    	(c         C` so  t  j j d  d d d d! d" g } xC| D];\ } } } } d j | | |  } t | | |  sq t |   t | | |  s t |   t  j |  } d t  j j | j	  } t
 | d | d | d | d d  d t d d \ }	 }	 }
 t |
 d | d | d | d t \ } } d j | |  } t | | t |   d | t | | t |   d | q, Wd  S(#   Ni  R   id   i
   i   R   ie   i3   i%   RC   i   i   i   R   g      ?i  i   i   s   {0}, {1}, {2}R[   Rx   Rr   R`   R   R   R   s   {0}, {1}R   (   R   id   i
   i   (   R   ie   i3   i%   (   RC   i   i   i   (   R   g      ?(   (   R   g      ?i  i   i   (   RC   i   i   i   (   R   R   R   R   R   R   R   R$   R   R   R   Rq   R   R   R   R   (   R   R   Rr   R   R[   Rx   R   R   R   R}   R   R   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_roundtrip_nola_not_cola  s(    	t   reasons6   Needs complex rfft from fftpack, see gh-2487 + gh-6058c         C` s  t  j j d  d g } x | D] \ } } } } t  j |  } d t  j j | j  } | j t  j  } t | d | d | d	 | d
 d  d t
 \ } } }	 t |	 d | d | d	 | \ }
 } d j | |  } t | | d | t | | d | d d t | j | j k  q  Wd  S(   Ni  RC   i   i   i   i
   R[   Rx   Rr   R`   R   s   {0}, {1}R   R\   g-C6?(   RC   i   i   i   (   R   R   R   R$   R   R   t   astypet   float32R   Rq   R'   R   R   R   R   R/   (   R   R   Rr   R   R[   Rx   R   R   R}   R   R   R   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_roundtrip_float32  s    	c         C` s  t  j j d  d d  d! d" d$ d% g } x | D] \ } } } } t  j |  } d t  j j | j  d t  j j | j  } t | d | d | d | d d  d t d t \ } } }	 t	 |	 d | d | d | d t \ }
 } d j
 | | |  } t | |
 d | t | | d | q/ Wt   P } | j t d  t | d | d | d | d d  d t d t \ } } }	 Wd  QXt	 |	 d | d | d | d t \ }
 } d j
 | | |  } t | |
 d | t | | d | d  S(&   Ni  R   id   i
   i    i	   R   ie   i3   i   RC   i   i   i   R   g      ?i  i@   i   y              $@R[   Rx   Rr   R`   R   R&   t   input_onesideds   {0}, {1}, {2}R   s9   Input data is complex, switching to return_onesided=False(   R   id   i
   i    (   R   id   i
   i	   (   R   ie   i3   i   (   RC   i   i   i   (   R   g      ?(   (   R   g      ?i  i   i@   (   RC   i   i   i   (   R   R   R   R$   R   R   R   Rq   R'   R   R   R   R
   Rs   Rt   R   (   R   R   Rr   R   R[   Rx   R   R   R}   R   R   R   R   Ru   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_roundtrip_complex  s:    	0	c         C` sw  t  j j d  d d g } xT| D]L\ } } } } t  j |  } d t  j j | j  } t | d | d | d	 | d
 d  d t d d  \ } } }	 t	 |	 d | d	 | d t
 \ } }
 x d d d d g D] } t | d | d | d	 | d
 d  d t d | \ } } } t	 | d | d	 | d t \ } } d j | | |  } t | |
 d | t | | d | q Wq# Wd  S(   Ni  R   id   i
   i    i	   R[   Rx   Rr   R`   R   R   t   event   oddt   constantR   s   {0}, {1}, {2}R   (   R   id   i
   i    (   R   id   i
   i	   (   R   R   R   R$   R   R   R   Rq   R   R   R'   R   R   (   R   R   Rr   R   R[   Rx   R   R   R}   R   R   R   t   zz_extt   xr_extR   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt!   test_roundtrip_boundary_extensionF  s&    	$c         C` s   t  j j d  d d g } x | D] \ } } } } t  j |  } d t  j j | j  } t | d
 | d | d | d d  d t \ } } }	 t	 |	 d | d | \ }
 } d j
 | |  } t | |
 | j  d | t | | | j  d | q# Wd  S(   Ni  R   ie   i
   i    RC   i  i   i   R[   Rx   Rr   R`   R   s   {0}, {1}R   (   R   ie   i
   i    (   RC   i  i   i   (   R   R   R   R$   R   R   R   Rq   R   R   R   R   (   R   R   Rr   R   R[   Rx   R   R   R}   R   R   R   R   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_roundtrip_padded_signalg  s    	c         C` s  t  j j d  d d d d! g } x| D]x\ } } } } } t  j |  } d
 t  j j | j  } | t  j d t  j d  }	 t | d | d | d | d | d d  d t
 \ }
 }
 } t |	 d | d | d | d | d d  d t
 d t \ }
 }
 } t | d | d | d | d | \ } } t | d | d | d | d | d t \ } } d j | |  } t | | d | t | | d | t |	 | d | q) Wd  S("   Ni  RC   i   i   i   i   i  R   id   i
   i    i!   R   g      ?i  i@   y              ?i   R[   Rx   RJ   Rr   R`   R   R&   R  s   {0}, {1}R   (   RC   i   i   i   i   (   RC   i   i   i   i  (   R   id   i
   i    i!   (   R   g      ?(   (   R   g      ?i  i   i@   i   (   R   R   R   R$   R   R   t   expR   R   Rq   R   R'   R   R   R   (   R   R   Rr   R   R[   Rx   RJ   R   R   t   xcR}   R   t   zcR   R   t   xcrR   (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   test_roundtrip_padded_FFT}  s,    	c         C` sV  t  j j d  t  j j d  } t |  \ } } } x t d  D] } d g d } d | | <| j |  } t | d | \ } } } t | d | | j \ } } } t | | j	   d | t | | j	   d | | j qD Wt
 | j d d	 d
 d \ } }	 t
 | j d d d
 d \ } }
 t | |	 d d t | |
 d d d  S(   Ni  i   i   i   iRA   R   R   iR   i    s   istft transpose minuss   istft transpose plus(   R   R   R   R   R   R   R;   R   R   R   R   R   R   (   R   R   R}   t   z_flatR   R   R   t   z_plust   z_minust   x_transpose_mt   x_transpose_p(    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR     s    
"$!!(   RX   RY   R   R   R   R   R   R   R   R   R   t   markt   xfailR  R  R  R  R  R   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyR   4  s   	$								*	!		#(*   t
   __future__R    R   R   t   numpyR   t   numpy.testingR   R   R   R   R   R   R   R	   R7   t   scipy._lib._numpy_compatR
   t   scipyR   R   t   scipy.signalR   R   R   R   R   R   R   R   R   R   t   scipy.signal.spectralR   t   objectR   RZ   R   R   R   R   R   (    (    (    s?   lib/python2.7/site-packages/scipy/signal/tests/test_spectral.pyt   <module>   s"   .F ? ;4