scipy.fftpack.

next_fast_len#

scipy.fftpack.next_fast_len(target)[Quelle]#

Finden Sie die nächste schnelle Größe von Eingabedaten für fft, für Zero-Padding usw.

SciPys FFTPACK hat effiziente Funktionen für Radix {2, 3, 4, 5}, daher gibt diese Funktion das nächste Vielfache der Primfaktoren 2, 3 und 5 zurück, das größer oder gleich target ist. (Diese sind auch als 5-glatte Zahlen, reguläre Zahlen oder Hamming-Zahlen bekannt.)

Parameter:
targetint

Die Länge, ab der die Suche gestartet werden soll. Muss eine positive Ganzzahl sein.

Rückgabe:
outint

Die erste 5-glatte Zahl, die größer oder gleich target ist.

Hinweise

Hinzugefügt in Version 0.18.0.

Beispiele

Auf einem bestimmten Rechner dauert eine FFT mit Primlänge 133 ms

>>> from scipy import fftpack
>>> import numpy as np
>>> rng = np.random.default_rng()
>>> min_len = 10007  # prime length is worst case for speed
>>> a = rng.standard_normal(min_len)
>>> b = fftpack.fft(a)

Zero-Padding auf die nächste 5-glatte Länge reduziert die Rechenzeit auf 211 us, eine Beschleunigung um das 630-fache

>>> fftpack.next_fast_len(min_len)
10125
>>> b = fftpack.fft(a, 10125)

Das Aufrunden auf die nächste Zweierpotenz ist nicht optimal und dauert 367 us, 1,7-mal so lange wie die 5-glatte Größe

>>> b = fftpack.fft(a, 16384)