// 秒寻科技
// 信号取模
// zt
// 2023-03-05

#include "../../includes/includes.h"

// 导入全局变量
extern flt32 gg_afOneFrameLocationData[PUB_SLOT_FRAME_LEN];

// 对交叠队列中的数据取模值，并将结果插入定位数据队列中
// pstLocationData:定位数据队列
// pfReal:实部
// pfImag:虚部
// wLen:数据长度，一个定位帧长
void dmdl_modulus(PUB_LOCATION_DATA_T *pstLocationData, flt32 *pfReal, flt32 *pfImag, uint16 wLen)
{
    uint32 dwGeneratedIndex = 0; // 生产后索引

    // 数据取模，并将模值暂存队列中
    util_complex_sequence_modulus(wLen, pfReal, pfImag, gg_afOneFrameLocationData);

    // 将数据插入队列
    util_looplist_insert_flt32(pstLocationData->afData, pstLocationData->dwGenerateIndex, PUB_LCT_DATA_LIST_LEN, gg_afOneFrameLocationData, DMDL_FFT_FRAME_PAYLOAD_LEN, &dwGeneratedIndex);

    pstLocationData->dwFrameNo++; // 帧号加1
    pstLocationData->dwGenerateIndex = dwGeneratedIndex;
    pstLocationData->dwDataListLen += wLen;

    return;
}