From e54b73cc1d809a9bbfe2c77e4e38673d2ea1d830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD?= <43981173+UU5JPP@users.noreply.github.com> Date: Wed, 12 Jan 2022 14:37:22 +0300 Subject: [PATCH] SWR --- STM32/Core/Src/rf_unit.c | 30 ++++++++++--- STM32/Core/Src/settings.h | 2 +- STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h | 42 +++++++++---------- STM32/MDK-ARM/WOLF-Lite.uvprojx | 2 +- STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp | 15 ------- 5 files changed, 47 insertions(+), 44 deletions(-) diff --git a/STM32/Core/Src/rf_unit.c b/STM32/Core/Src/rf_unit.c index d001b20..8a4ff47 100644 --- a/STM32/Core/Src/rf_unit.c +++ b/STM32/Core/Src/rf_unit.c @@ -98,14 +98,32 @@ void RF_UNIT_ProcessSensors(void) else backward = 0.001f; - TRX_VLT_forward = 0.80f * TRX_VLT_forward + 0.20f * forward; - TRX_VLT_backward = 0.99f * TRX_VLT_backward + 0.01f * backward; - TRX_SWR = (TRX_VLT_forward + TRX_VLT_backward) / (TRX_VLT_forward - TRX_VLT_backward); +// TRX_VLT_forward = 0.80f * TRX_VLT_forward + 0.20f * forward; +// TRX_VLT_backward = 0.99f * TRX_VLT_backward + 0.01f * backward; +// TRX_SWR = (TRX_VLT_forward + TRX_VLT_backward) / (TRX_VLT_forward - TRX_VLT_backward); +// if (TRX_VLT_backward > TRX_VLT_forward) +// TRX_SWR = 10.0f; +// if (TRX_SWR > 10.0f) +// TRX_SWR = 10.0f; + if(TRX_VLT_forward <= forward) { + TRX_VLT_forward = forward; + } + else { + TRX_VLT_forward = TRX_VLT_forward * 0.99f + forward * 0.01f; + } + + TRX_VLT_backward = TRX_VLT_backward * 0.99f + backward * 0.01f; + + if ((TRX_VLT_forward - TRX_VLT_backward) > 0.0f) + TRX_SWR = (TRX_VLT_forward + TRX_VLT_backward) / (TRX_VLT_forward - TRX_VLT_backward); + else + TRX_SWR = 1.0f; + if (TRX_VLT_backward > TRX_VLT_forward) - TRX_SWR = 10.0f; - if (TRX_SWR > 10.0f) - TRX_SWR = 10.0f; + TRX_SWR = 9.9f; + if (TRX_SWR > 9.9f) + TRX_SWR = 9.9f; TRX_PWR_Forward = (TRX_VLT_forward * TRX_VLT_forward) / 50.0f; if (TRX_PWR_Forward < 0.0f) diff --git a/STM32/Core/Src/settings.h b/STM32/Core/Src/settings.h index a35198a..22cde2a 100644 --- a/STM32/Core/Src/settings.h +++ b/STM32/Core/Src/settings.h @@ -17,7 +17,7 @@ #define MAX_TX_FREQ_HZ (DAC_CLOCK / 2) // Maximum transmission frequency #define TRX_SAMPLERATE 48000 // audio stream sampling rate during processing #define MAX_TX_AMPLITUDE 0.7f // Maximum amplitude when transmitting to FPGA -#define AGC_MAX_GAIN 10.0f // Maximum gain in AGC, dB +#define AGC_MAX_GAIN 20.0f // Maximum gain in AGC, dB #define AGC_CLIPPING 6.0f // Limit over target in AGC, dB #define TUNE_POWER 100 // % of the power selected in the settings when starting TUNE (100 - full) #define TX_AGC_MAXGAIN 5.0f // Maximum microphone gain during compression diff --git a/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h b/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h index 1ca03f5..4769186 100644 --- a/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h +++ b/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h @@ -1,21 +1,21 @@ - -/* - * Auto generated Run-Time-Environment Configuration File - * *** Do not modify ! *** - * - * Project: 'WOLF-Lite' - * Target: 'WOLF-Lite' - */ - -#ifndef RTE_COMPONENTS_H -#define RTE_COMPONENTS_H - - -/* - * Define the Device Header File: - */ -#define CMSIS_device_header "stm32f4xx.h" - - - -#endif /* RTE_COMPONENTS_H */ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'WOLF-Lite' + * Target: 'WOLF-Lite' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f4xx.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/STM32/MDK-ARM/WOLF-Lite.uvprojx b/STM32/MDK-ARM/WOLF-Lite.uvprojx index b78e79c..94d41ca 100644 --- a/STM32/MDK-ARM/WOLF-Lite.uvprojx +++ b/STM32/MDK-ARM/WOLF-Lite.uvprojx @@ -10,7 +10,7 @@ WOLF-Lite 0x4 ARM-ADS - 6160000::V6.16::ARMCLANG + 6150000::V6.15::ARMCLANG 1 diff --git a/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp b/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp index 8ec9892..f5458b0 100644 --- a/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp +++ b/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp @@ -65,33 +65,18 @@ "wolf-lite\usbd_desc.o" "wolf-lite\usbd_ioreq.o" "wolf-lite\basicmathfunctions.o" -"wolf-lite\basicmathfunctionsf16.o" "wolf-lite\bayesfunctions.o" -"wolf-lite\bayesfunctionsf16.o" "wolf-lite\commontables.o" -"wolf-lite\commontablesf16.o" "wolf-lite\complexmathfunctions.o" -"wolf-lite\complexmathfunctionsf16.o" "wolf-lite\controllerfunctions.o" "wolf-lite\distancefunctions.o" -"wolf-lite\distancefunctionsf16.o" "wolf-lite\fastmathfunctions.o" -"wolf-lite\fastmathfunctionsf16.o" "wolf-lite\filteringfunctions.o" -"wolf-lite\filteringfunctionsf16.o" -"wolf-lite\interpolationfunctions.o" -"wolf-lite\interpolationfunctionsf16.o" "wolf-lite\matrixfunctions.o" -"wolf-lite\matrixfunctionsf16.o" -"wolf-lite\quaternionmathfunctions.o" "wolf-lite\svmfunctions.o" -"wolf-lite\svmfunctionsf16.o" "wolf-lite\statisticsfunctions.o" -"wolf-lite\statisticsfunctionsf16.o" "wolf-lite\supportfunctions.o" -"wolf-lite\supportfunctionsf16.o" "wolf-lite\transformfunctions.o" -"wolf-lite\transformfunctionsf16.o" --strict --scatter ".\WOLF-Lite\WOLF-Lite-custom.sct" --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols --info sizes --info totals --info unused --info veneers