gain从独立文件改为放到DM1里;bit_proc的LLR解调改为64QAM,输入28次1024个符号;修正Test_Func_Receiver_Bit.h里面的DM3长度
This commit is contained in:
parent
c063526904
commit
e56438da15
@ -41,7 +41,7 @@ void Receiver_Bit_Init();
|
||||
void Receiver_Bit_Task(void* msg_ptr, uint32_t msg_len);
|
||||
void Receiver_Bit_Proc(
|
||||
receiver_symb2bit_t* symb2bit_info,
|
||||
uint32_t* param_ptr,
|
||||
// uint32_t* param_ptr,
|
||||
int32_t* temp_dm0_ptr,
|
||||
int32_t* temp_dm1_ptr,
|
||||
int32_t* temp_dm2_ptr,
|
||||
|
@ -36,5 +36,6 @@
|
||||
#define RECEIVER_LdpcDecBG1AllZc_LUT1_LENGTH (0x0100)
|
||||
#define RECEIVER_LdpcDecBG1AllZc_LUT2_LENGTH (0x0030)
|
||||
#define RECEIVER_LdpcDecBG1AllZc_LUT3_LENGTH (0x0030)
|
||||
#define RECEIVER_LLRDemodulation_LUT1_LENGTH (0x0400)
|
||||
//=======================================================================
|
||||
#endif
|
||||
|
@ -41,6 +41,7 @@ typedef struct receiver_bit_table_param_s
|
||||
uint32_t LdpcDecBG1AllZc_LUT1_Offset;
|
||||
uint32_t LdpcDecBG1AllZc_LUT2_Offset;
|
||||
uint32_t LdpcDecBG1AllZc_LUT3_Offset;
|
||||
uint32_t LLRDemodulation_LUT1_Offset;
|
||||
// SPU LUT SM基地址和长度
|
||||
|
||||
|
||||
|
@ -32,6 +32,7 @@ void Receiver_Bit_Init()
|
||||
//DM1
|
||||
g_receiver_bit_table_param.LdpcDecBG1AllZc_LUT2_Offset = 0;
|
||||
g_receiver_bit_table_param.LdpcDecBG1AllZc_CFG3_Offset = g_receiver_bit_table_param.LdpcDecBG1AllZc_LUT2_Offset + RECEIVER_LdpcDecBG1AllZc_LUT2_LENGTH;
|
||||
g_receiver_bit_table_param.LLRDemodulation_LUT1_Offset = g_receiver_bit_table_param.LdpcDecBG1AllZc_CFG3_Offset + RECEIVER_LdpcDecBG1AllZc_CFG3_LENGTH;
|
||||
//DM2
|
||||
g_receiver_bit_table_param.LdpcDecBG1AllZc_LUT3_Offset = 0;
|
||||
g_receiver_bit_table_param.LdpcDecBG1AllZc_CFG4_Offset = g_receiver_bit_table_param.LdpcDecBG1AllZc_LUT3_Offset + RECEIVER_LdpcDecBG1AllZc_LUT3_LENGTH;
|
||||
@ -81,19 +82,19 @@ void Receiver_Bit_Init()
|
||||
//{
|
||||
//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",
|
||||
(uint32_t *)&(gain_mmse_test_ptr),
|
||||
(int32_t *)&(gain_mmse_test_len));
|
||||
if(0 != ret)
|
||||
{
|
||||
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;
|
||||
// uint32_t gain_mmse_test_ptr;
|
||||
// int32_t gain_mmse_test_len;
|
||||
// ret = osp_get_cfgfile("gain_test.dat",
|
||||
// (uint32_t *)&(gain_mmse_test_ptr),
|
||||
// (int32_t *)&(gain_mmse_test_len));
|
||||
// if(0 != ret)
|
||||
// {
|
||||
// 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+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);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
*/
|
||||
void Receiver_Bit_Proc(
|
||||
receiver_symb2bit_t* symb2bit_info,
|
||||
uint32_t *param_ptr,
|
||||
// uint32_t *param_ptr,
|
||||
int32_t *temp_dm0_ptr,
|
||||
int32_t *temp_dm1_ptr,
|
||||
int32_t *temp_dm2_ptr,
|
||||
@ -28,8 +28,8 @@ void Receiver_Bit_Proc(
|
||||
int32_t *cfg_addr;
|
||||
uint32_t time_data_ddr_ptr;
|
||||
uint32_t time_data_length;
|
||||
uint32_t gain_test_ddr_ptr;
|
||||
uint32_t gain_test_length;
|
||||
// uint32_t gain_test_ddr_ptr;
|
||||
// uint32_t gain_test_length;
|
||||
uint32_t mpu_temp_dm0_ptr;
|
||||
uint32_t mpu_temp_dm1_ptr;
|
||||
uint32_t mpu_temp_dm2_ptr;
|
||||
@ -42,17 +42,18 @@ void Receiver_Bit_Proc(
|
||||
// 16QAM_LDPC-----------------------------------------------------------------------------------------------
|
||||
int i;
|
||||
int NumCB = 28;
|
||||
uint32_t gain_mmse_input = (uint32_t)(temp_dm1_ptr);
|
||||
// uint32_t gain_mmse_input = (uint32_t)(temp_dm1_ptr);
|
||||
int32_t *gain_mmse_input = (int32_t *)receiver_bit_config_dm1_ptr + g_receiver_bit_table_param.LLRDemodulation_LUT1_Offset;
|
||||
uint32_t TempRNV = (uint32_t)(temp_dm1_ptr) + 8192;
|
||||
uint32_t TempQ = (uint32_t)(temp_dm3_ptr);
|
||||
uint32_t Qam16Out = (uint32_t)(temp_dm2_ptr);
|
||||
int Qm = 4;
|
||||
int ReNum = 2048;
|
||||
int Qm = 6; // 4-16QAM,6-64QAM,8-256QAM;从 4 改 6
|
||||
int ReNum = 1024; // 从 2048 改 1024
|
||||
|
||||
int front_nullen = 208 * 2;//=416byte,104word
|
||||
int32_t *ldpc_pre_data_ptr = (int32_t *)receiver_bit_config_dm3_ptr + g_receiver_bit_table_param.ByteCopy_CFG2_Offset;
|
||||
uint32_t bytecopy_out;
|
||||
int efect_len = 8192;
|
||||
int efect_len = ReNum * Qm;
|
||||
uint32_t ByteShiftOut = (uint32_t)(temp_dm2_ptr);
|
||||
int totalCBlen = 14144;
|
||||
|
||||
@ -84,23 +85,23 @@ void Receiver_Bit_Proc(
|
||||
DMA_TAG_G2L,
|
||||
0);
|
||||
ape_csu_task_lookup(DMA_TAG_G2L, 1);//等待之前的 DMA 传输完成
|
||||
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,
|
||||
DMA_TAG_G2L,
|
||||
0);
|
||||
ape_csu_task_lookup(DMA_TAG_G2L, 1);
|
||||
// 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,
|
||||
// DMA_TAG_G2L,
|
||||
// 0);
|
||||
// ape_csu_task_lookup(DMA_TAG_G2L, 1);
|
||||
cfg_addr = (int32_t *)receiver_bit_config_dm0_ptr + g_receiver_bit_table_param.LLRDemodulation_CFG1_Offset;
|
||||
LLRDemodulationSetConfig((int)cfg_addr,
|
||||
MPU_ADDR(time_data_dm0_ptr),
|
||||
MPU_ADDR(gain_mmse_input),
|
||||
MPU_ADDR((uint32_t)gain_mmse_input),
|
||||
MPU_ADDR(TempQ),
|
||||
MPU_ADDR(TempRNV),
|
||||
MPU_ADDR(Qam16Out),
|
||||
Qm, // Qm,16QAM
|
||||
ReNum); // ReNum,符号数,2048
|
||||
MPU_ADDR(Qam16Out), // ReNum * Qm
|
||||
Qm, // Qm
|
||||
ReNum); // ReNum,符号数
|
||||
SVRReg[0] = MPU_ADDR(cfg_addr);
|
||||
LLRDemodulationAsm(SVRReg);
|
||||
WAIT_MPU_STOP;
|
||||
|
@ -157,7 +157,7 @@ void Receiver_Bit_Task(void* msg_ptr, uint32_t msg_len)
|
||||
//6. 计算流程
|
||||
Receiver_Bit_Proc(
|
||||
&symb2bit_info,
|
||||
(uint32_t*)receiver_bit_param_ptr,
|
||||
// (uint32_t*)receiver_bit_param_ptr,
|
||||
receiver_bit_temp_dm0_ptr,
|
||||
receiver_bit_temp_dm1_ptr,
|
||||
receiver_bit_temp_dm2_ptr,
|
||||
|
File diff suppressed because it is too large
Load Diff
27648
Config/gain_test.dat
27648
Config/gain_test.dat
File diff suppressed because it is too large
Load Diff
@ -12,15 +12,15 @@
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM0_ADDR (RECEIVER_BIT_IDE_BASE_ADDR)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM0_LEN (10592*4)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM1_ADDR (RECEIVER_BIT_IDE_CONFIG_DM0_ADDR + RECEIVER_BIT_IDE_CONFIG_DM0_LEN)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM1_LEN (9392*4)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM1_LEN (10416*4)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM2_ADDR (RECEIVER_BIT_IDE_CONFIG_DM1_ADDR + RECEIVER_BIT_IDE_CONFIG_DM1_LEN)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM2_LEN (9392*4)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM3_ADDR (RECEIVER_BIT_IDE_CONFIG_DM2_ADDR + RECEIVER_BIT_IDE_CONFIG_DM2_LEN)
|
||||
#define RECEIVER_BIT_IDE_CONFIG_DM3_LEN (12280*4)
|
||||
#define RECEIVER_BIT_IDE_GAIN_TEST_ADDR (RECEIVER_BIT_IDE_CONFIG_DM3_ADDR + RECEIVER_BIT_IDE_CONFIG_DM3_LEN)
|
||||
#define RECEIVER_BIT_IDE_GAIN_TEST_LEN (28672*4)
|
||||
#define RECEIVER_BIT_IDE_DATA_IN_ADDR (RECEIVER_BIT_IDE_GAIN_TEST_ADDR + RECEIVER_BIT_IDE_GAIN_TEST_LEN)
|
||||
#define RECEIVER_BIT_IDE_DATA_IN_LEN (57344*4)
|
||||
// #define RECEIVER_BIT_IDE_GAIN_TEST_ADDR (RECEIVER_BIT_IDE_CONFIG_DM3_ADDR + RECEIVER_BIT_IDE_CONFIG_DM3_LEN)
|
||||
// #define RECEIVER_BIT_IDE_GAIN_TEST_LEN (28672*4)
|
||||
#define RECEIVER_BIT_IDE_DATA_IN_ADDR (RECEIVER_BIT_IDE_CONFIG_DM3_ADDR + RECEIVER_BIT_IDE_CONFIG_DM3_LEN)
|
||||
#define RECEIVER_BIT_IDE_DATA_IN_LEN (28672*4)
|
||||
|
||||
|
||||
extern __VIRT_SM uint32_t g_deofdm_test_file[];
|
||||
|
@ -7,7 +7,7 @@ __VIRT_SM uint32_t g_deofdm_test_file[] = {
|
||||
#include "./../../Config/Receiver_Bit_cfg_dm1.dat"
|
||||
#include "./../../Config/Receiver_Bit_cfg_dm2.dat"
|
||||
#include "./../../Config/Receiver_Bit_cfg_dm3.dat"
|
||||
#include "./../../Config/gain_test.dat"
|
||||
// #include "./../../Config/gain_test.dat"
|
||||
#include "./../testdata/timedata_li.dat"
|
||||
|
||||
};
|
||||
@ -47,12 +47,12 @@ int osp_get_cfgfile(char* name, uint32_t *pbuf, int* psize)
|
||||
*psize = RECEIVER_BIT_IDE_DATA_IN_LEN;
|
||||
return 0;
|
||||
}
|
||||
if(0 == strcmp(name,"gain_test.dat"))
|
||||
{
|
||||
*pbuf = (uint32_t)(RECEIVER_BIT_IDE_GAIN_TEST_ADDR);
|
||||
*psize = RECEIVER_BIT_IDE_GAIN_TEST_LEN;
|
||||
return 0;
|
||||
}
|
||||
// if(0 == strcmp(name,"gain_test.dat"))
|
||||
// {
|
||||
// *pbuf = (uint32_t)(RECEIVER_BIT_IDE_GAIN_TEST_ADDR);
|
||||
// *psize = RECEIVER_BIT_IDE_GAIN_TEST_LEN;
|
||||
// return 0;
|
||||
// }
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
90112
Test/testdata/timedata_li.dat
vendored
90112
Test/testdata/timedata_li.dat
vendored
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user