Dan Kortschak
aedb59a6f6
dsp/fourier/internal/fftpack: fix formatting
2022-08-06 07:05:17 +09:30
Dan Kortschak
5f0141ca4c
all: run gofmt and generate all packages
...
Changes made in dsp/fourier/internal/fftpack break the formatting used
there, so these are reverted. There will be complaints in CI.
[git-generate]
gofmt -w .
go generate gonum.org/v1/gonum/blas
go generate gonum.org/v1/gonum/blas/gonum
go generate gonum.org/v1/gonum/unit
go generate gonum.org/v1/gonum/unit/constant
go generate gonum.org/v1/gonum/graph/formats/dot
go generate gonum.org/v1/gonum/graph/formats/rdf
go generate gonum.org/v1/gonum/stat/card
git checkout -- dsp/fourier/internal/fftpack
2022-08-06 07:05:17 +09:30
Dan Kortschak
31a0551567
dsp/window/cmd/leakage: fix floor logic
2021-09-20 19:01:56 +09:30
Dan Kortschak
95cfd38470
dsp/window/cmd/leakage: add utility command for parameter estimation
2021-09-20 19:01:56 +09:30
Dan Kortschak
ccc0da248a
all: run make builds pass with go master
...
Run gofmt go1.17 adds the new //go:build comments
2021-04-19 15:00:56 +09:30
Dan Kortschak
eae7c2a69e
dsp/window: clean up doc formatting
2021-04-10 19:20:49 +09:30
Dan Kortschak
b89cbb47a6
dsp/fourier: improve simple examples
2021-03-09 20:15:48 +10:30
Dan Kortschak
676e41577b
dsp/window: add Values.TransformTo window functions and example
2021-01-08 19:53:22 +10:30
Dan Kortschak
5289638ec6
dsp/fourier: fix TestReversePairs for 32 bit architectures
2020-11-26 10:17:13 +10:30
Dan Kortschak
d4de93a5d4
dsp/fourier: add radix-2 and radix-4 in-place FFTs
2020-10-09 07:08:29 +10:30
Dan Kortschak
dda0908b26
dsp/window: use conventional 2dp approximate constants
2020-09-21 20:04:16 +09:30
Dan Kortschak
dfc757bb79
dsp/fourier/internal/fftpack: use explicit complex arithmetic
...
name old time/op new time/op delta
RealFFTCoefficients/4-8 83.9ns ± 1% 82.3ns ± 1% -1.89% (p=0.000 n=10+9)
RealFFTCoefficients/100-8 2.00µs ± 1% 1.68µs ±22% -15.76% (p=0.022 n=10+10)
RealFFTCoefficients/256-8 5.50µs ± 1% 3.92µs ± 2% -28.80% (p=0.000 n=9+10)
RealFFTCoefficients/4000-8 134µs ± 5% 84µs ± 1% -36.93% (p=0.000 n=9+9)
RealFFTCoefficients/4096-8 154µs ± 2% 88µs ± 2% -42.86% (p=0.000 n=10+9)
RealFFTCoefficients/1000000-8 70.6ms ± 1% 38.2ms ± 1% -45.99% (p=0.000 n=10+10)
RealFFTCoefficients/1048576-8 86.4ms ± 1% 53.7ms ± 1% -37.82% (p=0.000 n=10+10)
RealFFTCoefficients/16777216-8 1.72s ± 1% 1.04s ± 1% -39.58% (p=0.000 n=9+9)
RealFFTSequence/4-8 71.4ns ± 1% 72.5ns ± 1% +1.51% (p=0.000 n=8+9)
RealFFTSequence/100-8 1.99µs ± 0% 1.71µs ± 0% -14.32% (p=0.000 n=10+10)
RealFFTSequence/256-8 5.65µs ± 0% 4.76µs ± 1% -15.75% (p=0.000 n=10+10)
RealFFTSequence/4000-8 140µs ± 1% 102µs ± 1% -27.15% (p=0.000 n=10+9)
RealFFTSequence/4096-8 174µs ± 1% 122µs ±11% -30.01% (p=0.000 n=9+10)
RealFFTSequence/1000000-8 67.2ms ± 1% 43.3ms ± 1% -35.51% (p=0.000 n=9+9)
RealFFTSequence/1048576-8 92.4ms ± 1% 61.5ms ± 1% -33.39% (p=0.000 n=9+10)
RealFFTSequence/16777216-8 1.61s ± 2% 1.20s ± 1% -25.37% (p=0.000 n=8+10)
CmplxFFTCoefficients/4-8 106ns ± 1% 94ns ± 0% -11.24% (p=0.000 n=9+8)
CmplxFFTCoefficients/100-8 4.24µs ± 0% 3.20µs ± 1% -24.50% (p=0.000 n=9+10)
CmplxFFTCoefficients/256-8 11.8µs ± 1% 8.9µs ± 0% -24.96% (p=0.000 n=10+10)
CmplxFFTCoefficients/4000-8 285µs ± 0% 196µs ± 1% -31.38% (p=0.000 n=9+10)
CmplxFFTCoefficients/4096-8 313µs ± 1% 233µs ± 1% -25.57% (p=0.000 n=9+10)
CmplxFFTCoefficients/1000000-8 121ms ± 1% 87ms ± 1% -28.17% (p=0.000 n=9+9)
CmplxFFTCoefficients/1048576-8 190ms ± 1% 122ms ± 1% -35.88% (p=0.000 n=9+9)
CmplxFFTCoefficients/16777216-8 3.25s ± 3% 2.49s ± 2% -23.17% (p=0.000 n=9+10)
CmplxFFTSequence/4-8 106ns ± 4% 94ns ± 2% -11.14% (p=0.000 n=10+9)
CmplxFFTSequence/100-8 4.25µs ± 1% 3.23µs ± 1% -23.99% (p=0.000 n=9+10)
CmplxFFTSequence/256-8 11.8µs ± 1% 8.9µs ± 0% -24.72% (p=0.000 n=10+8)
CmplxFFTSequence/4000-8 285µs ± 1% 195µs ± 0% -31.60% (p=0.000 n=10+10)
CmplxFFTSequence/4096-8 313µs ± 1% 231µs ± 1% -26.15% (p=0.000 n=10+10)
CmplxFFTSequence/1000000-8 120ms ± 1% 87ms ± 1% -28.16% (p=0.000 n=9+9)
CmplxFFTSequence/1048576-8 190ms ± 1% 121ms ± 1% -36.24% (p=0.000 n=10+9)
CmplxFFTSequence/16777216-8 3.25s ± 6% 2.53s ± 4% -22.20% (p=0.000 n=9+10)
2020-09-21 19:04:40 +09:30
Dan Kortschak
c909a038ed
dsp/fourier: add benchmarks
2020-09-21 19:04:40 +09:30
Dan Kortschak
0312e4aea8
dsp/fourier/internal/fftpack: group complex values
2020-09-21 19:04:40 +09:30
Dan Kortschak
973d5f0ae3
dsp/fourier: fix typo
2020-09-21 10:42:46 +02:00
Dan Kortschak
8cb5c961a9
dsp/fourier/internal/fftpack: fix typo
2020-09-17 20:13:59 +09:30
Dan Kortschak
8d26fba056
dsp/window: move complex sequence weighting onto Values
...
This simplifies the API and removes the NaN from Inf problem.
2020-09-16 08:39:02 +09:30
Dan Kortschak
ddc5baeb4a
dsp/window: avoid NaN when infinite values appear in seq
2020-09-16 08:39:02 +09:30
Dan Kortschak
8c25d69b14
dsp/window: refactor Gaussian and Tukey windows to be each a single type
2020-09-16 08:39:02 +09:30
Dan Kortschak
880b710e3c
dsp/window: add Tukey window function and simplify tests
2020-09-16 08:39:02 +09:30
Dan Kortschak
7dc1a8963b
Revert "dsp/window: use half offset to exclude flanking zeros"
...
This reverts efc4dabf2a
The reason for the reversion is confusion caused between different
approaches for window sizing and ease of use.
2020-09-16 05:53:39 +09:30
Brandon Dube
1839007961
dsp/window: revert tukey
2020-09-14 22:56:50 +01:00
Brandon Dube
4df152a50f
dsp/window: add Tukey
2020-09-08 21:28:33 +09:30
Dan Kortschak
da72779e7a
floats/scalar: new package containing non-vector functions from floats
2020-08-07 07:59:02 +09:30
Dan Kortschak
0b84c34903
dsp/window: add comment explaining origin of documentation
2020-07-03 21:43:50 +09:30
Egon Elbre
eaed550bdd
dsp: make tests parallel
2020-03-16 16:10:59 +02:00
Dan Kortschak
fd1732d5e6
dsp/window: make Gaussian a type and add a Transform method
2020-02-20 21:36:17 +10:30
Dan Kortschak
c9a7355ed9
dsp/window: add lookup table window functions
2020-02-20 21:36:17 +10:30
Dan Kortschak
efc4dabf2a
dsp/window: use half offset to exclude flanking zeros
2020-02-20 19:30:39 +10:30
Dan Kortschak
d763153d4c
fourier/...: move packages to within a dsp hierarchy
2020-02-19 20:03:23 +10:30
Andrei Blinnikov
54b6ee192e
dsp/window: new package for functions to control spectral leakage of FFT
2020-02-19 09:36:40 +10:30