Silvano Seva
e93b461beb
Added phase inversion setting to M17 modulator
2023-05-29 22:12:40 +02:00
Silvano Seva
4a3bc93fa4
Always send an M17 EOT frame as the last frame before terminating baseband output
2023-03-12 16:27:31 +01:00
Silvano Seva
a89a7523cb
Updated year in copyright headers
2023-02-08 16:33:02 +01:00
Silvano Seva
9d021b7557
Fixed bug in M17 modulator and demodulator making them not releasing their audio paths on termination thus locking up the thread on M17 mode re-entering.
2022-10-31 08:41:31 +01:00
Silvano Seva
21481072e7
Moved audio management in M17 opmode handler to audio path system
2022-10-28 09:47:47 +02:00
Silvano Seva
b5fc9b252d
Moved code of compensating filter for MDx PWM-based DAC to a dedicated class.
2022-08-28 12:17:04 +02:00
Silvano Seva
d11bb903b1
Made public the M17Modulator.stop() function, added macro to enable the transmission of an M17 EOT frame (disabled by default).
2022-08-28 12:00:36 +02:00
Jacob McSwain
fa33f15417
Implemented M17 EOT marker
2022-08-28 11:59:31 +02:00
Silvano Seva
a22aceb576
Reorganized code for M17 transmission: removed M17Transmitter class, use M17FrameEncoder to assemble LSF and data frames, modified API of M17Modulator class.
2022-08-28 11:59:31 +02:00
Silvano Seva
54aa794bf8
Changed file extension of all C++ only header files from .h to .hpp
2022-07-09 18:22:36 +02:00
Silvano Seva
d2e0b7d940
Improved heap memory management in M17 modulator class
2022-06-05 12:27:25 +02:00
Silvano Seva
46c988bdc2
Restoring priority level of output streams to PRIO_BEEP when the stream terminates, made M17Modulator::emitBaseband() wait for effective stream termination before returning when transmission stop is requested. Fixes #76
2022-05-27 21:49:33 +02:00
Silvano Seva
d17d683b2d
M17 code cleanup pass: reorganised data type definitions and constants
2022-05-27 21:49:33 +02:00
Silvano Seva
6b31a73f42
Corrected RRC gain and changed HR_C5000 modulation factor and input gain to have the correct 2.4kHz deviation when transmitting M17 with an MD3x0 radio
2022-05-27 21:48:47 +02:00
Silvano Seva
e68b05d859
Fixed double free errors in M17 code, see #73
2022-05-27 21:48:47 +02:00
Niccolò Izzo
2d59658d60
Switch M17 Rx sample rate to 5SPS
...
Due to the RRC computation sometimes violating the timing constraints,
we switched the M17 demodulator to 5 samples per symbol (24KHz), thus
dividing the processing time by four ar the number of samples halves as
well as the number of taps of the RRC.
Minor adaptation on the code followed.
TG-81
2022-05-27 21:48:47 +02:00
Silvano Seva
e5b5daba85
Moved state variables of PWM compensator and DC removal filter outside the function bodies to allow keeping their consistency among function calls
2022-05-27 21:48:47 +02:00
Silvano Seva
4b8685b853
Changed gain and added an offset at tx RRC stage only for Module 17 to compensate for an hardware bug
2022-05-27 21:48:47 +02:00
Silvano Seva
d1b4973cc9
Fixed reset of DC bias on stream stop in Module 17 output stream driver, made parametric the gain of the RRC at modulator side
2022-05-27 21:48:47 +02:00
Silvano Seva
c9a4bfb199
Cleanup and refactoring of M17 modulator class, now using output streams for baseband signal output
2022-05-27 21:48:47 +02:00
Niccolò Izzo
2d8c696a09
Complete M17 demodulator implementation
...
Make quantization work also on DC offset signal
Add samples plot code
Fix bug in buffer wrap around
Fix oob memory access in M17 modulator
Update tests with DC offset signal
Switch to 48KHz sample rate for Module17 and MD380
Add DC biasing script
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
3aeade6c1f
Clarify M17 modulator constant naming
...
Further clarify modulator constant naming for sample rate and frame
lengths, to distinguish between demodulator values.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
6588a6718e
Add M17 namespace in M17 related source files
...
Now M17 source files reside in the M17 namespace, the OPMODE_ prefix
was added to all opmode enums to avoid a name clash.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
876cb87d57
Move rrc filter into separate compilation unit
...
By moving the rrc filter into a separate compilation unit with its own
header file, we can use it both in the modulator and in the demodulator.
2022-05-27 21:48:46 +02:00
Silvano Seva
a3b7b490d4
Fixed jitter in M17 baseband signal generation
2022-05-27 21:48:46 +02:00
Silvano Seva
39e41ee470
M17 4FSK modulator class
2021-09-03 16:44:57 +02:00