2023年11月04日 07:48
Int demod_init(int seg_len, int seg_num, int fs);
/*****************************************************************/
函数说明:初始化解调库,只需要调用一次
函数参数:
seg_len:每次脉冲触发采集的数据点数
seg_num: 脉冲数,与seg_len一起构成二维矩阵的维数
fs:脉冲频率
函数返回值:
成功,返回0
失败,返回-1
/*****************************************************************/
void update_data(double *phase_matrix, int seg_len, int seg_num);
/*****************************************************************/
函数说明:更新解调库的相位数据,每次读取采集的相位数据后,把读取到的相位数据送入解调缓存,用于解调,循环调用。
函数参数:
phase_matrix:指向相位数据缓存
seg_len:每次脉冲触发采集的数据点数
seg_num: 脉冲数,与seg_len一起构成二维矩阵的维数
/*****************************************************************/
void demodulaion_by_pos(int pos, int width, double *audio_data);
/*****************************************************************/
函数说明:解调指定位置声波数据,在update_data调用完后可重复调用解调不同位置的信号。
函数参数:
pos:解调位置,小于seg_len-width
width: 解调标距,即width范围内的振动
audio_data:解调得到的声波数据,长度与seg_num相同,需要预先分配内存空间
/*****************************************************************/
void demod_free();
/*****************************************************************/
函数说明:释放解调缓存,退出程序前调用一次,与 demod_init成对使用
/*****************************************************************/