Skip to content

Releases: williamyang98/16qam_modulator

Compiled rtlsdr with latest version

29 Dec 04:10
Compare
Choose a tag to compare
v1.10

Correctly copy executables and dlls when making package

Binary file for stm32 transmitter

19 Dec 10:25
Compare
Choose a tag to compare

Upload this using STM32 Cube programmer. Follow instructions in README.md in transmitter/stm32xxx folder.

Performance improvements

05 Jan 11:28
Compare
Choose a tag to compare
  • Moved accumulate sum outside of loop

Persist renderer state

05 Jan 07:51
Compare
Choose a tag to compare
  • Fixed being unable to zoom onto x or y axis due to resetting of renderer state

Added portaudio for better audio playback

04 Jan 14:49
Compare
Choose a tag to compare

Replaced Viterbi decoder with Phil Karn's implementation

04 Jan 01:56
Compare
Choose a tag to compare
  • Replaced Viterbi decoder
  • Used lookup table based convolutional encoder
  • Fixed missing virtual destructor in PreambleFilter and VariablePreambleFilter

Updated DSP library with vectorised code

03 Jan 21:09
Compare
Choose a tag to compare

Sample IQ data

11 Dec 21:32
Compare
Choose a tag to compare

Sample IQ data

STM32F401CC Transmitter:

  • 16QAM
  • 4.2MHz carrier frequency
  • 200kHz symbol rate
  • 40kHz audio rate (1/5 audio to symbol frequency)

Atmega328p Arduino Transmitter:

  • 16QAM
  • 4MHz carrier frequency
  • 88kHz symbol rate
  • 17.6kHz audio rate (1/5 audio to symbol frequency)

Example usage:
./view_data.exe -i data/16QAM_42MHz_200kHz_120s_1MHz.pcm -f 1e6 -s 200e3
./view_data.exe -i data/16QAM_4MHz_88kHz_180s_1MHz.pcm -f 1e6 -s 88e3 -D 1 -S 1
./view_data.exe -i data/16QAM_4MHz_88kHz_120s_1MHz_high_SNR.pcm -f 1e6 -s 88e3 -D 1 -S 1

v1.4

18 Sep 15:36
Compare
Choose a tag to compare

Added variable downsampling and upsampling for improved performance.
Downsampling reduces computation required for carrier synchronisation.
Upsampling increases accuracy of symbol synchronisation.

Downsampling filter is mandatory since it will implement the required LPF with cutoff Fsymbol.
Even for a downsamplng factor of 1 "-D 1", the polyphase downsampling filter will essentially behave as a regular FIR LPF.

Upsampling filter is optional and can be disabled with "-S 1".

v1.3

28 Aug 09:23
Compare
Choose a tag to compare

Added compiled binary for the STM32F401 microcontroller. This microcontroller is significantly faster than the Atmega328p and supports DMA (direct memory access) so we can achieve more efficient ADC sampling.
The symbol rate of the STM32F401 is 200kHz with an ADC sampling rate of 40kHz. There is also significant remaining headroom for even faster sampling speeds if it is desired.

NOTE: The effect of multipath fading results in a less stable PLL and TED lock as the symbol frequency increases.