# DOC: add parameters, returns, examples to rfftfreq(), and format variables. #321

Closed
wants to merge 3 commits into
from
Commits
Failed to load files and symbols.
+28 −4
@@ -1,18 +1,42 @@
__all__ = ['fftshift', 'ifftshift', 'fftfreq', 'rfftfreq']
-from numpy import array
+from numpy import arange
from numpy.fft.helper import fftshift, ifftshift, fftfreq
def rfftfreq(n, d=1.0):
"""DFT sample frequencies (for usage with rfft, irfft).
The returned float array contains the frequency bins in
- cycles/unit (with zero at the start) given a window length n and a
- sample spacing d::
+ cycles/unit (with zero at the start) given a window length `n` and a
+ sample spacing `d`::
f = [0,1,1,2,2,...,n/2-1,n/2-1,n/2]/(d*n) if n is even
f = [0,1,1,2,2,...,n/2-1,n/2-1,n/2,n/2]/(d*n) if n is odd
+
+ Parameters
+ ----------
+ n : int
+ Window length.
+ d : scalar, optional

#### rgommers Sep 22, 2012

Owner

Should be `scalar, optional`.

+ Sample spacing. Default is 1.
+
+ Returns
+ -------
+ out : ndarray
+ The array of length `n`, containing the sample frequencies.
+
+ Examples
+ --------
+ >>> from scipy import fftpack
+ >>> sig = np.array([-2, 8, 6, 4, 1, 0, 3, 5], dtype=float)
+ >>> sig_fft = fftpack.rfft(sig)
+ >>> n = sig_fft.size
+ >>> timestep = 0.1
+ >>> freq = fftpack.rfftfreq(n, d=timestep)
+ >>> freq
+ array([ 0. , 1.25, 1.25, 2.5 , 2.5 , 3.75, 3.75, 5. ])
+
"""
if not isinstance(n, int) or n < 0:
raise ValueError("n = %s is not valid. n must be a nonnegative integer." % n)
- return (array(range(1,n+1),dtype=int)//2)/float(n*d)
+ return (arange(1, n + 1, dtype=int) // 2) / float(n * d)