This commit is contained in:
nzasch
2022-01-01 02:10:06 +01:00
parent 8fe05fdf5e
commit 9a2f5c0069
11 changed files with 344 additions and 28 deletions

Binary file not shown.

View File

@@ -5,34 +5,42 @@
#include "rx.h"
#include "tx.h"
/*
#define TX_TYPE_NONE 0
#define TX_TYPE_DAC 1
#define TX_TYPE_PWM 2
#define TX_TYPE_SI5351 3
// #define TX_TYPE TX_TYPE_SI5351
#define TX_TYPE TX_TYPE_NONE
*/
#define IF_TYPE_NOIF 0
#define IF_TYPE_LOMIX 1
#define IF_TYPE_NOIF 0 // la frequenza del dac o del dds e' pari alla frequenza impostata
#define IF_TYPE_LOMIX 1
#define IF_TYPE IF_TYPE_NOIF
#define LO_TYPE_FIX 0
#define LO_TYPE_SI5351 1
#define LO_TYPE LO_TYPE_SI5351
#define LO_TYPE_FIX_FREQ 0 // frequenza di LO
#define CLOCK (168000000UL)
/*
// RX ADC
#define ADC_CLOCK (700000L) // (168000000/((47,5+12,5)*4)
#define OVERSAMPLING (2)
#define ADC_SAMPLE_RATE (ADC_CLOCK/OVERSAMPLING)
#define ADC_OVERSAMPLING (2)
#define ADC_SAMPLE_RATE (ADC_CLOCK/ADC_OVERSAMPLING)
#define ADC_BUFFER_SIZE (1024)
#define SAMPLES_BUFFER_RATE (ADC_SAMPLE_RATE/ADC_BUFFER_SIZE)
#define ADC_SAMPLES_BUFFER_RATE (ADC_SAMPLE_RATE/ADC_BUFFER_SIZE)
*/
/*
// TX DAC
#define TX_DAC_SAMPLE_RATE (CLOCK/480)
#define TX_DAC_BUFFER_SIZE (1024)
#define TX_DAC_BUFFER_RATE (TX_DAC_SAMPLE_RATE/TX_DAC_BUFFER_SIZE)
*/
#define MOD_DC 0
#define MOD_LSB 1
@@ -43,9 +51,11 @@
#define STATUS_TX 1
#define STATUS_SQ 2
/*
// === DAC ===
#define DAC_DIVISOR 7680
#define DAC_SAMPLE_RATE (CLOCK/DAC_DIVISOR)
#define RX_DAC_DIVISOR 7680
#define RX_DAC_SAMPLE_RATE (CLOCK/RX_DAC_DIVISOR)
*/
// === UART ===
#define RX_CMD_RB_SIZE (32)
@@ -84,7 +94,7 @@ extern char uart_tx_buf[UART_TX_BUFFER_SIZE];
extern uint16_t uart_tx_buf_in_idx;
// rx adc
extern uint16_t adc_buffer[ADC_BUFFER_SIZE];
extern uint16_t adc_buffer[RX_ADC_BUFFER_SIZE];
// tx dac
extern q31_t tx_dac_buffer[2][TX_DAC_BUFFER_SIZE];

View File

@@ -48,7 +48,7 @@
#define MENU_NAME_ROW 0
#define MENU_NAME_COL 0
#define DISPLAY_BL_DIM 0
#define DISPLAY_BL_DIM 50
#define DISPLAY_ROWS 6
#define DISPLAY_COLS 14
@@ -110,3 +110,6 @@ char * valToStr(uint32_t val, char *buf, uint8_t bufSize, char sepChar);
uint8_t sat_subu8b(uint8_t x, uint8_t y);
void menu_item_up(void);
void menu_item_down(void);
void display_backlight_on(void);
void display_backlight_off(void);

View File

@@ -4,8 +4,16 @@
#include <stdint.h>
#include <arm_math.h>
// RX ADC
#define RX_ADC_CLOCK (700000L) // (168000000/((47,5+12,5)*4)
#define RX_ADC_OVERSAMPLING (2)
#define RX_ADC_SAMPLE_RATE (RX_ADC_CLOCK/RX_ADC_OVERSAMPLING)
#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 (DAC_SAMPLE_RATE/((0xFFFFFFFF)/NCO2_INCREMENT))
#define NCO2_FREQUENCY (RX_DAC_SAMPLE_RATE/((0xFFFFFFFF)/NCO2_INCREMENT))
// 1° stadio
// decimazione del singolo stadio
@@ -18,7 +26,7 @@
#define MIXED_SAMPLES_2M_RINGBUFFER_SIZE (MIXED_SAMPLES_RINGBUFFER_SIZE / 2)
#define MIXED_SAMPLES_2M_RINGBUFFER_SIZE_MASK (MIXED_SAMPLES_2M_RINGBUFFER_SIZE - 1)
#define ST1_OUT_SAMPLE_RATE (ADC_SAMPLE_RATE/(MS_DECIMATION_FACTOR*2))
#define ST1_OUT_SAMPLE_RATE (RX_ADC_SAMPLE_RATE/(MS_DECIMATION_FACTOR*2))
// 2° stadio
#define ST2_BUFFER_SIZE (256)
@@ -32,14 +40,18 @@
// audio filter
#define AUDIO_FILTER_TAP_NUM 128
#define AUDIO_FILTER_FREQ_DEF (1250)
#define AUDIO_FILTER_FREQ_MAX (DAC_SAMPLE_RATE/2)
#define AUDIO_FILTER_FREQ_MAX (RX_DAC_SAMPLE_RATE/2)
#define AUDIO_FILTER_BW_DEF (2000)
#define AUDIO_FILTER_BW_MAX (DAC_SAMPLE_RATE/2)
#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_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;

View File

@@ -4,10 +4,22 @@
#include <stdint.h>
#include <arm_math.h>
#define TX_TYPE_NONE 0
#define TX_TYPE_DAC 1
#define TX_TYPE_PWM 2
#define TX_TYPE_SI5351 3
// #define TX_TYPE TX_TYPE_SI5351
#define TX_TYPE TX_TYPE_NONE
#define TX_AUDIO_FILTER_INTERPOLATION_FACTOR (16)
#define TX_AUDIO_FILTER_BLOCK_SIZE (1024)
#define TX_AUDIO_FILTER_TAP_NUM (128)
// TX DAC
#define TX_DAC_SAMPLE_RATE (CLOCK/480)
#define TX_DAC_BUFFER_SIZE (1024)
#define TX_DAC_BUFFER_RATE (TX_DAC_SAMPLE_RATE/TX_DAC_BUFFER_SIZE)
extern uint8_t tx_signal, tx_signal_last;
extern q31_t tx_nco1_increment;