Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

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

Closed
wants to merge 3 commits into from

2 participants

@endolith

Also STY: spaces around operators

@endolith

adapted from numpy fftfreq()

@rgommers rgommers commented on the diff
scipy/fftpack/helper.py
((8 lines not shown))
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
@rgommers Owner

Should be scalar, optional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
scipy/fftpack/helper.py
((12 lines not shown))
+ Parameters
+ ----------
+ n : int
+ Window length.
+ d : scalar
+ Sample spacing.
+
+ Returns
+ -------
+ out : ndarray
+ The array of length `n`, containing the sample frequencies.
+
+ Examples
+ --------
+ >>> sig = np.array([-2, 8, 6, 4, 1, 0, 3, 5], dtype=float)
+ >>> fourier = scipy.fftpack.rfft(sig)
@rgommers Owner

from scipy import fftpack
fourier = fftpack.rfft(sig)

@rgommers Owner

How about naming this sig_fft instead of fourier?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
scipy/fftpack/helper.py
((15 lines not shown))
+ Window length.
+ d : scalar
+ Sample spacing.
+
+ Returns
+ -------
+ out : ndarray
+ The array of length `n`, containing the sample frequencies.
+
+ Examples
+ --------
+ >>> sig = np.array([-2, 8, 6, 4, 1, 0, 3, 5], dtype=float)
+ >>> fourier = scipy.fftpack.rfft(sig)
+ >>> n = fourier.size
+ >>> timestep = 0.1
+ >>> freq = scipy.fftpack.rfftfreq(n, d=timestep)
@rgommers Owner

no scipy.`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@rgommers
Owner

Merged in 217067d, thanks @endolith

@rgommers rgommers closed this
@endolith endolith deleted the endolith:patch-11 branch
@ClemensFMN ClemensFMN referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Sep 21, 2012
  1. @endolith
Commits on Sep 22, 2012
  1. @endolith
Commits on Sep 23, 2012
  1. @endolith
This page is out of date. Refresh to see the latest.
Showing with 28 additions and 4 deletions.
  1. +28 −4 scipy/fftpack/helper.py
View
32 scipy/fftpack/helper.py
@@ -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 Owner

Should be scalar, optional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ 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)
Something went wrong with that request. Please try again.