合入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");
}
//10.输入测试数据
uint32_t timedata_ptr;
int32_t timedata_len;
ret = osp_get_cfgfile("timedata.dat",
(uint32_t *)&(timedata_ptr),
(int32_t *)&(timedata_len));
if(0 != ret)
{
//uint32_t timedata_ptr;
//int32_t timedata_len;
//ret = osp_get_cfgfile("timedata.dat",
// (uint32_t *)&(timedata_ptr),
// (int32_t *)&(timedata_len));
//if(0 != ret)
//{
//LOG_ERROR_S("timedata.dat not found!\n");
}
//}
uint32_t gain_mmse_test_ptr;
int32_t gain_mmse_test_len;
ret = osp_get_cfgfile("gain_test.dat",
@ -106,9 +106,10 @@ void Receiver_Bit_Init()
{
//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;
STORE_EX_W(param_ptr, timedata_ptr);
STORE_EX_W((param_ptr+1), timedata_len);
//STORE_EX_W(param_ptr, timedata_ptr);
//STORE_EX_W((param_ptr+1), timedata_len);
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 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_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);
// 16QAM_LDPC-----------------------------------------------------------------------------------------------
int i;
@ -66,25 +66,26 @@ void Receiver_Bit_Proc(
// uint32_t LdpcOut = (uint32_t)(temp_dm1_ptr);
uint32_t LdpcOut;
static volatile unsigned char counter = 0;
if (counter == 7) counter = 0;
//static volatile unsigned char counter = 0;
//if (counter == 7) counter = 0;
volatile int counter = LOAD_EX_W(res_counter_ptr);
int out_len = 4576 / 8;
for (i=0; i<NumCB; i++){
//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
//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,
(uint64_t)DM_TO_CSU_ADDR(time_data_dm0_ptr),
time_data_length,
DMA_TAG_G2L,
0);
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_length = (uint32_t)*(param_ptr + 3) / NumCB;
gain_test_ddr_ptr = (uint32_t)*(param_ptr + 2);//addr->4;(ReNum*2)byte/4=(ReNum/2)word
gain_test_length = (uint32_t)4096;
ape_csu_dma_1D_G2L_ch0ch1_transfer((uint64_t)gain_test_ddr_ptr,
(uint64_t)DM_TO_CSU_ADDR(gain_mmse_input),
gain_test_length,
@ -156,7 +157,11 @@ void Receiver_Bit_Proc(
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);

View File

@ -57,12 +57,12 @@ void FreOff_Proc(
time0 = Time_offset(0);
//20250509
ape_csu_dma_1D_L2G_ch0ch1_transfer((uint64_t)DM_TO_CSU_ADDR((uint32_t)receiver_symb_config_dm0_ptr),
(uint64_t)0x84c00000,
144*4,
DMA_TAG_L2G,
1);
ape_csu_task_lookup(DMA_TAG_L2G, 1);
//ape_csu_dma_1D_L2G_ch0ch1_transfer((uint64_t)DM_TO_CSU_ADDR((uint32_t)receiver_symb_config_dm0_ptr),
// (uint64_t)0x84c00000,
// 144*4,
// DMA_TAG_L2G,
// 1);
//ape_csu_task_lookup(DMA_TAG_L2G, 1);
freOffEstImpl(ConfigAddr_est, InputCPAddr, InputPilotAddr, freEstOutAddr);
@ -71,11 +71,8 @@ void FreOff_Proc(
TRACE_MAX(TRACE_RECEIVER_SYMB_ADDR, 9, time1-time0);
time0 = time1;
// Low-pass Filter
if(storedfreoffestvalue > 600000){
/*if(storedfreoffestvalue > 600000){
storedfreoffestvalue = freEstOutAddr[0];
}
else{
@ -85,7 +82,7 @@ void FreOff_Proc(
TRACE(TRACE_RECEIVER_SYMB_ADDR, 12, freEstOutAddr[0]);
TRACE(TRACE_RECEIVER_SYMB_ADDR, 13, 0xa0870);
freEstOutAddr[0] = storedfreoffestvalue;
freEstOutAddr[0] = storedfreoffestvalue;*/
// Frequency Offset Compensate
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_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_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_imag[8] = {0.9239, 0.5, -0.7071, 0.8660};
double i_real[4] = {-0.3827, 0.8660, -0.7071, 0.5};
double i_imag[4] = {0.9239, 0.5, -0.7071, 0.8660};
// double i_real[8] = {0};
// double i_imag[8] = {0};
@ -369,9 +369,9 @@ void Transmitter_Proc(
// i_imag[2] = transform_get_thita3_imag();
// i_imag[3] = transform_get_thita4_imag();
double* thita1, * thita2, * thita3;
thita1 = thita2 = thita3 = thita;
thita3 = thita;
//double* thita1, * thita2, * thita3;
//thita1 = thita2 = thita3 = thita;
//thita3 = thita;
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;

View File

@ -9,7 +9,7 @@
0x00000000,
0x00000000,
0x00000000,
0xfff00000,
0xff800000,
0x00000900,
0x00000000,
0x00000000,
@ -153,7 +153,7 @@
0x00000000,
0x00000000,
0x00000000,
0xfff00000,
0xff100000,
0x00000900,
0x00000000,
0x00000000,
@ -3614,3 +3614,115 @@
0x004000ce,
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