phytium-vsipl/include/signal.h

76 lines
2.9 KiB
C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef RADAR_SIGNAL_H_
#define RADAR_SIGNAL_H_
#include "vsip.h"
/*
* 内部接口:生成线性调频信号
* 参数f_tau -- 脉冲宽度
* f_freq_sampling -- 采样频率
* f_freq_low -- 起始频率
* f_band_width -- 带宽
* p_vector_dst -- 输出信号
* 功能:生成线性调频信号(复信号)
*/
void generate_lfm_signal(vsip_scalar_f f_tau, vsip_scalar_f f_freq_sampling,
vsip_scalar_f f_freq_low, vsip_scalar_f f_band_width,
vsip_cvview_f *p_vector_dst);
/*
* 内部接口:生成线性调频信号
* 参数f_tau -- 脉冲宽度
* f_freq_sampling -- 采样频率
* f_freq_low -- 起始频率
* f_band_width -- 带宽
* p_vector_dst -- 输出信号
* 功能:生成线性调频信号(实信号)
*/
void generate_lfm_signal_real(vsip_scalar_f f_tau, vsip_scalar_f f_freq_sampling,
vsip_scalar_f f_freq_low, vsip_scalar_f f_band_width,
vsip_vview_f *p_vector_dst);
/*
* 内部接口:生成雷达回波信号
* 参数f_tau -- 脉冲宽度
* f_freq_sampling -- 采样频率
* f_freq_low -- 起始频率
* f_band_width -- 带宽
* f_distance -- 两个物体之间的距离
* p_vector_dst -- 输出信号
* 功能:生成两个有一定距离的物体反射叠加得到的雷达回波信号
*/
void generate_radar_signal(vsip_scalar_f f_tau, vsip_scalar_f f_freq_sampling,
vsip_scalar_f f_freq_low, vsip_scalar_f f_band_width,
vsip_scalar_f f_distance, vsip_vview_f *p_vector_dst);
/*
* 内部接口:生成雷达回波信号
* 参数p_vector_signal -- 输入信号
* f_snr -- 目标信号信噪比
* p_vector_dst -- 输出信号
* 功能:生成可以叠加到原信号上的给定信噪比的高斯白噪声
*/
void generate_wgn_signal(vsip_vview_f *p_vector_signal, vsip_scalar_f f_snr,
vsip_vview_f *p_vector_dst);
/*
* 内部接口:脉冲压缩
* 参数p_vector_signal_src -- 输入信号
* p_vector_signal_ref -- 参考信号
* p_vector_dst -- 输出信号
* 功能:使用给定的参考信号对输入信号进行脉冲压缩
*/
void pulse_compress(vsip_cvview_f *p_vector_signal_src, vsip_cvview_f *p_vector_signal_ref,
vsip_cvview_f *p_vector_dst);
/*
* 内部接口:检测信号
* 参数p_vector_signal -- 脉冲压缩之后得到的信号
* f_threshold -- 阈值
* p_vector_dst -- 输出信号
* 功能:对脉冲压缩之后的信号进行进一步检测,依据阈值进行筛选
*/
void detect_signal(vsip_cvview_f *p_vector_signal, vsip_scalar_f f_threshold,
vsip_cvview_f *p_vector_dst);
#endif