合入25_05_31 Recv_symb Recv_bit的代码修改

This commit is contained in:
jiangsgamepc 2025-05-31 15:40:30 +08:00
parent 4596c6fef6
commit 60c55abfd4
6 changed files with 1241 additions and 1094 deletions

View File

@ -88,15 +88,15 @@ void Receiver_Bit_Init()
//LOG_ERROR_S("Receiver_Bit_cfg_dm3.dat not found!\n"); //LOG_ERROR_S("Receiver_Bit_cfg_dm3.dat not found!\n");
} }
//10.输入测试数据 //10.输入测试数据
uint32_t timedata_ptr; //uint32_t timedata_ptr;
int32_t timedata_len; //int32_t timedata_len;
ret = osp_get_cfgfile("timedata.dat", //ret = osp_get_cfgfile("timedata.dat",
(uint32_t *)&(timedata_ptr), // (uint32_t *)&(timedata_ptr),
(int32_t *)&(timedata_len)); // (int32_t *)&(timedata_len));
if(0 != ret) //if(0 != ret)
{ //{
//LOG_ERROR_S("timedata.dat not found!\n"); //LOG_ERROR_S("timedata.dat not found!\n");
} //}
uint32_t gain_mmse_test_ptr; uint32_t gain_mmse_test_ptr;
int32_t gain_mmse_test_len; int32_t gain_mmse_test_len;
ret = osp_get_cfgfile("gain_test.dat", ret = osp_get_cfgfile("gain_test.dat",
@ -106,9 +106,10 @@ void Receiver_Bit_Init()
{ {
//LOG_ERROR_S("gain_test.dat not found!\n"); //LOG_ERROR_S("gain_test.dat not found!\n");
} }
STORE_EX_W(RECV_BIT_OUT_DATA_FLAG_DDR_ADDR,0);
int* param_ptr = (int *)RECEIVER_BIT_CFG_BASE; int* param_ptr = (int *)RECEIVER_BIT_CFG_BASE;
STORE_EX_W(param_ptr, timedata_ptr); //STORE_EX_W(param_ptr, timedata_ptr);
STORE_EX_W((param_ptr+1), timedata_len); //STORE_EX_W((param_ptr+1), timedata_len);
STORE_EX_W((param_ptr+2), gain_mmse_test_ptr); STORE_EX_W((param_ptr+2), gain_mmse_test_ptr);
STORE_EX_W((param_ptr+3), gain_mmse_test_len); //STORE_EX_W((param_ptr+3), gain_mmse_test_len);
} }

View File

