dsp-collection 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/filter/FirFilterWin.d.ts +8 -0
- package/filter/FirFilterWin.d.ts.map +1 -0
- package/filter/FirFilterWin.js +55 -0
- package/filter/FirFilterWin.js.map +1 -0
- package/filter/SpecFilt.d.ts +11 -10
- package/filter/SpecFilt.d.ts.map +1 -0
- package/filter/SpecFilt.js +98 -98
- package/filter/SpecFilt.js.map +1 -1
- package/math/Complex.d.ts +43 -42
- package/math/Complex.d.ts.map +1 -0
- package/math/Complex.js +130 -129
- package/math/Complex.js.map +1 -1
- package/math/ComplexArray.d.ts +37 -36
- package/math/ComplexArray.d.ts.map +1 -0
- package/math/ComplexArray.js +170 -170
- package/math/ComplexArray.js.map +1 -1
- package/math/MathUtils.d.ts +10 -7
- package/math/MathUtils.d.ts.map +1 -0
- package/math/MathUtils.js +116 -81
- package/math/MathUtils.js.map +1 -1
- package/math/MutableComplex.d.ts +24 -22
- package/math/MutableComplex.d.ts.map +1 -0
- package/math/MutableComplex.js +68 -64
- package/math/MutableComplex.js.map +1 -1
- package/math/NumApprox.d.ts +4 -3
- package/math/NumApprox.d.ts.map +1 -0
- package/math/NumApprox.js +67 -67
- package/math/NumApprox.js.map +1 -1
- package/math/PolyReal.d.ts +14 -13
- package/math/PolyReal.d.ts.map +1 -0
- package/math/PolyReal.js +226 -226
- package/math/PolyReal.js.map +1 -1
- package/package.json +11 -3
- package/signal/AdaptiveStft.d.ts +13 -12
- package/signal/AdaptiveStft.d.ts.map +1 -0
- package/signal/AdaptiveStft.js +57 -57
- package/signal/AdaptiveStft.js.map +1 -1
- package/signal/Autocorrelation.d.ts +6 -5
- package/signal/Autocorrelation.d.ts.map +1 -0
- package/signal/Autocorrelation.js +53 -53
- package/signal/Autocorrelation.js.map +1 -1
- package/signal/Dft.d.ts +10 -9
- package/signal/Dft.d.ts.map +1 -0
- package/signal/Dft.js +87 -87
- package/signal/Dft.js.map +1 -1
- package/signal/EnvelopeDetection.d.ts +2 -1
- package/signal/EnvelopeDetection.d.ts.map +1 -0
- package/signal/EnvelopeDetection.js +9 -9
- package/signal/EnvelopeDetection.js.map +1 -1
- package/signal/Fft.d.ts +10 -9
- package/signal/Fft.d.ts.map +1 -0
- package/signal/Fft.js +275 -275
- package/signal/Fft.js.map +1 -1
- package/signal/Goertzel.d.ts +6 -5
- package/signal/Goertzel.d.ts.map +1 -0
- package/signal/Goertzel.js +48 -48
- package/signal/Goertzel.js.map +1 -1
- package/signal/InstFreq.d.ts +9 -8
- package/signal/InstFreq.d.ts.map +1 -0
- package/signal/InstFreq.js +26 -26
- package/signal/InstFreq.js.map +1 -1
- package/signal/PitchDetectionHarm.d.ts +27 -26
- package/signal/PitchDetectionHarm.d.ts.map +1 -0
- package/signal/PitchDetectionHarm.js +72 -68
- package/signal/PitchDetectionHarm.js.map +1 -1
- package/signal/Resampling.d.ts +8 -7
- package/signal/Resampling.d.ts.map +1 -0
- package/signal/Resampling.js +218 -218
- package/signal/Resampling.js.map +1 -1
- package/signal/WindowFunctions.d.ts +42 -40
- package/signal/WindowFunctions.d.ts.map +1 -0
- package/signal/WindowFunctions.js +194 -194
- package/signal/WindowFunctions.js.map +1 -1
- package/utils/ArrayUtils.d.ts +10 -9
- package/utils/ArrayUtils.d.ts.map +1 -0
- package/utils/ArrayUtils.js +68 -68
- package/utils/ArrayUtils.js.map +1 -1
- package/utils/DspUtils.d.ts +5 -2
- package/utils/DspUtils.d.ts.map +1 -0
- package/utils/DspUtils.js +12 -6
- package/utils/DspUtils.js.map +1 -1
- package/utils/MiscUtils.d.ts +7 -6
- package/utils/MiscUtils.d.ts.map +1 -0
- package/utils/MiscUtils.js +20 -20
- package/utils/MiscUtils.js.map +1 -1
package/signal/Fft.js
CHANGED
|
@@ -1,276 +1,276 @@
|
|
|
1
|
-
import ComplexArray from "../math/ComplexArray.js";
|
|
2
|
-
import MutableComplex from "../math/MutableComplex.js";
|
|
3
|
-
import * as MathUtils from "../math/MathUtils.js";
|
|
4
|
-
var cooleyTukeySineTableCache;
|
|
5
|
-
export function fft(x, direction = true) {
|
|
6
|
-
const n = x.length;
|
|
7
|
-
if (n <= 1) {
|
|
8
|
-
return x.slice();
|
|
9
|
-
}
|
|
10
|
-
const x2 = direction ? x : swapReIm(x);
|
|
11
|
-
const x3 = MathUtils.isPowerOf2(n) ? fftCooleyTukey(x2) : fftBluestein(x2);
|
|
12
|
-
const x4 = direction ? x3 : swapReIm(x3);
|
|
13
|
-
return x4;
|
|
14
|
-
}
|
|
15
|
-
function fftCooleyTukey(x) {
|
|
16
|
-
const n = x.length;
|
|
17
|
-
const sineTable = getCachedCooleyTukeySineTable(n);
|
|
18
|
-
const a = copyBitReversed(x);
|
|
19
|
-
applyButterflies(a, sineTable);
|
|
20
|
-
return a;
|
|
21
|
-
}
|
|
22
|
-
function applyButterflies(a, sineTable) {
|
|
23
|
-
const temp = new MutableComplex();
|
|
24
|
-
const n = a.length;
|
|
25
|
-
const re = a.re;
|
|
26
|
-
const im = a.im;
|
|
27
|
-
for (let mMax = 1; mMax < n; mMax *= 2) {
|
|
28
|
-
const step = mMax * 2;
|
|
29
|
-
const sinStep = n / step;
|
|
30
|
-
for (let m = 0; m < mMax; m++) {
|
|
31
|
-
const wIndex = m * sinStep;
|
|
32
|
-
const wRe = sineTable.re[wIndex];
|
|
33
|
-
const wIm = sineTable.im[wIndex];
|
|
34
|
-
for (let i = m; i < n; i += step) {
|
|
35
|
-
const j = i + mMax;
|
|
36
|
-
temp.setMul(re[j], im[j], wRe, wIm);
|
|
37
|
-
re[j] = re[i] - temp.re;
|
|
38
|
-
im[j] = im[i] - temp.im;
|
|
39
|
-
re[i] += temp.re;
|
|
40
|
-
im[i] += temp.im;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function copyBitReversed(a1) {
|
|
46
|
-
const n = a1.length;
|
|
47
|
-
const a2 = new ComplexArray(n);
|
|
48
|
-
let i1 = 0;
|
|
49
|
-
for (let i2 = 0; i2 < n; i2++) {
|
|
50
|
-
a2.re[i2] = a1.re[i1];
|
|
51
|
-
a2.im[i2] = a1.im[i1];
|
|
52
|
-
i1 = incrementBitReversed(i1, n);
|
|
53
|
-
}
|
|
54
|
-
return a2;
|
|
55
|
-
}
|
|
56
|
-
function incrementBitReversed(i, n) {
|
|
57
|
-
let m = n >> 1;
|
|
58
|
-
let a = i;
|
|
59
|
-
while (a & m) {
|
|
60
|
-
a -= m;
|
|
61
|
-
m >>= 1;
|
|
62
|
-
}
|
|
63
|
-
return a | m;
|
|
64
|
-
}
|
|
65
|
-
function fftBluestein(x) {
|
|
66
|
-
const n = x.length;
|
|
67
|
-
const m = MathUtils.getNextPowerOf2(2 * n - 3);
|
|
68
|
-
const sineTable = createSineOfSquareTable(n, 2 * n);
|
|
69
|
-
const a1 = new ComplexArray(m);
|
|
70
|
-
for (let i = 0; i < n; i++) {
|
|
71
|
-
a1.setMul(i, x.re[i], x.im[i], sineTable.re[i], -sineTable.im[i]);
|
|
72
|
-
}
|
|
73
|
-
const a2 = new ComplexArray(m);
|
|
74
|
-
for (let i = 0; i < n; i++) {
|
|
75
|
-
ComplexArray.copy1(sineTable, i, a2, i);
|
|
76
|
-
}
|
|
77
|
-
for (let i = 1; i < n; i++) {
|
|
78
|
-
ComplexArray.copy1(sineTable, i, a2, m - i);
|
|
79
|
-
}
|
|
80
|
-
const a3 = convolve(a1, a2);
|
|
81
|
-
const a4 = new ComplexArray(n);
|
|
82
|
-
for (let i = 0; i < n; i++) {
|
|
83
|
-
a4.setMul(i, a3.re[i], a3.im[i], sineTable.re[i], -sineTable.im[i]);
|
|
84
|
-
}
|
|
85
|
-
return a4;
|
|
86
|
-
}
|
|
87
|
-
function convolve(a1, a2) {
|
|
88
|
-
const n = a1.length;
|
|
89
|
-
if (a2.length != n) {
|
|
90
|
-
throw new Error("Array lengths are not equal.");
|
|
91
|
-
}
|
|
92
|
-
const a3 = fft(a1);
|
|
93
|
-
const a4 = fft(a2);
|
|
94
|
-
a3.mulByArray(a4);
|
|
95
|
-
const a5 = fft(a3, false);
|
|
96
|
-
a5.mulAllByReal(1 / n);
|
|
97
|
-
return a5;
|
|
98
|
-
}
|
|
99
|
-
function getCachedCooleyTukeySineTable(n) {
|
|
100
|
-
if (!cooleyTukeySineTableCache) {
|
|
101
|
-
cooleyTukeySineTableCache = new Array(16);
|
|
102
|
-
}
|
|
103
|
-
const log2N = MathUtils.floorLog2(n);
|
|
104
|
-
if (!cooleyTukeySineTableCache[log2N]) {
|
|
105
|
-
cooleyTukeySineTableCache[log2N] = createCooleyTukeySineTable(n);
|
|
106
|
-
}
|
|
107
|
-
return cooleyTukeySineTableCache[log2N];
|
|
108
|
-
}
|
|
109
|
-
function createCooleyTukeySineTable(n) {
|
|
110
|
-
return createSineTable(n / 2, n, false);
|
|
111
|
-
}
|
|
112
|
-
function createSineTable(tableLength, waveLength, rotationalDirection = true) {
|
|
113
|
-
const w = 2 * Math.PI / waveLength;
|
|
114
|
-
const a = new ComplexArray(tableLength);
|
|
115
|
-
for (let i = 0; i < tableLength; i++) {
|
|
116
|
-
const t = i * w;
|
|
117
|
-
a.re[i] = Math.cos(t);
|
|
118
|
-
a.im[i] = rotationalDirection ? Math.sin(t) : -Math.sin(t);
|
|
119
|
-
}
|
|
120
|
-
return a;
|
|
121
|
-
}
|
|
122
|
-
function createSineOfSquareTable(tableLength, waveLength) {
|
|
123
|
-
const w = 2 * Math.PI / waveLength;
|
|
124
|
-
const a = new ComplexArray(tableLength);
|
|
125
|
-
for (let i = 0; i < tableLength; i++) {
|
|
126
|
-
const t = (i * i) % waveLength * w;
|
|
127
|
-
a.re[i] = Math.cos(t);
|
|
128
|
-
a.im[i] = Math.sin(t);
|
|
129
|
-
}
|
|
130
|
-
return a;
|
|
131
|
-
}
|
|
132
|
-
function swapReIm(a) {
|
|
133
|
-
const a2 = new ComplexArray();
|
|
134
|
-
a2.length = a.length;
|
|
135
|
-
a2.re = a.im;
|
|
136
|
-
a2.im = a.re;
|
|
137
|
-
return a2;
|
|
138
|
-
}
|
|
139
|
-
export function fftReal(x) {
|
|
140
|
-
return fft(new ComplexArray(x));
|
|
141
|
-
}
|
|
142
|
-
export function fftRealHalf(x, inclNyquist = false) {
|
|
143
|
-
if (x.length <= 1) {
|
|
144
|
-
return new ComplexArray(x);
|
|
145
|
-
}
|
|
146
|
-
const m = x.length;
|
|
147
|
-
if (m % 2 != 0) {
|
|
148
|
-
throw new Error("Input array size is not even.");
|
|
149
|
-
}
|
|
150
|
-
const n = m / 2;
|
|
151
|
-
const a1 = new ComplexArray(n);
|
|
152
|
-
for (let i = 0; i < n; i++) {
|
|
153
|
-
a1.re[i] = x[2 * i];
|
|
154
|
-
a1.im[i] = x[2 * i + 1];
|
|
155
|
-
}
|
|
156
|
-
const a2 = fft(a1);
|
|
157
|
-
const a3 = new ComplexArray(n + (inclNyquist ? 1 : 0));
|
|
158
|
-
a3.re[0] = a2.re[0] + a2.im[0];
|
|
159
|
-
a3.im[0] = 0;
|
|
160
|
-
if (inclNyquist) {
|
|
161
|
-
a3.re[n] = a2.re[0] - a2.im[0];
|
|
162
|
-
a3.im[n] = 0;
|
|
163
|
-
}
|
|
164
|
-
const temp1 = new MutableComplex();
|
|
165
|
-
const temp2 = new MutableComplex();
|
|
166
|
-
const w = Math.PI / n;
|
|
167
|
-
for (let i = 1; i < n; i++) {
|
|
168
|
-
const sRe = Math.sin(i * w);
|
|
169
|
-
const sIm = Math.cos(i * w);
|
|
170
|
-
temp1.setMul(a2.re[i], a2.im[i], (1 - sRe) / 2, -sIm / 2);
|
|
171
|
-
temp2.setMul(a2.re[n - i], a2.im[n - i], (1 + sRe) / 2, -sIm / 2);
|
|
172
|
-
a3.re[i] = temp1.re + temp2.re;
|
|
173
|
-
a3.im[i] = temp1.im - temp2.im;
|
|
174
|
-
}
|
|
175
|
-
return a3;
|
|
176
|
-
}
|
|
177
|
-
export function fftRealSpectrum(x, inclNyquist = false) {
|
|
178
|
-
const n = x.length;
|
|
179
|
-
if (n == 0) {
|
|
180
|
-
throw new Error("Input array must not be empty.");
|
|
181
|
-
}
|
|
182
|
-
let a;
|
|
183
|
-
if (n % 2 == 0) {
|
|
184
|
-
a = fftRealHalf(x, inclNyquist);
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
const a0 = fftReal(x);
|
|
188
|
-
a = a0.subarray(0, Math.floor(n / 2) + 1);
|
|
189
|
-
}
|
|
190
|
-
for (let i = 0; i < a.length; i++) {
|
|
191
|
-
const r = (i == 0 || i == n / 2) ? 1 / n : 2 / n;
|
|
192
|
-
a.mulByReal(i, r);
|
|
193
|
-
}
|
|
194
|
-
return a;
|
|
195
|
-
}
|
|
196
|
-
export function fftShift(x) {
|
|
197
|
-
const n = x.length;
|
|
198
|
-
const d = Math.floor(n / 2);
|
|
199
|
-
const a = new ComplexArray(n);
|
|
200
|
-
for (let p = 0; p < n; p++) {
|
|
201
|
-
ComplexArray.copy1(x, p, a, (p + d) % n);
|
|
202
|
-
}
|
|
203
|
-
return a;
|
|
204
|
-
}
|
|
205
|
-
export function iFftRealHalfSimple(x, len, inclNyquist = false) {
|
|
206
|
-
if (x.length == 0 || len <= 0) {
|
|
207
|
-
return new Float64Array(0);
|
|
208
|
-
}
|
|
209
|
-
const x2 = createFullSpectrumFromHalfSpectrum(x, len, inclNyquist);
|
|
210
|
-
const a = fft(x2, false);
|
|
211
|
-
return a.re;
|
|
212
|
-
}
|
|
213
|
-
function createFullSpectrumFromHalfSpectrum(x, len, inclNyquist) {
|
|
214
|
-
const x2 = new ComplexArray(len);
|
|
215
|
-
ComplexArray.copy1(x, 0, x2, 0);
|
|
216
|
-
if (inclNyquist && len % 2 == 0 && x.length > len / 2) {
|
|
217
|
-
ComplexArray.copy1(x, len / 2, x2, len / 2);
|
|
218
|
-
}
|
|
219
|
-
const n2 = Math.min(x.length - 1, Math.floor((len - 1) / 2));
|
|
220
|
-
for (let i = 0; i < n2; i++) {
|
|
221
|
-
const p1 = 1 + i;
|
|
222
|
-
const p2 = len - 1 - i;
|
|
223
|
-
x2.re[p2] = x.re[p1];
|
|
224
|
-
x2.im[p2] = -x.im[p1];
|
|
225
|
-
}
|
|
226
|
-
return x2;
|
|
227
|
-
}
|
|
228
|
-
export function iFftRealHalfOpt(x, len, inclNyquist = false) {
|
|
229
|
-
if (len <= 0) {
|
|
230
|
-
return new Float64Array(0);
|
|
231
|
-
}
|
|
232
|
-
if (len % 2 != 0) {
|
|
233
|
-
throw new Error("output length is not even.");
|
|
234
|
-
}
|
|
235
|
-
const n = len / 2;
|
|
236
|
-
const a1 = new ComplexArray(n);
|
|
237
|
-
a1.re[0] = xRe(0);
|
|
238
|
-
a1.im[0] = xRe(0);
|
|
239
|
-
if (inclNyquist) {
|
|
240
|
-
a1.re[0] += xRe(n);
|
|
241
|
-
a1.im[0] -= xRe(n);
|
|
242
|
-
}
|
|
243
|
-
const temp1 = new MutableComplex();
|
|
244
|
-
const temp2 = new MutableComplex();
|
|
245
|
-
const w = Math.PI / n;
|
|
246
|
-
for (let i = 1; i < n; i++) {
|
|
247
|
-
const sRe = Math.sin(i * w);
|
|
248
|
-
const sIm = Math.cos(i * w);
|
|
249
|
-
temp1.setMul(xRe(i), xIm(i), (1 - sRe) / 2, sIm / 2);
|
|
250
|
-
temp2.setMul(xRe(n - i), xIm(n - i), (1 + sRe) / 2, sIm / 2);
|
|
251
|
-
a1.re[i] = temp1.re + temp2.re;
|
|
252
|
-
a1.im[i] = temp1.im - temp2.im;
|
|
253
|
-
}
|
|
254
|
-
const a2 = fft(a1, false);
|
|
255
|
-
const a3 = new Float64Array(2 * n);
|
|
256
|
-
for (let i = 0; i < n; i++) {
|
|
257
|
-
a3[2 * i] = a2.re[i];
|
|
258
|
-
a3[2 * i + 1] = a2.im[i];
|
|
259
|
-
}
|
|
260
|
-
return a3;
|
|
261
|
-
function xRe(i) {
|
|
262
|
-
return (i < x.length) ? x.re[i] : 0;
|
|
263
|
-
}
|
|
264
|
-
function xIm(i) {
|
|
265
|
-
return (i < x.length) ? x.im[i] : 0;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
export function iFftRealHalf(x, len, inclNyquist = false) {
|
|
269
|
-
if (len % 2 == 0) {
|
|
270
|
-
return iFftRealHalfOpt(x, len, inclNyquist);
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
return iFftRealHalfSimple(x, len, inclNyquist);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
1
|
+
import ComplexArray from "../math/ComplexArray.js";
|
|
2
|
+
import MutableComplex from "../math/MutableComplex.js";
|
|
3
|
+
import * as MathUtils from "../math/MathUtils.js";
|
|
4
|
+
var cooleyTukeySineTableCache;
|
|
5
|
+
export function fft(x, direction = true) {
|
|
6
|
+
const n = x.length;
|
|
7
|
+
if (n <= 1) {
|
|
8
|
+
return x.slice();
|
|
9
|
+
}
|
|
10
|
+
const x2 = direction ? x : swapReIm(x);
|
|
11
|
+
const x3 = MathUtils.isPowerOf2(n) ? fftCooleyTukey(x2) : fftBluestein(x2);
|
|
12
|
+
const x4 = direction ? x3 : swapReIm(x3);
|
|
13
|
+
return x4;
|
|
14
|
+
}
|
|
15
|
+
function fftCooleyTukey(x) {
|
|
16
|
+
const n = x.length;
|
|
17
|
+
const sineTable = getCachedCooleyTukeySineTable(n);
|
|
18
|
+
const a = copyBitReversed(x);
|
|
19
|
+
applyButterflies(a, sineTable);
|
|
20
|
+
return a;
|
|
21
|
+
}
|
|
22
|
+
function applyButterflies(a, sineTable) {
|
|
23
|
+
const temp = new MutableComplex();
|
|
24
|
+
const n = a.length;
|
|
25
|
+
const re = a.re;
|
|
26
|
+
const im = a.im;
|
|
27
|
+
for (let mMax = 1; mMax < n; mMax *= 2) {
|
|
28
|
+
const step = mMax * 2;
|
|
29
|
+
const sinStep = n / step;
|
|
30
|
+
for (let m = 0; m < mMax; m++) {
|
|
31
|
+
const wIndex = m * sinStep;
|
|
32
|
+
const wRe = sineTable.re[wIndex];
|
|
33
|
+
const wIm = sineTable.im[wIndex];
|
|
34
|
+
for (let i = m; i < n; i += step) {
|
|
35
|
+
const j = i + mMax;
|
|
36
|
+
temp.setMul(re[j], im[j], wRe, wIm);
|
|
37
|
+
re[j] = re[i] - temp.re;
|
|
38
|
+
im[j] = im[i] - temp.im;
|
|
39
|
+
re[i] += temp.re;
|
|
40
|
+
im[i] += temp.im;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function copyBitReversed(a1) {
|
|
46
|
+
const n = a1.length;
|
|
47
|
+
const a2 = new ComplexArray(n);
|
|
48
|
+
let i1 = 0;
|
|
49
|
+
for (let i2 = 0; i2 < n; i2++) {
|
|
50
|
+
a2.re[i2] = a1.re[i1];
|
|
51
|
+
a2.im[i2] = a1.im[i1];
|
|
52
|
+
i1 = incrementBitReversed(i1, n);
|
|
53
|
+
}
|
|
54
|
+
return a2;
|
|
55
|
+
}
|
|
56
|
+
function incrementBitReversed(i, n) {
|
|
57
|
+
let m = n >> 1;
|
|
58
|
+
let a = i;
|
|
59
|
+
while (a & m) {
|
|
60
|
+
a -= m;
|
|
61
|
+
m >>= 1;
|
|
62
|
+
}
|
|
63
|
+
return a | m;
|
|
64
|
+
}
|
|
65
|
+
function fftBluestein(x) {
|
|
66
|
+
const n = x.length;
|
|
67
|
+
const m = MathUtils.getNextPowerOf2(2 * n - 3);
|
|
68
|
+
const sineTable = createSineOfSquareTable(n, 2 * n);
|
|
69
|
+
const a1 = new ComplexArray(m);
|
|
70
|
+
for (let i = 0; i < n; i++) {
|
|
71
|
+
a1.setMul(i, x.re[i], x.im[i], sineTable.re[i], -sineTable.im[i]);
|
|
72
|
+
}
|
|
73
|
+
const a2 = new ComplexArray(m);
|
|
74
|
+
for (let i = 0; i < n; i++) {
|
|
75
|
+
ComplexArray.copy1(sineTable, i, a2, i);
|
|
76
|
+
}
|
|
77
|
+
for (let i = 1; i < n; i++) {
|
|
78
|
+
ComplexArray.copy1(sineTable, i, a2, m - i);
|
|
79
|
+
}
|
|
80
|
+
const a3 = convolve(a1, a2);
|
|
81
|
+
const a4 = new ComplexArray(n);
|
|
82
|
+
for (let i = 0; i < n; i++) {
|
|
83
|
+
a4.setMul(i, a3.re[i], a3.im[i], sineTable.re[i], -sineTable.im[i]);
|
|
84
|
+
}
|
|
85
|
+
return a4;
|
|
86
|
+
}
|
|
87
|
+
function convolve(a1, a2) {
|
|
88
|
+
const n = a1.length;
|
|
89
|
+
if (a2.length != n) {
|
|
90
|
+
throw new Error("Array lengths are not equal.");
|
|
91
|
+
}
|
|
92
|
+
const a3 = fft(a1);
|
|
93
|
+
const a4 = fft(a2);
|
|
94
|
+
a3.mulByArray(a4);
|
|
95
|
+
const a5 = fft(a3, false);
|
|
96
|
+
a5.mulAllByReal(1 / n);
|
|
97
|
+
return a5;
|
|
98
|
+
}
|
|
99
|
+
function getCachedCooleyTukeySineTable(n) {
|
|
100
|
+
if (!cooleyTukeySineTableCache) {
|
|
101
|
+
cooleyTukeySineTableCache = new Array(16);
|
|
102
|
+
}
|
|
103
|
+
const log2N = MathUtils.floorLog2(n);
|
|
104
|
+
if (!cooleyTukeySineTableCache[log2N]) {
|
|
105
|
+
cooleyTukeySineTableCache[log2N] = createCooleyTukeySineTable(n);
|
|
106
|
+
}
|
|
107
|
+
return cooleyTukeySineTableCache[log2N];
|
|
108
|
+
}
|
|
109
|
+
function createCooleyTukeySineTable(n) {
|
|
110
|
+
return createSineTable(n / 2, n, false);
|
|
111
|
+
}
|
|
112
|
+
function createSineTable(tableLength, waveLength, rotationalDirection = true) {
|
|
113
|
+
const w = 2 * Math.PI / waveLength;
|
|
114
|
+
const a = new ComplexArray(tableLength);
|
|
115
|
+
for (let i = 0; i < tableLength; i++) {
|
|
116
|
+
const t = i * w;
|
|
117
|
+
a.re[i] = Math.cos(t);
|
|
118
|
+
a.im[i] = rotationalDirection ? Math.sin(t) : -Math.sin(t);
|
|
119
|
+
}
|
|
120
|
+
return a;
|
|
121
|
+
}
|
|
122
|
+
function createSineOfSquareTable(tableLength, waveLength) {
|
|
123
|
+
const w = 2 * Math.PI / waveLength;
|
|
124
|
+
const a = new ComplexArray(tableLength);
|
|
125
|
+
for (let i = 0; i < tableLength; i++) {
|
|
126
|
+
const t = (i * i) % waveLength * w;
|
|
127
|
+
a.re[i] = Math.cos(t);
|
|
128
|
+
a.im[i] = Math.sin(t);
|
|
129
|
+
}
|
|
130
|
+
return a;
|
|
131
|
+
}
|
|
132
|
+
function swapReIm(a) {
|
|
133
|
+
const a2 = new ComplexArray();
|
|
134
|
+
a2.length = a.length;
|
|
135
|
+
a2.re = a.im;
|
|
136
|
+
a2.im = a.re;
|
|
137
|
+
return a2;
|
|
138
|
+
}
|
|
139
|
+
export function fftReal(x) {
|
|
140
|
+
return fft(new ComplexArray(x));
|
|
141
|
+
}
|
|
142
|
+
export function fftRealHalf(x, inclNyquist = false) {
|
|
143
|
+
if (x.length <= 1) {
|
|
144
|
+
return new ComplexArray(x);
|
|
145
|
+
}
|
|
146
|
+
const m = x.length;
|
|
147
|
+
if (m % 2 != 0) {
|
|
148
|
+
throw new Error("Input array size is not even.");
|
|
149
|
+
}
|
|
150
|
+
const n = m / 2;
|
|
151
|
+
const a1 = new ComplexArray(n);
|
|
152
|
+
for (let i = 0; i < n; i++) {
|
|
153
|
+
a1.re[i] = x[2 * i];
|
|
154
|
+
a1.im[i] = x[2 * i + 1];
|
|
155
|
+
}
|
|
156
|
+
const a2 = fft(a1);
|
|
157
|
+
const a3 = new ComplexArray(n + (inclNyquist ? 1 : 0));
|
|
158
|
+
a3.re[0] = a2.re[0] + a2.im[0];
|
|
159
|
+
a3.im[0] = 0;
|
|
160
|
+
if (inclNyquist) {
|
|
161
|
+
a3.re[n] = a2.re[0] - a2.im[0];
|
|
162
|
+
a3.im[n] = 0;
|
|
163
|
+
}
|
|
164
|
+
const temp1 = new MutableComplex();
|
|
165
|
+
const temp2 = new MutableComplex();
|
|
166
|
+
const w = Math.PI / n;
|
|
167
|
+
for (let i = 1; i < n; i++) {
|
|
168
|
+
const sRe = Math.sin(i * w);
|
|
169
|
+
const sIm = Math.cos(i * w);
|
|
170
|
+
temp1.setMul(a2.re[i], a2.im[i], (1 - sRe) / 2, -sIm / 2);
|
|
171
|
+
temp2.setMul(a2.re[n - i], a2.im[n - i], (1 + sRe) / 2, -sIm / 2);
|
|
172
|
+
a3.re[i] = temp1.re + temp2.re;
|
|
173
|
+
a3.im[i] = temp1.im - temp2.im;
|
|
174
|
+
}
|
|
175
|
+
return a3;
|
|
176
|
+
}
|
|
177
|
+
export function fftRealSpectrum(x, inclNyquist = false) {
|
|
178
|
+
const n = x.length;
|
|
179
|
+
if (n == 0) {
|
|
180
|
+
throw new Error("Input array must not be empty.");
|
|
181
|
+
}
|
|
182
|
+
let a;
|
|
183
|
+
if (n % 2 == 0) {
|
|
184
|
+
a = fftRealHalf(x, inclNyquist);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
const a0 = fftReal(x);
|
|
188
|
+
a = a0.subarray(0, Math.floor(n / 2) + 1);
|
|
189
|
+
}
|
|
190
|
+
for (let i = 0; i < a.length; i++) {
|
|
191
|
+
const r = (i == 0 || i == n / 2) ? 1 / n : 2 / n;
|
|
192
|
+
a.mulByReal(i, r);
|
|
193
|
+
}
|
|
194
|
+
return a;
|
|
195
|
+
}
|
|
196
|
+
export function fftShift(x) {
|
|
197
|
+
const n = x.length;
|
|
198
|
+
const d = Math.floor(n / 2);
|
|
199
|
+
const a = new ComplexArray(n);
|
|
200
|
+
for (let p = 0; p < n; p++) {
|
|
201
|
+
ComplexArray.copy1(x, p, a, (p + d) % n);
|
|
202
|
+
}
|
|
203
|
+
return a;
|
|
204
|
+
}
|
|
205
|
+
export function iFftRealHalfSimple(x, len, inclNyquist = false) {
|
|
206
|
+
if (x.length == 0 || len <= 0) {
|
|
207
|
+
return new Float64Array(0);
|
|
208
|
+
}
|
|
209
|
+
const x2 = createFullSpectrumFromHalfSpectrum(x, len, inclNyquist);
|
|
210
|
+
const a = fft(x2, false);
|
|
211
|
+
return a.re;
|
|
212
|
+
}
|
|
213
|
+
function createFullSpectrumFromHalfSpectrum(x, len, inclNyquist) {
|
|
214
|
+
const x2 = new ComplexArray(len);
|
|
215
|
+
ComplexArray.copy1(x, 0, x2, 0);
|
|
216
|
+
if (inclNyquist && len % 2 == 0 && x.length > len / 2) {
|
|
217
|
+
ComplexArray.copy1(x, len / 2, x2, len / 2);
|
|
218
|
+
}
|
|
219
|
+
const n2 = Math.min(x.length - 1, Math.floor((len - 1) / 2));
|
|
220
|
+
for (let i = 0; i < n2; i++) {
|
|
221
|
+
const p1 = 1 + i;
|
|
222
|
+
const p2 = len - 1 - i;
|
|
223
|
+
x2.re[p2] = x.re[p1];
|
|
224
|
+
x2.im[p2] = -x.im[p1];
|
|
225
|
+
}
|
|
226
|
+
return x2;
|
|
227
|
+
}
|
|
228
|
+
export function iFftRealHalfOpt(x, len, inclNyquist = false) {
|
|
229
|
+
if (len <= 0) {
|
|
230
|
+
return new Float64Array(0);
|
|
231
|
+
}
|
|
232
|
+
if (len % 2 != 0) {
|
|
233
|
+
throw new Error("output length is not even.");
|
|
234
|
+
}
|
|
235
|
+
const n = len / 2;
|
|
236
|
+
const a1 = new ComplexArray(n);
|
|
237
|
+
a1.re[0] = xRe(0);
|
|
238
|
+
a1.im[0] = xRe(0);
|
|
239
|
+
if (inclNyquist) {
|
|
240
|
+
a1.re[0] += xRe(n);
|
|
241
|
+
a1.im[0] -= xRe(n);
|
|
242
|
+
}
|
|
243
|
+
const temp1 = new MutableComplex();
|
|
244
|
+
const temp2 = new MutableComplex();
|
|
245
|
+
const w = Math.PI / n;
|
|
246
|
+
for (let i = 1; i < n; i++) {
|
|
247
|
+
const sRe = Math.sin(i * w);
|
|
248
|
+
const sIm = Math.cos(i * w);
|
|
249
|
+
temp1.setMul(xRe(i), xIm(i), (1 - sRe) / 2, sIm / 2);
|
|
250
|
+
temp2.setMul(xRe(n - i), xIm(n - i), (1 + sRe) / 2, sIm / 2);
|
|
251
|
+
a1.re[i] = temp1.re + temp2.re;
|
|
252
|
+
a1.im[i] = temp1.im - temp2.im;
|
|
253
|
+
}
|
|
254
|
+
const a2 = fft(a1, false);
|
|
255
|
+
const a3 = new Float64Array(2 * n);
|
|
256
|
+
for (let i = 0; i < n; i++) {
|
|
257
|
+
a3[2 * i] = a2.re[i];
|
|
258
|
+
a3[2 * i + 1] = a2.im[i];
|
|
259
|
+
}
|
|
260
|
+
return a3;
|
|
261
|
+
function xRe(i) {
|
|
262
|
+
return (i < x.length) ? x.re[i] : 0;
|
|
263
|
+
}
|
|
264
|
+
function xIm(i) {
|
|
265
|
+
return (i < x.length) ? x.im[i] : 0;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
export function iFftRealHalf(x, len, inclNyquist = false) {
|
|
269
|
+
if (len % 2 == 0) {
|
|
270
|
+
return iFftRealHalfOpt(x, len, inclNyquist);
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
return iFftRealHalfSimple(x, len, inclNyquist);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
276
|
//# sourceMappingURL=Fft.js.map
|
package/signal/Fft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fft.js","sourceRoot":"","sources":["../../src/signal/Fft.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Fft.js","sourceRoot":"","sources":["../../src/signal/Fft.ts"],"names":[],"mappings":"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"}
|
package/signal/Goertzel.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import MutableComplex from "../math/MutableComplex.
|
|
2
|
-
import ComplexArray from "../math/ComplexArray.
|
|
3
|
-
export declare function goertzelSingle(x: ArrayLike<number>, relativeFrequency: number): MutableComplex;
|
|
4
|
-
export declare function goertzel(x: ArrayLike<number>): ComplexArray;
|
|
5
|
-
export declare function goertzelSpectrum(x: ArrayLike<number>, inclNyquist?: boolean): ComplexArray;
|
|
1
|
+
import MutableComplex from "../math/MutableComplex.ts";
|
|
2
|
+
import ComplexArray from "../math/ComplexArray.ts";
|
|
3
|
+
export declare function goertzelSingle(x: ArrayLike<number>, relativeFrequency: number): MutableComplex;
|
|
4
|
+
export declare function goertzel(x: ArrayLike<number>): ComplexArray;
|
|
5
|
+
export declare function goertzelSpectrum(x: ArrayLike<number>, inclNyquist?: boolean): ComplexArray;
|
|
6
|
+
//# sourceMappingURL=Goertzel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Goertzel.d.ts","sourceRoot":"","sources":["../../src/signal/Goertzel.ts"],"names":[],"mappings":"AAKA,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAiBnD,wBAAgB,cAAc,CAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,MAAM,GAAI,cAAc,CAavC;AAW1D,wBAAgB,QAAQ,CAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAI,YAAY,CAMhD;AAkBd,wBAAgB,gBAAgB,CAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,UAAQ,GAAI,YAAY,CAa7E"}
|