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 amplifier of I and Q mixer output with 19.200 Hz sampling rate, trigger by timer interrupt
2. 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 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 sin and cos constant value in the constant array, we just need 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 repeat proses.

Dian Kurniawan

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s