SSB modulation and demodulation module for stand alone SDR or direct conversion trx

Specification :
*. STM32F103C8, 32bit, run on 72 MHz clock
*. 19.200 Hz ( 8 x 2400Hz ssb bw ) audio sampling for I and Q output from Tayloe rf mixer
*. 27 taps Low Pass Filter (FIR)
*. PT8211 LSBJ DAC for I/Q transmit audio
*. 8Bit R2R DAC for speaker out
*. Software AGC calculation

flow code demodulation process :
1. Get ADC value from the signal amplifier of I and Q mixer output, with 19.200 Hz sampling rate, trigger by the microprocessor timer interrupt
2. Filter the ADC value using LPF FIR calculation, store sample to FIR Buffer for the next process
3. Do sine and cosine calculation for I and Q input (90′ phase difference)
3. Perform AGC calculation for speaker output level
4. Send Final Value to DAC

flow code modulation process
1. Get ADC value from microphone with 19.200 Hz sampling rate, trigger by timer interrupt
2. Perform Compressor calculation for transmit modulation level
3. Filter the ADC value using LPF FIR calculation, store sample to FIR Buffer for the next process
3. Do sin and cos calculation for I and Q output (90′ phase difference)
4. Send Final Value to TX DAC (PT8211)

STM32F103C8 didn’t have any DSP multiplication feature, so we used sine and cosine constant value in the constant array, we need only 8 sin and 8 cosine value for doing this. This configuration will save around 900 clock cycles. All the process must be done in 0.000052083 seconds before the next interrupt timer trigger next repeats proses.

Dian Kurniawan

 

Advertisements