2023年07月24日 01:51
int demod_init(int demodNum, int f1, int f2, int fs);
函数说明:
初始化解调器,并设置滤波范围。
函数参数:
demodNum:设置需要解调的点数,即单次脉冲采集的数据点数;
f1:带通滤波器的低截止频率,必须大于 0 小于 f2;
f2:带通滤波器的高截止频率,必须大于 f1,小于 fs 的一半;
fs:脉冲重复频率。
函数返回值:
成功,返回 0
失败,返回-1
void demod_free();
函数说明:
释放解调器内存。
函数参数:
无
函数返回值:
无
void single_demodulation(const double *in, double *out, int seg_len);
函数说明:
单次解调一个脉冲促发所采集的数据。
函数参数:
in:待解调的单次脉冲触发所采集的原始数据,长度为 seg_len;
out:解调后的单次脉冲所采集的振动数据,长度为 seg_len;
seg_len: 单次脉冲触发所采集的数据长度,必须与解调器初始化的解调数目 demodNum 相等。
函数返回值:
无
void multi_demodulation(const double *in, double *out, int seg_num, int seg_len, int m_win);
函数说明:
一次同时解调多个脉冲促发所采集的数据,并压缩为 seg_num/m_win 段脉冲数据,如果 m_win=1, 则不进行压缩。
函数参数:
in:待解调的多次脉冲触发所采集的原始数据,长度为 seg_len*seg_num;
out:解调后的多次脉冲所采集的振动数据,长度为 seg_len*seg_num/m_win;
seg_len: 单次脉冲触发所采集的数据长度,必须与解调器初始化的解调数目 demodNum 相等;
seg_sum: 总解调的脉冲触发采集数据段数目;
m_win:压缩窗长,若 m_win>1, 对结果进行取绝对值压缩;若 m_win=1,则不进行数据压缩,且
幅值不做绝对值处理。
函数返回值:
无
void frq_demodulation(const double *in, double *out, int seg_num, int seg_len, int t_win );
函数说明:
频域一次同时解调多个脉冲促发所采集的数据,解调结果压缩为 seg_num/t_win 段脉冲数据。
函数参数:
in:待解调的多次脉冲触发所采集的原始数据,长度为 seg_len*seg_num;
out:解调后的多次脉冲所采集的振动数据,长度为 seg_len*seg_num/t_win;
seg_len: 单次脉冲触发所采集的数据长度,必须与解调器初始化的解调数目 demodNum 相等;
seg_sum: 总解调的脉冲触发采集数据段数目;
t_win:压缩窗长,t_win>=100,且必须为偶数。
函数返回值:
无