你好。
我在水与地面演示中遇到了一些问题。
我想知道函数的名为"unwrap"的函数:
float unwrap(float 相位、float phasePrev、float *扩散相位可纠正性 Cum)
{
浮点调制系数;
浮子扩散相;
浮点散射相位模块;
浮点散射相位校正;
浮点逐步淘汰;
//增量相位变化
散相位=相位-相位上一个;
IF (扩散相> PI)
modFactorF = 1;
否则、如果(扩散相<- PI)
modFactorF =-1;
其他
modFactorF = 0;
扩散相模块=扩散相位- modFactorF*2*PI;
//保留+PI 与-PI 的变体符号
IF (((扩散相位模块=-PI)&&(扩散相位>0))
散射相模块= PI;
//增量相位校正
散射相位校正=散射相位模块-散相位;
//当增量变化小于截止值时忽略校正
if (((衍射校正< PI)&&(衍射校正>0))||
((扩散相位校正>-PI)&&(扩散相位校正<0)))
扩散相位校正= 0;
//找到增量的累积总和
*diffPhaseCorrectionCum =*diffPhaseCorrectionCum +衍射相位校正;
相位输出=相位+*扩散相位校正 Cum;
返回逐步淘汰;
}
和 main.c 中的代码函数如下所示:
/////////////////////////////////////////////////////// 指数平均 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
phasePrev = phaseUpdated;
α= 0.5;
phaseUpdated = alpha*(outputFilterPhasy* outputFilterPhase)+(1-alpha)* phasePrev;
outSumEnergyPhaseWfm = phaseUpdated*1000;
MetricPrev = MetricNew;
α= 0.5;
MetricNew =(alpha*(confienceMete*confienceMetic)+(1-alpha*)* MetricPrev);
outConfMetric = 10*MetricNew;
rcs_value = sqrt (maxVal);
地磅值= Rcs_value + outSumEnergyPhaseWfm + outConfMetric;
非常感谢您的帮助!