C-Netz: Calibration/fix processing of tone levels on TX and RX side

FSK and compander levels are adjusted.

Eliminate offsets between subsequent speech chunks. This is done by
high-pass filter. An offset is not passed to the filter.

Do correct audio processing chain:
 time compress -> compressor -> scrambler / pre-emphasis -> TX
 RX -> de-scrambler / de-emphasis -> expander -> time expand
This commit is contained in:
Andreas Eversberg
2016-05-13 08:56:26 +02:00
parent 5a9c9c7401
commit 46fa72894e
4 changed files with 83 additions and 61 deletions

View File

@@ -144,8 +144,8 @@ typedef struct cnetz {
double frame_last_phase; /* master's bit phase of last frame sync */
/* audio offset removal */
double offset_removal_factor; /* how much to remove every sample */
int16_t offset_last_sample; /* last sample of last audio chunk */
double offset_factor; /* filer alpha of high-pass filter */
double offset_y_last; /* last stored sample */
/* measurements */
int measure_speed; /* measure clock speed */