@ -37,7 +37,7 @@ void Receiver_Bit_Proc(
uint32_t temp_u32; uint32_t temp_u32;
uint32_t time_data_dm0_ptr = ((((uint32_t)&temp_dm0_ptr[0] + 4095)>>12)<<12); uint32_t time_data_dm0_ptr = ((((uint32_t)&temp_dm0_ptr[0] + 4095)>>12)<<12);
uint32_t res_counter_ptr = RECV_BIT_OUT_DATA_FLAG_DDR_ADDR; uint32_t res_counter_ptr = RECV_BIT_OUT_DATA_FLAG_DDR_ADDR;
uint32_t res_ptr = RECV_BIT_OUT_DATA_DDR_ADDR;; uint32_t res_ptr = RECV_BIT_OUT_DATA_DDR_ADDR;
//LOG_ERROR_S("%d %d 0x%08x %d\n", symb2bit_info->sfn, symb2bit_info->slot, symb2bit_info->data_ptr, symb2bit_info->proc_id); //LOG_ERROR_S("%d %d 0x%08x %d\n", symb2bit_info->sfn, symb2bit_info->slot, symb2bit_info->data_ptr, symb2bit_info->proc_id);
// 16QAM_LDPC----------------------------------------------------------------------------------------------- // 16QAM_LDPC-----------------------------------------------------------------------------------------------
int i; int i;
@ -66,25 +66,26 @@ void Receiver_Bit_Proc(
// uint32_t LdpcOut = (uint32_t)(temp_dm1_ptr); // uint32_t LdpcOut = (uint32_t)(temp_dm1_ptr);
uint32_t LdpcOut; uint32_t LdpcOut;
static volatile unsigned char counter = 0; //static volatile unsigned char counter = 0;
if (counter == 7) counter = 0; //if (counter == 7) counter = 0;
volatile int counter = LOAD_EX_W(res_counter_ptr);
int out_len = 4576 / 8; int out_len = 4576 / 8;
for (i=0; i<NumCB; i++){ for (i=0; i<NumCB; i++){
//TODO: test data ptr //TODO: test data ptr
time_data_ddr_ptr = (uint32_t)*param_ptr + 4 * i * ReNum;//addr->4;(ReNum*4)byte/4=(ReNum)word //time_data_ddr_ptr = (uint32_t)*param_ptr + 4 * i * ReNum;//addr->4;(ReNum*4)byte/4=(ReNum)word
//symb2bit data ptr //symb2bit data ptr
//time_data_ddr_ptr = (uint32_t)(symb2bit_info->data_ptr + 4 * i * ReNum); time_data_ddr_ptr = (uint32_t)(symb2bit_info->data_ptr + 4 * i * ReNum);
time_data_length = (uint32_t)*(param_ptr + 1) / NumCB; time_data_length = (uint32_t)2048*4;
ape_csu_dma_1D_G2L_ch0ch1_transfer((uint64_t)time_data_ddr_ptr, ape_csu_dma_1D_G2L_ch0ch1_transfer((uint64_t)time_data_ddr_ptr,
(uint64_t)DM_TO_CSU_ADDR(time_data_dm0_ptr), (uint64_t)DM_TO_CSU_ADDR(time_data_dm0_ptr),
time_data_length, time_data_length,
DMA_TAG_G2L, DMA_TAG_G2L,
0); 0);
ape_csu_task_lookup(DMA_TAG_G2L, 1);//等待之前的 DMA 传输完成 ape_csu_task_lookup(DMA_TAG_G2L, 1);//等待之前的 DMA 传输完成
gain_test_ddr_ptr = (uint32_t)*(param_ptr + 2) + 4 * i * ReNum / 2;//addr->4;(ReNum*2)byte/4=(ReNum/2)word gain_test_ddr_ptr = (uint32_t)*(param_ptr + 2);//addr->4;(ReNum*2)byte/4=(ReNum/2)word
gain_test_length = (uint32_t)*(param_ptr + 3) / NumCB; gain_test_length = (uint32_t)4096;
ape_csu_dma_1D_G2L_ch0ch1_transfer((uint64_t)gain_test_ddr_ptr, ape_csu_dma_1D_G2L_ch0ch1_transfer((uint64_t)gain_test_ddr_ptr,
(uint64_t)DM_TO_CSU_ADDR(gain_mmse_input), (uint64_t)DM_TO_CSU_ADDR(gain_mmse_input),
gain_test_length, gain_test_length,
@ -156,7 +157,11 @@ void Receiver_Bit_Proc(
1); 1);
ape_csu_task_lookup(DMA_TAG_L2G, 1); ape_csu_task_lookup(DMA_TAG_L2G, 1);
}; };
counter = counter + 1; if(counter == 7)
counter = 0;
else
counter = counter + 1;
STORE_EX_W(res_counter_ptr, counter); STORE_EX_W(res_counter_ptr, counter);

View File

@ -57,12 +57,12 @@ void FreOff_Proc(
time0 = Time_offset(0); time0 = Time_offset(0);
//20250509 //20250509
ape_csu_dma_1D_L2G_ch0ch1_transfer((uint64_t)DM_TO_CSU_ADDR((uint32_t)receiver_symb_config_dm0_ptr), //ape_csu_dma_1D_L2G_ch0ch1_transfer((uint64_t)DM_TO_CSU_ADDR((uint32_t)receiver_symb_config_dm0_ptr),
(uint64_t)0x84c00000, // (uint64_t)0x84c00000,
144*4, // 144*4,
DMA_TAG_L2G, // DMA_TAG_L2G,
1); // 1);
ape_csu_task_lookup(DMA_TAG_L2G, 1); //ape_csu_task_lookup(DMA_TAG_L2G, 1);
freOffEstImpl(ConfigAddr_est, InputCPAddr, InputPilotAddr, freEstOutAddr); freOffEstImpl(ConfigAddr_est, InputCPAddr, InputPilotAddr, freEstOutAddr);
@ -71,11 +71,8 @@ void FreOff_Proc(
TRACE_MAX(TRACE_RECEIVER_SYMB_ADDR, 9, time1-time0); TRACE_MAX(TRACE_RECEIVER_SYMB_ADDR, 9, time1-time0);
time0 = time1; time0 = time1;
// Low-pass Filter // Low-pass Filter
if(storedfreoffestvalue > 600000){ /*if(storedfreoffestvalue > 600000){
storedfreoffestvalue = freEstOutAddr[0]; storedfreoffestvalue = freEstOutAddr[0];
} }
else{ else{
@ -85,7 +82,7 @@ void FreOff_Proc(
TRACE(TRACE_RECEIVER_SYMB_ADDR, 12, freEstOutAddr[0]); TRACE(TRACE_RECEIVER_SYMB_ADDR, 12, freEstOutAddr[0]);
TRACE(TRACE_RECEIVER_SYMB_ADDR, 13, 0xa0870); TRACE(TRACE_RECEIVER_SYMB_ADDR, 13, 0xa0870);
freEstOutAddr[0] = storedfreoffestvalue; freEstOutAddr[0] = storedfreoffestvalue;*/
// Frequency Offset Compensate // Frequency Offset Compensate
uint32_t *available_ptr_dm2 = temp_dm2_ptr; uint32_t *available_ptr_dm2 = temp_dm2_ptr;

View File

@ -351,11 +351,11 @@ void Transmitter_Proc(
uint32_t TRANSMOUT_symbol_SM_addr_out = TRANSMITTER_OUT + 14*4096*4 + 4*1024; uint32_t TRANSMOUT_symbol_SM_addr_out = TRANSMITTER_OUT + 14*4096*4 + 4*1024;
uint32_t TRANSMOUT_DATA_SM_addr_out = TRANSMOUT_symbol_SM_addr_out + 14*4096*4 + 4*1024; uint32_t TRANSMOUT_DATA_SM_addr_out = TRANSMOUT_symbol_SM_addr_out + 14*4096*4 + 4*1024;
//打桩固定参数 //打桩固定参数
double thita[6] = {0.435,2.784,1.864,1.211,2.546,2.011}; //double thita[6] = {0.435,2.784,1.864,1.211,2.546,2.011};
// double i_real[8] = {0.906870042299337, -0.936742157061748, -0.289020652644219, 0.352083608864027, -0.827816165894850, -0.426123729901221}; // double i_real[8] = {0.906870042299337, -0.936742157061748, -0.289020652644219, 0.352083608864027, -0.827816165894850, -0.426123729901221};
// double i_imag[8] = {0.421410401366648, 0.350020186822565, 0.957322862123907, 0.935968553087807, 0.560999461214670, 0.904664891998729}; // double i_imag[8] = {0.421410401366648, 0.350020186822565, 0.957322862123907, 0.935968553087807, 0.560999461214670, 0.904664891998729};
double i_real[8] = {-0.3827, 0.8660, -0.7071, 0.5}; double i_real[4] = {-0.3827, 0.8660, -0.7071, 0.5};
double i_imag[8] = {0.9239, 0.5, -0.7071, 0.8660}; double i_imag[4] = {0.9239, 0.5, -0.7071, 0.8660};
// double i_real[8] = {0}; // double i_real[8] = {0};
// double i_imag[8] = {0}; // double i_imag[8] = {0};
@ -369,9 +369,9 @@ void Transmitter_Proc(
// i_imag[2] = transform_get_thita3_imag(); // i_imag[2] = transform_get_thita3_imag();
// i_imag[3] = transform_get_thita4_imag(); // i_imag[3] = transform_get_thita4_imag();
double* thita1, * thita2, * thita3; //double* thita1, * thita2, * thita3;
thita1 = thita2 = thita3 = thita; //thita1 = thita2 = thita3 = thita;
thita3 = thita; //thita3 = thita;
cfg_addr = (int32_t *)transmitter_config_dm1_ptr + g_transmitter_table_param.TransformConfig_8_CFG3_Offset; cfg_addr = (int32_t *)transmitter_config_dm1_ptr + g_transmitter_table_param.TransformConfig_8_CFG3_Offset;
PilotData =transmitter_config_dm1_ptr + g_transmitter_table_param.Pilot_Data_Offset; PilotData =transmitter_config_dm1_ptr + g_transmitter_table_param.Pilot_Data_Offset;

View File

@ -9,7 +9,7 @@
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0xfff00000, 0xff800000,
0x00000900, 0x00000900,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
@ -153,7 +153,7 @@
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0xfff00000, 0xff100000,
0x00000900, 0x00000900,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
@ -3614,3 +3614,115 @@
0x004000ce, 0x004000ce,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000004,
0x00000000,
0x00000000,
0x00000000,
0xffffffff,
0xffffffff,
0xffffffff,
0x00000000,
0x00ffffff,
0x00400306,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000040,
0x00000000,
0x00000000,
0x00000000,
0xffffffff,
0xffffffff,
0xffffffff,
0x00000000,
0x00ffffff,
0x00000006,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000040,
0x00000000,
0x00000000,
0x00000000,
0xffffffff,
0xffffffff,
0xffffffff,
0x00000000,
0x00ffffff,
0x00400006,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,

File diff suppressed because it is too large Load Diff