?? detect_drift.c
字號:
/*****************************************************************************//* FIle Name : detect_drift.c *//* Description : Wi-Max detection of Drift *//* author : miffie *//* Date : oct/18/05 *//* Copyright (c) 2005 miffie All rights reserved. *//*****************************************************************************////////////////////////////////////////////////////////////////////////////////double detect_drift( struct complexset datain , short distance, double coef, char offset ) { // double lpfout , lpfreg, drift ;struct complex tmp1 , tmp2 ;int ii ;int size ;//double drift_phase, drift_amount ; //Main lpfout = 0 ; size = datain.size-distance ; //search for(ii=offset;ii<size;ii++) { //each symbol tmp1.realp = datain.data[ii+distance].realp ; tmp1.image = datain.data[ii+distance].image ; tmp1 = cordic ( tmp1 ) ; tmp2.realp = datain.data[ii].realp ; tmp2.image = datain.data[ii].image ; tmp2 = cordic ( tmp2 ) ; //-pi<=tmp1<pi //-pi<=tmp2<pi drift = tmp1.image-tmp2.image ; //-2pi<drift<2pi => -pi<drift<pi Normalization drift = (drift>pi) ? drift -2*pi : (drift<-pi) ? drift +2*pi : drift ; //if phase is different from previous one, correct drift = ((drift>=(pi/4.0))&(drift<(3.0*pi/4.0))) ? drift - (pi/2.0) : (drift>=(3.0*pi/4.0)) ? drift - pi : (drift<=(-3.0*pi/4.0)) ? drift + pi : ((drift<=(-pi/4.0))&(drift>(-3.0*pi/4.0))) ? drift + (pi/2.0) : drift ; //lpfout += drift ; lpfout = iir_lpf( drift, lpfout, coef ) ; } //each symbol lpfout = lpfout/distance ; PRINTF("detect_drift size=%d %8.5f\n", datain.size , lpfout) ; return( lpfout ) ;} //detect_drift
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -