@jtarrio/webrtlsdr 2.0.4 → 2.0.6
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/dist/demod/demod-am.d.ts +10 -1
- package/dist/demod/demod-am.d.ts.map +1 -1
- package/dist/demod/demod-am.js +9 -4
- package/dist/demod/demod-am.js.map +1 -1
- package/dist/demod/demod-cw.d.ts +13 -1
- package/dist/demod/demod-cw.d.ts.map +1 -1
- package/dist/demod/demod-cw.js +12 -7
- package/dist/demod/demod-cw.js.map +1 -1
- package/dist/demod/demod-nbfm.d.ts +10 -1
- package/dist/demod/demod-nbfm.d.ts.map +1 -1
- package/dist/demod/demod-nbfm.js +9 -4
- package/dist/demod/demod-nbfm.js.map +1 -1
- package/dist/demod/demod-ssb.d.ts +11 -1
- package/dist/demod/demod-ssb.d.ts.map +1 -1
- package/dist/demod/demod-ssb.js +10 -5
- package/dist/demod/demod-ssb.js.map +1 -1
- package/dist/demod/demod-wbfm.d.ts +21 -3
- package/dist/demod/demod-wbfm.d.ts.map +1 -1
- package/dist/demod/demod-wbfm.js +17 -10
- package/dist/demod/demod-wbfm.js.map +1 -1
- package/dist/demod/empty-demodulator.d.ts +20 -0
- package/dist/demod/empty-demodulator.d.ts.map +1 -1
- package/dist/demod/empty-demodulator.js +10 -6
- package/dist/demod/empty-demodulator.js.map +1 -1
- package/dist/demod/modes.d.ts +2 -2
- package/dist/demod/modes.d.ts.map +1 -1
- package/dist/demod/modes.js +2 -2
- package/dist/demod/modes.js.map +1 -1
- package/dist/dsp/demodulators.d.ts +2 -1
- package/dist/dsp/demodulators.d.ts.map +1 -1
- package/dist/dsp/demodulators.js +2 -2
- package/dist/dsp/demodulators.js.map +1 -1
- package/dist/players/audioplayer.d.ts +10 -1
- package/dist/players/audioplayer.d.ts.map +1 -1
- package/dist/players/audioplayer.js +5 -2
- package/dist/players/audioplayer.js.map +1 -1
- package/dist/rtlsdr/rtl2832u.d.ts +10 -1
- package/dist/rtlsdr/rtl2832u.d.ts.map +1 -1
- package/dist/rtlsdr/rtl2832u.js +6 -4
- package/dist/rtlsdr/rtl2832u.js.map +1 -1
- package/package.json +1 -1
package/dist/demod/demod-am.d.ts
CHANGED
|
@@ -5,6 +5,13 @@ export type ModeAM = {
|
|
|
5
5
|
bandwidth: number;
|
|
6
6
|
squelch: number;
|
|
7
7
|
};
|
|
8
|
+
/** Mode options for AM. */
|
|
9
|
+
export type OptionsAM = {
|
|
10
|
+
/** Number of taps for the downsampler filter. Must be an odd number. 151 by default. */
|
|
11
|
+
downsamplerTaps?: number;
|
|
12
|
+
/** Number of taps for the RF filter. Must be an odd number. 151 by default. */
|
|
13
|
+
rfTaps?: number;
|
|
14
|
+
};
|
|
8
15
|
/** A demodulator for amplitude modulated signals. */
|
|
9
16
|
export declare class DemodAM implements Demod<ModeAM> {
|
|
10
17
|
private outRate;
|
|
@@ -13,8 +20,10 @@ export declare class DemodAM implements Demod<ModeAM> {
|
|
|
13
20
|
* @param inRate The sample rate of the input samples.
|
|
14
21
|
* @param outRate The sample rate of the output audio.
|
|
15
22
|
* @param mode The mode to use initially.
|
|
23
|
+
* @param options Options for the demodulator.
|
|
16
24
|
*/
|
|
17
|
-
constructor(inRate: number, outRate: number, mode: ModeAM);
|
|
25
|
+
constructor(inRate: number, outRate: number, mode: ModeAM, options?: OptionsAM);
|
|
26
|
+
private rfTaps;
|
|
18
27
|
private shifter;
|
|
19
28
|
private downsampler;
|
|
20
29
|
private filterI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-am.d.ts","sourceRoot":"","sources":["../../src/demod/demod-am.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"demod-am.d.ts","sourceRoot":"","sources":["../../src/demod/demod-am.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,8BAA8B;AAC9B,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,2BAA2B;AAC3B,MAAM,MAAM,SAAS,GAAG;IACtB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qDAAqD;AACrD,qBAAa,OAAQ,YAAW,KAAK,CAAC,MAAM,CAAC;IASzC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IATd;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,SAAS;IAgBrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM;IAWpB;;;;;;OAMG;IACH,UAAU,CACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,WAAW;CAef;AAED,oCAAoC;AACpC,qBAAa,QAAS,SAAQ,YAAY,CAAC,MAAM,CAAC;gBACpC,IAAI,EAAE,MAAM,GAAG,MAAM;IAGjC,SAAS,CAAC,MAAM,IAAI,MAAM;IAG1B,YAAY,IAAI,OAAO;IAGvB,YAAY,IAAI,MAAM;IAGtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;IAOzC,UAAU,IAAI,OAAO;IAGrB,UAAU,IAAI,MAAM;IAGpB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;CAItC"}
|
package/dist/demod/demod-am.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Jacobo Tarrio Barreiro. All rights reserved.
|
|
1
2
|
// Copyright 2014 Google Inc. All rights reserved.
|
|
2
3
|
//
|
|
3
4
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -25,17 +26,21 @@ export class DemodAM {
|
|
|
25
26
|
* @param inRate The sample rate of the input samples.
|
|
26
27
|
* @param outRate The sample rate of the output audio.
|
|
27
28
|
* @param mode The mode to use initially.
|
|
29
|
+
* @param options Options for the demodulator.
|
|
28
30
|
*/
|
|
29
|
-
constructor(inRate, outRate, mode) {
|
|
31
|
+
constructor(inRate, outRate, mode, options) {
|
|
30
32
|
this.outRate = outRate;
|
|
31
33
|
this.mode = mode;
|
|
34
|
+
const downsamplerTaps = options?.downsamplerTaps || 151;
|
|
35
|
+
this.rfTaps = options?.rfTaps || 151;
|
|
32
36
|
this.shifter = new FrequencyShifter(inRate);
|
|
33
|
-
this.downsampler = new ComplexDownsampler(inRate, outRate,
|
|
34
|
-
const kernel = makeLowPassKernel(outRate, this.mode.bandwidth / 2,
|
|
37
|
+
this.downsampler = new ComplexDownsampler(inRate, outRate, downsamplerTaps);
|
|
38
|
+
const kernel = makeLowPassKernel(outRate, this.mode.bandwidth / 2, this.rfTaps);
|
|
35
39
|
this.filterI = new FIRFilter(kernel);
|
|
36
40
|
this.filterQ = new FIRFilter(kernel);
|
|
37
41
|
this.demodulator = new AMDemodulator(outRate);
|
|
38
42
|
}
|
|
43
|
+
rfTaps;
|
|
39
44
|
shifter;
|
|
40
45
|
downsampler;
|
|
41
46
|
filterI;
|
|
@@ -46,7 +51,7 @@ export class DemodAM {
|
|
|
46
51
|
}
|
|
47
52
|
setMode(mode) {
|
|
48
53
|
this.mode = mode;
|
|
49
|
-
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2,
|
|
54
|
+
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2, this.rfTaps);
|
|
50
55
|
this.filterI.setCoefficients(kernel);
|
|
51
56
|
this.filterQ.setCoefficients(kernel);
|
|
52
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-am.js","sourceRoot":"","sources":["../../src/demod/demod-am.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"demod-am.js","sourceRoot":"","sources":["../../src/demod/demod-am.ts"],"names":[],"mappings":"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"}
|
package/dist/demod/demod-cw.d.ts
CHANGED
|
@@ -4,6 +4,15 @@ export type ModeCW = {
|
|
|
4
4
|
scheme: "CW";
|
|
5
5
|
bandwidth: number;
|
|
6
6
|
};
|
|
7
|
+
/** Mode options for CW. */
|
|
8
|
+
export type OptionsCW = {
|
|
9
|
+
/** Tone frequency of the zero-beat CW signals, in Hertz. 600 by default. */
|
|
10
|
+
toneFrequency?: number;
|
|
11
|
+
/** Number of taps for the downsampler filter. Must be an odd number. 151 by default. */
|
|
12
|
+
downsamplerTaps?: number;
|
|
13
|
+
/** Number of taps for the audio filter. Must be an odd number. 351 by default. */
|
|
14
|
+
audioTaps?: number;
|
|
15
|
+
};
|
|
7
16
|
/** A demodulator for continuous wave signals. */
|
|
8
17
|
export declare class DemodCW implements Demod<ModeCW> {
|
|
9
18
|
private outRate;
|
|
@@ -12,13 +21,16 @@ export declare class DemodCW implements Demod<ModeCW> {
|
|
|
12
21
|
* @param inRate The sample rate of the input samples.
|
|
13
22
|
* @param outRate The sample rate of the output audio.
|
|
14
23
|
* @param mode The mode to use initially.
|
|
24
|
+
* @param options Options for the demodulator.
|
|
15
25
|
*/
|
|
16
|
-
constructor(inRate: number, outRate: number, mode: ModeCW);
|
|
26
|
+
constructor(inRate: number, outRate: number, mode: ModeCW, options?: OptionsCW);
|
|
27
|
+
private audioTaps;
|
|
17
28
|
private shifter;
|
|
18
29
|
private downsampler;
|
|
19
30
|
private filterI;
|
|
20
31
|
private filterQ;
|
|
21
32
|
private toneShifter;
|
|
33
|
+
private toneFrequency;
|
|
22
34
|
private agc;
|
|
23
35
|
getMode(): ModeCW;
|
|
24
36
|
setMode(mode: ModeCW): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-cw.d.ts","sourceRoot":"","sources":["../../src/demod/demod-cw.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,8BAA8B;AAC9B,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"demod-cw.d.ts","sourceRoot":"","sources":["../../src/demod/demod-cw.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,8BAA8B;AAC9B,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,2BAA2B;AAC3B,MAAM,MAAM,SAAS,GAAG;IACtB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,iDAAiD;AACjD,qBAAa,OAAQ,YAAW,KAAK,CAAC,MAAM,CAAC;IASzC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IATd;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,SAAS;IAmBrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM;IAWpB,8DAA8D;IAC9D,UAAU,CACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,WAAW;CAgBf;AAED,oCAAoC;AACpC,qBAAa,QAAS,SAAQ,YAAY,CAAC,MAAM,CAAC;gBACpC,IAAI,EAAE,MAAM,GAAG,MAAM;IAGjC,SAAS,CAAC,MAAM,IAAI,MAAM;IAG1B,YAAY,IAAI,OAAO;IAGvB,YAAY,IAAI,MAAM;IAGtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;CAO1C"}
|
package/dist/demod/demod-cw.js
CHANGED
|
@@ -16,8 +16,6 @@ import { AGC, FIRFilter, FrequencyShifter } from "../dsp/filters.js";
|
|
|
16
16
|
import { getPower } from "../dsp/power.js";
|
|
17
17
|
import { ComplexDownsampler } from "../dsp/resamplers.js";
|
|
18
18
|
import { Configurator } from "./modes.js";
|
|
19
|
-
/** Output frequency of the zero-beat CW signals. */
|
|
20
|
-
const ToneFrequency = 600;
|
|
21
19
|
/** A demodulator for continuous wave signals. */
|
|
22
20
|
export class DemodCW {
|
|
23
21
|
outRate;
|
|
@@ -26,30 +24,37 @@ export class DemodCW {
|
|
|
26
24
|
* @param inRate The sample rate of the input samples.
|
|
27
25
|
* @param outRate The sample rate of the output audio.
|
|
28
26
|
* @param mode The mode to use initially.
|
|
27
|
+
* @param options Options for the demodulator.
|
|
29
28
|
*/
|
|
30
|
-
constructor(inRate, outRate, mode) {
|
|
29
|
+
constructor(inRate, outRate, mode, options) {
|
|
31
30
|
this.outRate = outRate;
|
|
32
31
|
this.mode = mode;
|
|
32
|
+
const downsamplerTaps = options?.downsamplerTaps || 151;
|
|
33
|
+
this.audioTaps = options?.audioTaps || 351;
|
|
34
|
+
const toneFrequency = options?.toneFrequency || 600;
|
|
33
35
|
this.shifter = new FrequencyShifter(inRate);
|
|
34
|
-
this.downsampler = new ComplexDownsampler(inRate, outRate,
|
|
35
|
-
const kernel = makeLowPassKernel(outRate, mode.bandwidth / 2,
|
|
36
|
+
this.downsampler = new ComplexDownsampler(inRate, outRate, downsamplerTaps);
|
|
37
|
+
const kernel = makeLowPassKernel(outRate, mode.bandwidth / 2, this.audioTaps);
|
|
36
38
|
this.filterI = new FIRFilter(kernel);
|
|
37
39
|
this.filterQ = new FIRFilter(kernel);
|
|
38
40
|
this.toneShifter = new FrequencyShifter(outRate);
|
|
41
|
+
this.toneFrequency = toneFrequency;
|
|
39
42
|
this.agc = new AGC(outRate, 10);
|
|
40
43
|
}
|
|
44
|
+
audioTaps;
|
|
41
45
|
shifter;
|
|
42
46
|
downsampler;
|
|
43
47
|
filterI;
|
|
44
48
|
filterQ;
|
|
45
49
|
toneShifter;
|
|
50
|
+
toneFrequency;
|
|
46
51
|
agc;
|
|
47
52
|
getMode() {
|
|
48
53
|
return this.mode;
|
|
49
54
|
}
|
|
50
55
|
setMode(mode) {
|
|
51
56
|
this.mode = mode;
|
|
52
|
-
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2,
|
|
57
|
+
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2, this.audioTaps);
|
|
53
58
|
this.filterI.setCoefficients(kernel);
|
|
54
59
|
this.filterQ.setCoefficients(kernel);
|
|
55
60
|
}
|
|
@@ -61,7 +66,7 @@ export class DemodCW {
|
|
|
61
66
|
this.filterI.inPlace(I);
|
|
62
67
|
this.filterQ.inPlace(Q);
|
|
63
68
|
let signalPower = (getPower(I, Q) * this.outRate) / this.mode.bandwidth;
|
|
64
|
-
this.toneShifter.inPlace(I, Q,
|
|
69
|
+
this.toneShifter.inPlace(I, Q, this.toneFrequency);
|
|
65
70
|
this.agc.inPlace(I);
|
|
66
71
|
return {
|
|
67
72
|
left: I,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-cw.js","sourceRoot":"","sources":["../../src/demod/demod-cw.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"demod-cw.js","sourceRoot":"","sources":["../../src/demod/demod-cw.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,13 @@ export type ModeNBFM = {
|
|
|
5
5
|
maxF: number;
|
|
6
6
|
squelch: number;
|
|
7
7
|
};
|
|
8
|
+
/** Mode options for NBFM. */
|
|
9
|
+
export type OptionsNBFM = {
|
|
10
|
+
/** Number of taps for the downsampler filter. Must be an odd number. 151 by default. */
|
|
11
|
+
downsamplerTaps?: number;
|
|
12
|
+
/** Number of taps for the RF filter. Must be an odd number. 151 by default. */
|
|
13
|
+
rfTaps?: number;
|
|
14
|
+
};
|
|
8
15
|
/** A demodulator for narrowband FM signals. */
|
|
9
16
|
export declare class DemodNBFM implements Demod<ModeNBFM> {
|
|
10
17
|
private outRate;
|
|
@@ -13,8 +20,10 @@ export declare class DemodNBFM implements Demod<ModeNBFM> {
|
|
|
13
20
|
* @param inRate The sample rate of the input samples.
|
|
14
21
|
* @param outRate The sample rate of the output audio.
|
|
15
22
|
* @param mode The mode to use initially.
|
|
23
|
+
* @param options Options for the demodulator.
|
|
16
24
|
*/
|
|
17
|
-
constructor(inRate: number, outRate: number, mode: ModeNBFM);
|
|
25
|
+
constructor(inRate: number, outRate: number, mode: ModeNBFM, options?: OptionsNBFM);
|
|
26
|
+
private rfTaps;
|
|
18
27
|
private shifter;
|
|
19
28
|
private downsampler;
|
|
20
29
|
private filterI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-nbfm.d.ts","sourceRoot":"","sources":["../../src/demod/demod-nbfm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"demod-nbfm.d.ts","sourceRoot":"","sources":["../../src/demod/demod-nbfm.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,gCAAgC;AAChC,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,6BAA6B;AAC7B,MAAM,MAAM,WAAW,GAAG;IACxB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,+CAA+C;AAC/C,qBAAa,SAAU,YAAW,KAAK,CAAC,QAAQ,CAAC;IAS7C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IATd;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,EACtB,OAAO,CAAC,EAAE,WAAW;IAYvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,IAAI,QAAQ;IAInB,OAAO,CAAC,IAAI,EAAE,QAAQ;IAQtB;;;;;;OAMG;IACH,UAAU,CACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,WAAW;CAef;AAED,sCAAsC;AACtC,qBAAa,UAAW,SAAQ,YAAY,CAAC,QAAQ,CAAC;gBACxC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAGnC,SAAS,CAAC,MAAM,IAAI,QAAQ;IAG5B,YAAY,IAAI,OAAO;IAGvB,YAAY,IAAI,MAAM;IAGtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAO3C,UAAU,IAAI,OAAO;IAGrB,UAAU,IAAI,MAAM;IAGpB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;CAIxC"}
|
package/dist/demod/demod-nbfm.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Jacobo Tarrio Barreiro. All rights reserved.
|
|
1
2
|
// Copyright 2014 Google Inc. All rights reserved.
|
|
2
3
|
//
|
|
3
4
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -25,17 +26,21 @@ export class DemodNBFM {
|
|
|
25
26
|
* @param inRate The sample rate of the input samples.
|
|
26
27
|
* @param outRate The sample rate of the output audio.
|
|
27
28
|
* @param mode The mode to use initially.
|
|
29
|
+
* @param options Options for the demodulator.
|
|
28
30
|
*/
|
|
29
|
-
constructor(inRate, outRate, mode) {
|
|
31
|
+
constructor(inRate, outRate, mode, options) {
|
|
30
32
|
this.outRate = outRate;
|
|
31
33
|
this.mode = mode;
|
|
34
|
+
const downsamplerTaps = options?.downsamplerTaps || 151;
|
|
35
|
+
this.rfTaps = options?.rfTaps || 151;
|
|
32
36
|
this.shifter = new FrequencyShifter(inRate);
|
|
33
|
-
this.downsampler = new ComplexDownsampler(inRate, outRate,
|
|
34
|
-
const kernel = makeLowPassKernel(outRate, mode.maxF,
|
|
37
|
+
this.downsampler = new ComplexDownsampler(inRate, outRate, downsamplerTaps);
|
|
38
|
+
const kernel = makeLowPassKernel(outRate, mode.maxF, this.rfTaps);
|
|
35
39
|
this.filterI = new FIRFilter(kernel);
|
|
36
40
|
this.filterQ = new FIRFilter(kernel);
|
|
37
41
|
this.demodulator = new FMDemodulator(mode.maxF / outRate);
|
|
38
42
|
}
|
|
43
|
+
rfTaps;
|
|
39
44
|
shifter;
|
|
40
45
|
downsampler;
|
|
41
46
|
filterI;
|
|
@@ -46,7 +51,7 @@ export class DemodNBFM {
|
|
|
46
51
|
}
|
|
47
52
|
setMode(mode) {
|
|
48
53
|
this.mode = mode;
|
|
49
|
-
const kernel = makeLowPassKernel(this.outRate, mode.maxF,
|
|
54
|
+
const kernel = makeLowPassKernel(this.outRate, mode.maxF, this.rfTaps);
|
|
50
55
|
this.filterI.setCoefficients(kernel);
|
|
51
56
|
this.filterQ.setCoefficients(kernel);
|
|
52
57
|
this.demodulator.setMaxDeviation(mode.maxF / this.outRate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-nbfm.js","sourceRoot":"","sources":["../../src/demod/demod-nbfm.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"demod-nbfm.js","sourceRoot":"","sources":["../../src/demod/demod-nbfm.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,15 @@ export type ModeSSB = {
|
|
|
5
5
|
bandwidth: number;
|
|
6
6
|
squelch: number;
|
|
7
7
|
};
|
|
8
|
+
/** Mode options for SSB. */
|
|
9
|
+
export type OptionsSSB = {
|
|
10
|
+
/** Number of taps for the downsampler filter. Must be an odd number. 151 by default. */
|
|
11
|
+
downsamplerTaps?: number;
|
|
12
|
+
/** Number of taps for the RF filter. Must be an odd number. 151 by default. */
|
|
13
|
+
rfTaps?: number;
|
|
14
|
+
/** Number of taps for the Hilbert filter. Must be an odd number. 151 by default. */
|
|
15
|
+
hilbertTaps?: number;
|
|
16
|
+
};
|
|
8
17
|
/** A demodulator for single-sideband modulated signals. */
|
|
9
18
|
export declare class DemodSSB implements Demod<ModeSSB> {
|
|
10
19
|
private outRate;
|
|
@@ -14,7 +23,8 @@ export declare class DemodSSB implements Demod<ModeSSB> {
|
|
|
14
23
|
* @param outRate The sample rate of the output audio.
|
|
15
24
|
* @param mode The mode to use initially.
|
|
16
25
|
*/
|
|
17
|
-
constructor(inRate: number, outRate: number, mode: ModeSSB);
|
|
26
|
+
constructor(inRate: number, outRate: number, mode: ModeSSB, options?: OptionsSSB);
|
|
27
|
+
private rfTaps;
|
|
18
28
|
private shifter;
|
|
19
29
|
private downsampler;
|
|
20
30
|
private filter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-ssb.d.ts","sourceRoot":"","sources":["../../src/demod/demod-ssb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"demod-ssb.d.ts","sourceRoot":"","sources":["../../src/demod/demod-ssb.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,+BAA+B;AAC/B,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG;IACvB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,2DAA2D;AAC3D,qBAAa,QAAS,YAAW,KAAK,CAAC,OAAO,CAAC;IAQ3C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IARd;;;;OAIG;gBAED,MAAM,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACrB,OAAO,CAAC,EAAE,UAAU;IAoBtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,IAAI,OAAO;IAIlB,OAAO,CAAC,IAAI,EAAE,OAAO;IAUrB;;;;;;OAMG;IACH,UAAU,CACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,WAAW;CAgBf;AAED,8CAA8C;AAC9C,qBAAa,SAAU,SAAQ,YAAY,CAAC,OAAO,CAAC;gBACtC,IAAI,EAAE,OAAO,GAAG,MAAM;IAGlC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAGzC,YAAY,IAAI,OAAO;IAGvB,YAAY,IAAI,MAAM;IAGtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAO1C,UAAU,IAAI,OAAO;IAGrB,UAAU,IAAI,MAAM;IAGpB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;CAIvC"}
|
package/dist/demod/demod-ssb.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Jacobo Tarrio Barreiro. All rights reserved.
|
|
1
2
|
// Copyright 2014 Google Inc. All rights reserved.
|
|
2
3
|
//
|
|
3
4
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -26,16 +27,20 @@ export class DemodSSB {
|
|
|
26
27
|
* @param outRate The sample rate of the output audio.
|
|
27
28
|
* @param mode The mode to use initially.
|
|
28
29
|
*/
|
|
29
|
-
constructor(inRate, outRate, mode) {
|
|
30
|
+
constructor(inRate, outRate, mode, options) {
|
|
30
31
|
this.outRate = outRate;
|
|
31
32
|
this.mode = mode;
|
|
33
|
+
const downsamplerTaps = options?.downsamplerTaps || 151;
|
|
34
|
+
this.rfTaps = options?.rfTaps || 151;
|
|
35
|
+
const hilbertTaps = options?.hilbertTaps || 151;
|
|
32
36
|
this.shifter = new FrequencyShifter(inRate);
|
|
33
|
-
this.downsampler = new ComplexDownsampler(inRate, outRate,
|
|
34
|
-
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2,
|
|
37
|
+
this.downsampler = new ComplexDownsampler(inRate, outRate, downsamplerTaps);
|
|
38
|
+
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2, this.rfTaps);
|
|
35
39
|
this.filter = new FIRFilter(kernel);
|
|
36
|
-
this.demodulator = new SSBDemodulator(mode.scheme == "USB" ? Sideband.Upper : Sideband.Lower);
|
|
40
|
+
this.demodulator = new SSBDemodulator(mode.scheme == "USB" ? Sideband.Upper : Sideband.Lower, hilbertTaps);
|
|
37
41
|
this.agc = new AGC(outRate, 3);
|
|
38
42
|
}
|
|
43
|
+
rfTaps;
|
|
39
44
|
shifter;
|
|
40
45
|
downsampler;
|
|
41
46
|
filter;
|
|
@@ -46,7 +51,7 @@ export class DemodSSB {
|
|
|
46
51
|
}
|
|
47
52
|
setMode(mode) {
|
|
48
53
|
this.mode = mode;
|
|
49
|
-
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2,
|
|
54
|
+
const kernel = makeLowPassKernel(this.outRate, mode.bandwidth / 2, this.rfTaps);
|
|
50
55
|
this.filter.setCoefficients(kernel);
|
|
51
56
|
}
|
|
52
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-ssb.js","sourceRoot":"","sources":["../../src/demod/demod-ssb.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"demod-ssb.js","sourceRoot":"","sources":["../../src/demod/demod-ssb.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,21 @@ export type ModeWBFM = {
|
|
|
4
4
|
scheme: "WBFM";
|
|
5
5
|
stereo: boolean;
|
|
6
6
|
};
|
|
7
|
+
/** Mode options for WBFM. */
|
|
8
|
+
export type OptionsWBFM = {
|
|
9
|
+
/**
|
|
10
|
+
* The time constant for the deemphasizer, in microseconds. 50 by default.
|
|
11
|
+
*
|
|
12
|
+
* This should be 75 for the US and South Korea, 50 everywhere else.
|
|
13
|
+
*/
|
|
14
|
+
deemphasizerTc?: number;
|
|
15
|
+
/** Number of taps for the downsampler filter. Must be an odd number. 151 by default. */
|
|
16
|
+
downsamplerTaps?: number;
|
|
17
|
+
/** Number of taps for the RF filter. Must be an odd number. 151 by default. */
|
|
18
|
+
rfTaps?: number;
|
|
19
|
+
/** Number of taps for the audio filter. Must be an odd number. 41 by default. */
|
|
20
|
+
audioTaps?: number;
|
|
21
|
+
};
|
|
7
22
|
/** A demodulator for wideband FM signals. */
|
|
8
23
|
export declare class DemodWBFM implements Demod<ModeWBFM> {
|
|
9
24
|
private mode;
|
|
@@ -11,8 +26,9 @@ export declare class DemodWBFM implements Demod<ModeWBFM> {
|
|
|
11
26
|
* @param inRate The sample rate of the input samples.
|
|
12
27
|
* @param outRate The sample rate of the output samples.
|
|
13
28
|
* @param mode The mode to use initially.
|
|
29
|
+
* @param options Options for the demodulator.
|
|
14
30
|
*/
|
|
15
|
-
constructor(inRate: number, outRate: number, mode: ModeWBFM);
|
|
31
|
+
constructor(inRate: number, outRate: number, mode: ModeWBFM, options?: OptionsWBFM);
|
|
16
32
|
private stage1;
|
|
17
33
|
private stage2;
|
|
18
34
|
getMode(): ModeWBFM;
|
|
@@ -38,8 +54,9 @@ export declare class DemodWBFMStage1 implements Demod<ModeWBFM> {
|
|
|
38
54
|
* @param inRate The sample rate of the input samples.
|
|
39
55
|
* @param outRate The sample rate of the output audio.
|
|
40
56
|
* @param mode The mode to use initially.
|
|
57
|
+
* @param options Options for the demodulator.
|
|
41
58
|
*/
|
|
42
|
-
constructor(inRate: number, outRate: number, mode: ModeWBFM);
|
|
59
|
+
constructor(inRate: number, outRate: number, mode: ModeWBFM, options?: OptionsWBFM);
|
|
43
60
|
private shifter;
|
|
44
61
|
private downsampler?;
|
|
45
62
|
private filterI;
|
|
@@ -67,8 +84,9 @@ export declare class DemodWBFMStage2 implements Demod<ModeWBFM> {
|
|
|
67
84
|
* @param inRate The sample rate of the input samples.
|
|
68
85
|
* @param outRate The sample rate of the output audio.
|
|
69
86
|
* @param mode The mode to use initially.
|
|
87
|
+
* @param options Options for the demodulator.
|
|
70
88
|
*/
|
|
71
|
-
constructor(inRate: number, outRate: number, mode: ModeWBFM);
|
|
89
|
+
constructor(inRate: number, outRate: number, mode: ModeWBFM, options?: OptionsWBFM);
|
|
72
90
|
private monoSampler;
|
|
73
91
|
private stereoSampler;
|
|
74
92
|
private stereoSeparator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-wbfm.d.ts","sourceRoot":"","sources":["../../src/demod/demod-wbfm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"demod-wbfm.d.ts","sourceRoot":"","sources":["../../src/demod/demod-wbfm.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,gCAAgC;AAChC,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D,6BAA6B;AAC7B,MAAM,MAAM,WAAW,GAAG;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,6CAA6C;AAC7C,qBAAa,SAAU,YAAW,KAAK,CAAC,QAAQ,CAAC;IAU7C,OAAO,CAAC,IAAI;IATd;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACP,IAAI,EAAE,QAAQ,EACtB,OAAO,CAAC,EAAE,WAAW;IAOvB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO,IAAI,QAAQ;IAInB,OAAO,CAAC,IAAI,EAAE,QAAQ;IAMtB;;;;;;OAMG;IACH,UAAU,CACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,WAAW;CAOf;AAED;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,KAAK,CAAC,QAAQ,CAAC;IASnD,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IATd;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,EACtB,OAAO,CAAC,EAAE,WAAW;IAmBvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,IAAI,QAAQ;IAInB,OAAO,CAAC,IAAI,EAAE,QAAQ;IAItB;;;;;;OAMG;IACH,UAAU,CACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,WAAW;CAiBf;AAED;;;;KAIK;AACL,qBAAa,eAAgB,YAAW,KAAK,CAAC,QAAQ,CAAC;IAUnD,OAAO,CAAC,IAAI;IATd;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACP,IAAI,EAAE,QAAQ,EACtB,OAAO,CAAC,EAAE,WAAW;IAavB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,IAAI,QAAQ;IAInB,OAAO,CAAC,IAAI,EAAE,QAAQ;IAItB;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW;CA0BhD;AAED,sCAAsC;AACtC,qBAAa,UAAW,SAAQ,YAAY,CAAC,QAAQ,CAAC;gBACxC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAGnC,SAAS,CAAC,MAAM,IAAI,QAAQ;IAG5B,SAAS,IAAI,OAAO;IAGpB,SAAS,IAAI,OAAO;IAGpB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU;IAItC,YAAY,IAAI,MAAM;CAGvB"}
|
package/dist/demod/demod-wbfm.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Jacobo Tarrio Barreiro. All rights reserved.
|
|
1
2
|
// Copyright 2013 Google Inc. All rights reserved.
|
|
2
3
|
//
|
|
3
4
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -24,12 +25,13 @@ export class DemodWBFM {
|
|
|
24
25
|
* @param inRate The sample rate of the input samples.
|
|
25
26
|
* @param outRate The sample rate of the output samples.
|
|
26
27
|
* @param mode The mode to use initially.
|
|
28
|
+
* @param options Options for the demodulator.
|
|
27
29
|
*/
|
|
28
|
-
constructor(inRate, outRate, mode) {
|
|
30
|
+
constructor(inRate, outRate, mode, options) {
|
|
29
31
|
this.mode = mode;
|
|
30
32
|
let interRate = Math.min(inRate, 336000);
|
|
31
|
-
this.stage1 = new DemodWBFMStage1(inRate, interRate, mode);
|
|
32
|
-
this.stage2 = new DemodWBFMStage2(interRate, outRate, mode);
|
|
33
|
+
this.stage1 = new DemodWBFMStage1(inRate, interRate, mode, options);
|
|
34
|
+
this.stage2 = new DemodWBFMStage2(interRate, outRate, mode, options);
|
|
33
35
|
}
|
|
34
36
|
stage1;
|
|
35
37
|
stage2;
|
|
@@ -67,16 +69,19 @@ export class DemodWBFMStage1 {
|
|
|
67
69
|
* @param inRate The sample rate of the input samples.
|
|
68
70
|
* @param outRate The sample rate of the output audio.
|
|
69
71
|
* @param mode The mode to use initially.
|
|
72
|
+
* @param options Options for the demodulator.
|
|
70
73
|
*/
|
|
71
|
-
constructor(inRate, outRate, mode) {
|
|
74
|
+
constructor(inRate, outRate, mode, options) {
|
|
72
75
|
this.outRate = outRate;
|
|
73
76
|
this.mode = mode;
|
|
74
77
|
const maxF = 75000;
|
|
78
|
+
const downsamplerTaps = options?.downsamplerTaps || 151;
|
|
79
|
+
const rfTaps = options?.rfTaps || 151;
|
|
75
80
|
this.shifter = new FrequencyShifter(inRate);
|
|
76
81
|
if (inRate != outRate) {
|
|
77
|
-
this.downsampler = new ComplexDownsampler(inRate, outRate,
|
|
82
|
+
this.downsampler = new ComplexDownsampler(inRate, outRate, downsamplerTaps);
|
|
78
83
|
}
|
|
79
|
-
const kernel = makeLowPassKernel(outRate, maxF,
|
|
84
|
+
const kernel = makeLowPassKernel(outRate, maxF, rfTaps);
|
|
80
85
|
this.filterI = new FIRFilter(kernel);
|
|
81
86
|
this.filterQ = new FIRFilter(kernel);
|
|
82
87
|
this.demodulator = new FMDemodulator(maxF / outRate);
|
|
@@ -128,13 +133,15 @@ export class DemodWBFMStage2 {
|
|
|
128
133
|
* @param inRate The sample rate of the input samples.
|
|
129
134
|
* @param outRate The sample rate of the output audio.
|
|
130
135
|
* @param mode The mode to use initially.
|
|
136
|
+
* @param options Options for the demodulator.
|
|
131
137
|
*/
|
|
132
|
-
constructor(inRate, outRate, mode) {
|
|
138
|
+
constructor(inRate, outRate, mode, options) {
|
|
133
139
|
this.mode = mode;
|
|
134
140
|
const pilotF = 19000;
|
|
135
|
-
const deemphTc = 50;
|
|
136
|
-
|
|
137
|
-
this.
|
|
141
|
+
const deemphTc = options?.deemphasizerTc === undefined ? 50 : options.deemphasizerTc;
|
|
142
|
+
const audioTaps = options?.audioTaps || 41;
|
|
143
|
+
this.monoSampler = new RealDownsampler(inRate, outRate, audioTaps);
|
|
144
|
+
this.stereoSampler = new RealDownsampler(inRate, outRate, audioTaps);
|
|
138
145
|
this.stereoSeparator = new StereoSeparator(inRate, pilotF);
|
|
139
146
|
this.leftDeemph = new Deemphasizer(outRate, deemphTc);
|
|
140
147
|
this.rightDeemph = new Deemphasizer(outRate, deemphTc);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demod-wbfm.js","sourceRoot":"","sources":["../../src/demod/demod-wbfm.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"demod-wbfm.js","sourceRoot":"","sources":["../../src/demod/demod-wbfm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { Mode } from "./modes.js";
|
|
2
2
|
import { Player } from "./player.js";
|
|
3
3
|
import { SampleReceiver } from "../radio.js";
|
|
4
|
+
type DemodulatorOptions = {
|
|
5
|
+
/**
|
|
6
|
+
* The player to use. If undefined, an AudioPlayer will be used.
|
|
7
|
+
*/
|
|
8
|
+
player?: Player;
|
|
9
|
+
/**
|
|
10
|
+
* Options for each mode. This is an object whose keys are registered mode names
|
|
11
|
+
* and the values are objects sent to the mode constructor.
|
|
12
|
+
*/
|
|
13
|
+
modeOptions?: {
|
|
14
|
+
[key: Mode["scheme"]]: object;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
4
17
|
/**
|
|
5
18
|
* A class that takes a stream of radio samples and demodulates
|
|
6
19
|
* it into an audio signal.
|
|
@@ -13,6 +26,10 @@ import { SampleReceiver } from "../radio.js";
|
|
|
13
26
|
* to observe the demodulator's state.
|
|
14
27
|
*/
|
|
15
28
|
export declare class Demodulator extends EventTarget implements SampleReceiver {
|
|
29
|
+
/**
|
|
30
|
+
* @param options Options for the demodulator.
|
|
31
|
+
*/
|
|
32
|
+
constructor(options?: DemodulatorOptions);
|
|
16
33
|
/**
|
|
17
34
|
* @param player The player to use. If undefined, an AudioPlayer will be used.
|
|
18
35
|
*/
|
|
@@ -23,6 +40,8 @@ export declare class Demodulator extends EventTarget implements SampleReceiver {
|
|
|
23
40
|
private player;
|
|
24
41
|
/** Controller that silences the output if the SNR is low. */
|
|
25
42
|
private squelchControl;
|
|
43
|
+
/** Options for the different modes. */
|
|
44
|
+
private modeOptions;
|
|
26
45
|
/** The modulation parameters as a Mode object. */
|
|
27
46
|
private mode;
|
|
28
47
|
/** The demodulator class. */
|
|
@@ -59,4 +78,5 @@ export declare class Demodulator extends EventTarget implements SampleReceiver {
|
|
|
59
78
|
export declare class StereoStatusEvent extends CustomEvent<boolean> {
|
|
60
79
|
constructor(stereo: boolean);
|
|
61
80
|
}
|
|
81
|
+
export {};
|
|
62
82
|
//# sourceMappingURL=empty-demodulator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty-demodulator.d.ts","sourceRoot":"","sources":["../../src/demod/empty-demodulator.ts"],"names":[],"mappings":"AAcA,OAAO,EAAS,IAAI,EAAqC,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,WAAY,YAAW,cAAc;IACpE;;OAEG;gBACS,MAAM,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"empty-demodulator.d.ts","sourceRoot":"","sources":["../../src/demod/empty-demodulator.ts"],"names":[],"mappings":"AAcA,OAAO,EAAS,IAAI,EAAqC,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,WAAY,YAAW,cAAc;IACpE;;OAEG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IACxC;;OAEG;gBACS,MAAM,CAAC,EAAE,MAAM;IAkB3B,uBAAuB;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,+BAA+B;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,6DAA6D;IAC7D,OAAO,CAAC,cAAc,CAAiB;IACvC,uCAAuC;IACvC,OAAO,CAAC,WAAW,CAAoC;IACvD,kDAAkD;IAClD,OAAO,CAAC,IAAI,CAAO;IACnB,6BAA6B;IAC7B,OAAO,CAAC,KAAK,CAAa;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,eAAe,CAAS;IAChC,iDAAiD;IACjD,OAAO,CAAC,YAAY,CAAU;IAC9B,2CAA2C;IAC3C,OAAO,CAAC,kBAAkB,CAAC,CAAY;IAEvC,yCAAyC;IACzC,OAAO,CAAC,IAAI,EAAE,IAAI;IAKlB,iDAAiD;IACjD,OAAO,IAAI,IAAI;IAIf,oCAAoC;IACpC,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAIjC,4CAA4C;IAC5C,kBAAkB;IAIlB,2FAA2F;IAC3F,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI1D,gDAAgD;IAChD,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,8CAA8C;IAC9C,SAAS;IAIT,wEAAwE;IACxE,OAAO,CAAC,SAAS;IAcjB,+BAA+B;IAC/B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKvC,8BAA8B;IAC9B,cAAc,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAmBzE,gBAAgB,CACd,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI,EAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,SAAS,GACtD,IAAI;IACP,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,SAAS,GACtD,IAAI;CAYR;AAED,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,OAAO,CAAC;gBAC7C,MAAM,EAAE,OAAO;CAG5B"}
|
|
@@ -25,14 +25,16 @@ import { AudioPlayer } from "../players/audioplayer.js";
|
|
|
25
25
|
* to observe the demodulator's state.
|
|
26
26
|
*/
|
|
27
27
|
export class Demodulator extends EventTarget {
|
|
28
|
-
|
|
29
|
-
* @param player The player to use. If undefined, an AudioPlayer will be used.
|
|
30
|
-
*/
|
|
31
|
-
constructor(player) {
|
|
28
|
+
constructor(playerOrOptions) {
|
|
32
29
|
super();
|
|
30
|
+
const player = playerOrOptions !== undefined && Object.hasOwn(playerOrOptions, "play")
|
|
31
|
+
? playerOrOptions
|
|
32
|
+
: playerOrOptions?.player;
|
|
33
|
+
const modeOptions = playerOrOptions?.modeOptions;
|
|
33
34
|
this.inRate = 1024000;
|
|
34
|
-
this.player = player
|
|
35
|
+
this.player = player || new AudioPlayer();
|
|
35
36
|
this.squelchControl = new SquelchControl(this.player.sampleRate);
|
|
37
|
+
this.modeOptions = modeOptions || {};
|
|
36
38
|
this.mode = getMode("WBFM");
|
|
37
39
|
this.demod = this.getScheme(this.mode);
|
|
38
40
|
this.frequencyOffset = 0;
|
|
@@ -44,6 +46,8 @@ export class Demodulator extends EventTarget {
|
|
|
44
46
|
player;
|
|
45
47
|
/** Controller that silences the output if the SNR is low. */
|
|
46
48
|
squelchControl;
|
|
49
|
+
/** Options for the different modes. */
|
|
50
|
+
modeOptions;
|
|
47
51
|
/** The modulation parameters as a Mode object. */
|
|
48
52
|
mode;
|
|
49
53
|
/** The demodulator class. */
|
|
@@ -89,7 +93,7 @@ export class Demodulator extends EventTarget {
|
|
|
89
93
|
demod.setMode(mode);
|
|
90
94
|
return demod;
|
|
91
95
|
}
|
|
92
|
-
return getDemod(this.inRate, this.player.sampleRate, mode);
|
|
96
|
+
return getDemod(this.inRate, this.player.sampleRate, mode, this.modeOptions[mode.scheme]);
|
|
93
97
|
}
|
|
94
98
|
/** Changes the sample rate. */
|
|
95
99
|
setSampleRate(sampleRate) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty-demodulator.js","sourceRoot":"","sources":["../../src/demod/empty-demodulator.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAe,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"empty-demodulator.js","sourceRoot":"","sources":["../../src/demod/empty-demodulator.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAe,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAexD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAS1C,YAAY,eAA6C;QACvD,KAAK,EAAE,CAAC;QACR,MAAM,MAAM,GACV,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC;YACrE,CAAC,CAAE,eAA0B;YAC7B,CAAC,CAAE,eAAsC,EAAE,MAAM,CAAC;QACtD,MAAM,WAAW,GAAI,eAAsC,EAAE,WAAW,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,uBAAuB;IACf,MAAM,CAAS;IACvB,+BAA+B;IACvB,MAAM,CAAS;IACvB,6DAA6D;IACrD,cAAc,CAAiB;IACvC,uCAAuC;IAC/B,WAAW,CAAoC;IACvD,kDAAkD;IAC1C,IAAI,CAAO;IACnB,6BAA6B;IACrB,KAAK,CAAa;IAC1B,+CAA+C;IACvC,eAAe,CAAS;IAChC,iDAAiD;IACzC,YAAY,CAAU;IAC9B,2CAA2C;IACnC,kBAAkB,CAAa;IAEvC,yCAAyC;IACzC,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,iDAAiD;IACjD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,oCAAoC;IACpC,kBAAkB,CAAC,MAAc;QAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAChC,CAAC;IAED,4CAA4C;IAC5C,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,2FAA2F;IAC3F,2BAA2B,CAAC,MAAc,EAAE,MAAc;QACxD,IAAI,CAAC,kBAAkB,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC/C,CAAC;IAED,gDAAgD;IAChD,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,8CAA8C;IAC9C,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,wEAAwE;IAChE,SAAS,CAAC,IAAU,EAAE,KAAkB;QAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,QAAQ,CACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,aAAa,CAAC,UAAkB;QAC9B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,8BAA8B;IAC9B,cAAc,CAAC,CAAe,EAAE,CAAe,EAAE,SAAiB;QAChE,IAAI,IAAI,CAAC,kBAAkB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACtD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACtC,CAAC;QAED,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CACtD,CAAC,EACD,CAAC,EACD,IAAI,CAAC,eAAe,CACrB,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC7B,CAAC;IACH,CAAC;IAYD,gBAAgB,CACd,IAAY,EACZ,QAAa,EACb,OAAuD;QAEvD,KAAK,CAAC,gBAAgB,CACpB,IAAI,EACJ,QAAqD,EACrD,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAoB;IACzD,YAAY,MAAe;QACzB,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;CACF;AAOD,MAAM,cAAc;IACE;IAApB,YAAoB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAElC,SAAS,GAAW,CAAC,CAAC;IAE9B,YAAY,CACV,IAAU,EACV,IAAkB,EAClB,KAAmB,EACnB,GAAW;QAEX,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,IAAI,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAAE,OAAO;QACjC,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;CACF"}
|
package/dist/demod/modes.d.ts
CHANGED
|
@@ -66,7 +66,7 @@ export declare function getSchemes(): Array<string>;
|
|
|
66
66
|
/** Returns the default mode for the given scheme name. */
|
|
67
67
|
export declare function getMode(scheme: string): Mode;
|
|
68
68
|
/** Returns a Scheme object for the given mode. */
|
|
69
|
-
export declare function getDemod<M extends Mode>(inRate: number, outRate: number, mode: M): Demod<M>;
|
|
69
|
+
export declare function getDemod<M extends Mode>(inRate: number, outRate: number, mode: M, options?: object): Demod<M>;
|
|
70
70
|
/** Returns accessors for the mode's or scheme's parameters. */
|
|
71
71
|
export declare function modeParameters<M extends Mode>(mode: M): Configurator<M>;
|
|
72
72
|
export declare function modeParameters(scheme: string): Configurator<Mode>;
|
|
@@ -101,7 +101,7 @@ export declare abstract class Configurator<M extends Mode> {
|
|
|
101
101
|
setSquelch(squelch: number): Configurator<M>;
|
|
102
102
|
}
|
|
103
103
|
/** The type for a constructor of a Scheme object. */
|
|
104
|
-
export type DemodConstructor<M extends Mode> = new (inRate: number, outRate: number, mode: M) => Demod<M>;
|
|
104
|
+
export type DemodConstructor<M extends Mode> = new (inRate: number, outRate: number, mode: M, options?: object) => Demod<M>;
|
|
105
105
|
/** The type for a constructor of a Configurator object. */
|
|
106
106
|
export type ConfigConstructor<M extends Mode> = new (base: M | string) => Configurator<M>;
|
|
107
107
|
//# sourceMappingURL=modes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/demod/modes.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8DAA8D;AAC9D,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,IAAI;IACnC,2CAA2C;IAC3C,OAAO,IAAI,CAAC,CAAC;IACb,iDAAiD;IACjD,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC;CAC/E;AAED,0BAA0B;AAC1B,MAAM,MAAM,WAAW,GAAG;IACxB,oBAAoB;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,qBAAqB;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,IAAI,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,IAAI,EAC1C,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EACjB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAG7B;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,QAE3C;AAED,qGAAqG;AACrG,wBAAgB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,CAE1C;AAED,0DAA0D;AAC1D,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,IAAI,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/demod/modes.ts"],"names":[],"mappings":"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"}
|
package/dist/demod/modes.js
CHANGED
|
@@ -34,9 +34,9 @@ export function getMode(scheme) {
|
|
|
34
34
|
return new reg.config(scheme).mode;
|
|
35
35
|
}
|
|
36
36
|
/** Returns a Scheme object for the given mode. */
|
|
37
|
-
export function getDemod(inRate, outRate, mode) {
|
|
37
|
+
export function getDemod(inRate, outRate, mode, options) {
|
|
38
38
|
let reg = getRegisteredDemod(mode);
|
|
39
|
-
return new reg.demod(inRate, outRate, mode);
|
|
39
|
+
return new reg.demod(inRate, outRate, mode, options);
|
|
40
40
|
}
|
|
41
41
|
export function modeParameters(mode) {
|
|
42
42
|
let reg = getRegisteredDemod(mode);
|
package/dist/demod/modes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/demod/modes.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AA0DjC;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAiB,EACjB,KAA0B,EAC1B,MAA4B;IAE5B,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,IAAI,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,OAAe,EACf,IAAO;
|
|
1
|
+
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/demod/modes.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,9 @@ export declare enum Sideband {
|
|
|
7
7
|
export declare class SSBDemodulator {
|
|
8
8
|
/**
|
|
9
9
|
* @param sideband The sideband to demodulate.
|
|
10
|
+
* @param kernelLen The length of the Hilbert filter kernel to use.
|
|
10
11
|
*/
|
|
11
|
-
constructor(sideband: Sideband);
|
|
12
|
+
constructor(sideband: Sideband, kernelLen: number);
|
|
12
13
|
private filterDelay;
|
|
13
14
|
private filterHilbert;
|
|
14
15
|
private hilbertMul;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demodulators.d.ts","sourceRoot":"","sources":["../../src/dsp/demodulators.ts"],"names":[],"mappings":"AAmBA,kCAAkC;AAClC,oBAAY,QAAQ;IAClB,KAAK,IAAA;IACL,KAAK,IAAA;CACN;AAED,iDAAiD;AACjD,qBAAa,cAAc;IACzB
|
|
1
|
+
{"version":3,"file":"demodulators.d.ts","sourceRoot":"","sources":["../../src/dsp/demodulators.ts"],"names":[],"mappings":"AAmBA,kCAAkC;AAClC,oBAAY,QAAQ;IAClB,KAAK,IAAA;IACL,KAAK,IAAA;CACN;AAED,iDAAiD;AACjD,qBAAa,cAAc;IACzB;;;OAGG;gBACS,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;IAOjD,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,UAAU,CAAS;IAE3B,8DAA8D;IAC9D,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;CAS/D;AAED,0CAA0C;AAC1C,qBAAa,aAAa;IACxB;;OAEG;gBACS,UAAU,EAAE,MAAM;IAK9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,gBAAgB,CAAS;IAEjC,8DAA8D;IAC9D,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;CAa/D;AAED,0CAA0C;AAC1C,qBAAa,aAAa;IACxB;;OAEG;gBACS,YAAY,EAAE,MAAM;IAMhC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IAEnB,qCAAqC;IACrC,eAAe,CAAC,YAAY,EAAE,MAAM;IAIpC,8DAA8D;IAC9D,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;CA2C/D;AAED,0EAA0E;AAC1E,qBAAa,eAAe;IAC1B;;;OAGG;gBACS,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAiBjD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAO;IAE/B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAe;IAE/B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE;CA2BxE"}
|
package/dist/dsp/demodulators.js
CHANGED
|
@@ -25,9 +25,9 @@ export var Sideband;
|
|
|
25
25
|
export class SSBDemodulator {
|
|
26
26
|
/**
|
|
27
27
|
* @param sideband The sideband to demodulate.
|
|
28
|
+
* @param kernelLen The length of the Hilbert filter kernel to use.
|
|
28
29
|
*/
|
|
29
|
-
constructor(sideband) {
|
|
30
|
-
const kernelLen = 151;
|
|
30
|
+
constructor(sideband, kernelLen) {
|
|
31
31
|
let hilbert = makeHilbertKernel(kernelLen);
|
|
32
32
|
this.filterDelay = new FIRFilter(hilbert);
|
|
33
33
|
this.filterHilbert = new FIRFilter(hilbert);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demodulators.js","sourceRoot":"","sources":["../../src/dsp/demodulators.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,kCAAkC;AAClC,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yCAAK,CAAA;IACL,yCAAK,CAAA;AACP,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,iDAAiD;AACjD,MAAM,OAAO,cAAc;IACzB
|
|
1
|
+
{"version":3,"file":"demodulators.js","sourceRoot":"","sources":["../../src/dsp/demodulators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { Player } from "../demod/player.js";
|
|
2
|
+
/** Options for the AudioPlayer constructor. */
|
|
3
|
+
export type PlayerOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* A function that returns the AudioContext instance to use for the player.
|
|
6
|
+
* If not specified, the default AudioContext constructor is used.
|
|
7
|
+
*/
|
|
8
|
+
newAudioContext?: () => AudioContext;
|
|
9
|
+
};
|
|
2
10
|
/** A class to play a series of sample buffers at a constant rate using the Web Audio API. */
|
|
3
11
|
export declare class AudioPlayer implements Player {
|
|
4
12
|
private static OUT_RATE;
|
|
5
13
|
private static TIME_BUFFER;
|
|
6
|
-
constructor();
|
|
14
|
+
constructor(options?: PlayerOptions);
|
|
15
|
+
private newAudioContext;
|
|
7
16
|
private lastPlayedAt;
|
|
8
17
|
private ac;
|
|
9
18
|
private gainNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audioplayer.d.ts","sourceRoot":"","sources":["../../src/players/audioplayer.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,6FAA6F;AAC7F,qBAAa,WAAY,YAAW,MAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAS;IAChC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAQ
|
|
1
|
+
{"version":3,"file":"audioplayer.d.ts","sourceRoot":"","sources":["../../src/players/audioplayer.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,YAAY,CAAC;CACtC,CAAC;AAEF,6FAA6F;AAC7F,qBAAa,WAAY,YAAW,MAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAS;IAChC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAQ;gBAEtB,OAAO,CAAC,EAAE,aAAa;IASnC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,IAAI,CAAS;IAErB;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;IAwB1D;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAOxB,SAAS,IAAI,MAAM;IAInB,IAAI,UAAU,IAAI,MAAM,CAGvB;CACF"}
|
|
@@ -15,12 +15,15 @@
|
|
|
15
15
|
export class AudioPlayer {
|
|
16
16
|
static OUT_RATE = 48000;
|
|
17
17
|
static TIME_BUFFER = 0.05;
|
|
18
|
-
constructor() {
|
|
18
|
+
constructor(options) {
|
|
19
|
+
this.newAudioContext =
|
|
20
|
+
options?.newAudioContext || (() => new AudioContext());
|
|
19
21
|
this.lastPlayedAt = -1;
|
|
20
22
|
this.ac = undefined;
|
|
21
23
|
this.gainNode = undefined;
|
|
22
24
|
this.gain = 0;
|
|
23
25
|
}
|
|
26
|
+
newAudioContext;
|
|
24
27
|
lastPlayedAt;
|
|
25
28
|
ac;
|
|
26
29
|
gainNode;
|
|
@@ -32,7 +35,7 @@ export class AudioPlayer {
|
|
|
32
35
|
*/
|
|
33
36
|
play(leftSamples, rightSamples) {
|
|
34
37
|
if (this.ac === undefined || this.gainNode === undefined) {
|
|
35
|
-
this.ac =
|
|
38
|
+
this.ac = this.newAudioContext();
|
|
36
39
|
this.gainNode = this.ac.createGain();
|
|
37
40
|
this.gainNode.gain.value = this.gain;
|
|
38
41
|
this.gainNode.connect(this.ac.destination);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audioplayer.js","sourceRoot":"","sources":["../../src/players/audioplayer.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;
|
|
1
|
+
{"version":3,"file":"audioplayer.js","sourceRoot":"","sources":["../../src/players/audioplayer.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAajC,6FAA6F;AAC7F,MAAM,OAAO,WAAW;IACd,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAElC,YAAY,OAAuB;QACjC,IAAI,CAAC,eAAe;YAClB,OAAO,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAEO,eAAe,CAAqB;IACpC,YAAY,CAAS;IACrB,EAAE,CAA2B;IAC7B,QAAQ,CAAuB;IAC/B,IAAI,CAAS;IAErB;;;;OAIG;IACH,IAAI,CAAC,WAAyB,EAAE,YAA0B;QACxD,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CACjC,CAAC,EACD,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,EAC7D,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAC9C,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpC,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { DirectSampling, RtlDevice, RtlDeviceProvider, SampleBlock } from "./rtldevice.js";
|
|
2
|
+
/** Options for the RTL2832U_Provider constructor. */
|
|
3
|
+
export type RtlOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* An implementation of the WebUSB USB interface to use to talk to the RTL-SDR device.
|
|
6
|
+
* If not specified, `navigator.usb` is used.
|
|
7
|
+
*/
|
|
8
|
+
webusb?: USB;
|
|
9
|
+
};
|
|
2
10
|
/** Class that returns an open RTL2832U device. */
|
|
3
11
|
export declare class RTL2832U_Provider implements RtlDeviceProvider {
|
|
4
|
-
constructor();
|
|
12
|
+
constructor(options?: RtlOptions);
|
|
13
|
+
private webusb?;
|
|
5
14
|
private device?;
|
|
6
15
|
get(): Promise<RtlDevice>;
|
|
7
16
|
private getDevice;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtl2832u.d.ts","sourceRoot":"","sources":["../../src/rtlsdr/rtl2832u.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AASxB,kDAAkD;AAClD,qBAAa,iBAAkB,YAAW,iBAAiB
|
|
1
|
+
{"version":3,"file":"rtl2832u.d.ts","sourceRoot":"","sources":["../../src/rtlsdr/rtl2832u.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AASxB,qDAAqD;AACrD,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,kDAAkD;AAClD,qBAAa,iBAAkB,YAAW,iBAAiB;gBAC7C,OAAO,CAAC,EAAE,UAAU;IAKhC,OAAO,CAAC,MAAM,CAAC,CAAM;IACrB,OAAO,CAAC,MAAM,CAAC,CAAY;IAErB,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;YAQjB,SAAS;CAiBxB;AAED,8CAA8C;AAC9C,qBAAa,QAAS,YAAW,SAAS;IAQtC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,KAAK;IARf,2CAA2C;IAC3C,MAAM,CAAC,SAAS,SAAY;IAE5B,2CAA2C;IAC3C,MAAM,CAAC,gBAAgB,SAAK;IAE5B,OAAO;IAYP,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAU;IAEhC;;;OAGG;WACU,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;mBAYlC,KAAK;IAgE1B,iGAAiG;mBAC5E,UAAU;IAa/B;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW5C,sBAAsB,CAAC,GAAG,EAAE,MAAM;YAiB1B,eAAe;IAU7B,sBAAsB,IAAI,MAAM;IAI1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAajC,OAAO,IAAI,MAAM,GAAG,IAAI;IAIlB,aAAa,CAAC,OAAO,EAAE,OAAO;IAMpC,gBAAgB,IAAI,OAAO;YAIb,aAAa;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,8BAA8B;YAChB,iBAAiB;IAM/B;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcvD;;;OAGG;IACG,uBAAuB,CAAC,MAAM,EAAE,cAAc;IAQpD,kDAAkD;IAClD,uBAAuB,IAAI,cAAc;YAI3B,uBAAuB;IAsCrC,2EAA2E;IACrE,WAAW;IAMjB;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOvD,6BAA6B;IACvB,KAAK;CAOZ"}
|
package/dist/rtlsdr/rtl2832u.js
CHANGED
|
@@ -24,9 +24,11 @@ const TUNERS = [
|
|
|
24
24
|
];
|
|
25
25
|
/** Class that returns an open RTL2832U device. */
|
|
26
26
|
export class RTL2832U_Provider {
|
|
27
|
-
constructor() {
|
|
27
|
+
constructor(options) {
|
|
28
|
+
this.webusb = options?.webusb || navigator.usb;
|
|
28
29
|
this.device = undefined;
|
|
29
30
|
}
|
|
31
|
+
webusb;
|
|
30
32
|
device;
|
|
31
33
|
async get() {
|
|
32
34
|
if (this.device === undefined) {
|
|
@@ -36,11 +38,11 @@ export class RTL2832U_Provider {
|
|
|
36
38
|
return RTL2832U.open(this.device);
|
|
37
39
|
}
|
|
38
40
|
async getDevice() {
|
|
39
|
-
if (
|
|
40
|
-
throw new RadioError(`This browser does not support the
|
|
41
|
+
if (this.webusb === undefined) {
|
|
42
|
+
throw new RadioError(`This browser does not support the WebUSB API`, RadioErrorType.NoUsbSupport);
|
|
41
43
|
}
|
|
42
44
|
try {
|
|
43
|
-
return
|
|
45
|
+
return this.webusb.requestDevice({ filters: TUNERS });
|
|
44
46
|
}
|
|
45
47
|
catch (e) {
|
|
46
48
|
throw new RadioError(`No device was selected`, RadioErrorType.NoDeviceSelected, { cause: e });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtl2832u.js","sourceRoot":"","sources":["../../src/rtlsdr/rtl2832u.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,kDAAkD;AAClD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,cAAc,GAIf,MAAM,gBAAgB,CAAC;AAGxB,6BAA6B;AAC7B,MAAM,MAAM,GAAG;IACb,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IACvC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;CACxC,CAAC;AAEF,kDAAkD;AAClD,MAAM,OAAO,iBAAiB;IAC5B;QACE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAEO,MAAM,CAAa;IAE3B,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,UAAU,CAClB,iDAAiD,EACjD,cAAc,CAAC,YAAY,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,UAAU,CAClB,wBAAwB,EACxB,cAAc,CAAC,gBAAgB,EAC/B,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,OAAO,QAAQ;IAQT;IACA;IARV,2CAA2C;IAC3C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;IAE5B,2CAA2C;IAC3C,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAE5B,YACU,GAAW,EACX,KAAY;QADZ,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAO;QAEpB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC,GAAG,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEO,eAAe,CAAS;IACxB,GAAG,CAAS;IACZ,IAAI,CAAgB;IACpB,oBAAoB,CAAiB;IACrC,cAAc,CAAiB;IAC/B,cAAc,CAAU;IAEhC;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAiB;QACjC,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QAE3B,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAW;QACpC,uEAAuE;QACvE,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3C,sDAAsD;QACtD,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACvC,iDAAiD;QACjD,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACnD,sDAAsD;QACtD,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,+EAA+E;QAC/E,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,sBAAsB;QACtB,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9C,oEAAoE;QACpE,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9C,2CAA2C;QAC3C,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,yCAAyC;QACzC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,mBAAmB;QACnB,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,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"}
|
|
1
|
+
{"version":3,"file":"rtl2832u.js","sourceRoot":"","sources":["../../src/rtlsdr/rtl2832u.ts"],"names":[],"mappings":"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,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,CAA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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jtarrio/webrtlsdr",
|
|
3
3
|
"description": "Access RTL-SDR devices and receive and demodulate radio signals from your web application",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.6",
|
|
5
5
|
"author": "Jacobo Tarrio <jtarrio@gmail.com>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|