This commit is contained in:
nzasch
2022-01-03 17:52:27 +01:00
parent 9a2f5c0069
commit b9a7a1e15b
9 changed files with 168 additions and 50 deletions

View File

@@ -11,9 +11,9 @@
#define RX_ADC_BUFFER_SIZE (1024)
#define RX_ADC_SAMPLES_BUFFER_RATE (RX_ADC_SAMPLE_RATE/RX_ADC_BUFFER_SIZE)
#define NCO2_INCREMENT (343597383L)
#define NCO2_FREQUENCY (RX_DAC_SAMPLE_RATE/((0xFFFFFFFF)/NCO2_INCREMENT))
// RX DAC
#define RX_DAC_DIVISOR 7680
#define RX_DAC_SAMPLE_RATE (CLOCK/RX_DAC_DIVISOR) // 21875
// 1° stadio
// decimazione del singolo stadio
@@ -38,20 +38,20 @@
#define LF_BUFFER_SIZE (ST2_BUFFER_SIZE/ST2_DECIMATION_FACTOR)
// audio filter
#define AUDIO_FILTER_TAP_NUM 128
#define AUDIO_FILTER_FREQ_DEF (1250)
#define AUDIO_FILTER_FREQ_MAX (RX_DAC_SAMPLE_RATE/2)
#define AUDIO_FILTER_BW_DEF (2000)
#define AUDIO_FILTER_BW_MAX (RX_DAC_SAMPLE_RATE/2)
#define AUDIO_FILTER_BETA_DEF (16)
#define AUDIO_FILTER_BLOCK_SIZE LF_BUFFER_SIZE
#define RX_AUDIO_FILTER_TAP_NUM 128
#define RX_AUDIO_FILTER_FREQ_DEF (1250)
#define RX_AUDIO_FILTER_FREQ_MAX (RX_DAC_SAMPLE_RATE/2)
#define RX_AUDIO_FILTER_BW_DEF (2000)
#define RX_AUDIO_FILTER_BW_MAX (RX_DAC_SAMPLE_RATE/2)
#define RX_AUDIO_FILTER_BETA_DEF (16)
#define RX_AUDIO_FILTER_BLOCK_SIZE LF_BUFFER_SIZE
// demodulatore
#define NCO2_INCREMENT (343597383L)
#define NCO2_FREQUENCY (RX_DAC_SAMPLE_RATE/((0xFFFFFFFF)/NCO2_INCREMENT)) // 1750
#define RX_SMETER_SCALE 4
// === DAC ===
#define RX_DAC_DIVISOR 7680
#define RX_DAC_SAMPLE_RATE (CLOCK/RX_DAC_DIVISOR)
extern uint8_t rx_signal, rx_signal_last;
extern q31_t rx_nco1_increment;
@@ -65,8 +65,8 @@ extern int32_t st2_wide_taps[ST2_FILTER_TAP_NUM];
// filtro audio
extern arm_fir_instance_q31 audio_filter_struct;
extern q31_t audio_filter_state[AUDIO_FILTER_BLOCK_SIZE + AUDIO_FILTER_TAP_NUM - 1];
extern int32_t audio_filter_coeffs[AUDIO_FILTER_TAP_NUM];
extern q31_t audio_filter_state[RX_AUDIO_FILTER_BLOCK_SIZE + RX_AUDIO_FILTER_TAP_NUM - 1];
extern int32_t audio_filter_coeffs[RX_AUDIO_FILTER_TAP_NUM];
// mix
void rx_mixer(uint16_t *in, uint16_t size, q31_t *I_out, q31_t *Q_out, int32_t nco_freq);