Skip to main content
. 2024 Feb 22;24(5):1416. doi: 10.3390/s24051416
Algorithm 1 High-sensitivity acquisition
  • 1:

    Set the total number of GPDIT iterations Nnc=7

  • 2:

    Buffer 700 ms worth of samples: xIN[0],xIN[1],,xIN[N·Nnc]

  • 3:

    Set the current GPDIT iteration nnc=1

  • 4:

    While nncNnc do

  • 5:

     Take the next 100 ms worth of samples from the acquisition buffer:

    x[n]={xIN[(nnc1)·N],xIN[(nnc1)·N+1],,xIN[(nnc1)·N+N1]}

  • 6:

     For fd=fmin to fd=fmax in fstep

  • 7:

      Perform Doppler wipe-off: xd[n]=x[n]·ej2πfdnTs, for n=0,,N1

  • 8:

      Compute Xd[k]=FFTN(xd[n])

  • 9:

      Compute Y[k]=Xd[k]·C[k], for k=0,,N1

  • 10:

       Compute Rnnc(τ,fd)=1N2IFFTN(Y[k])

  • 11:

       Compute ZGPDIT(τ,fd)=k=1nnc|Rk(τ,fd)|2+2|k=2NncRk(τ,fd)Rk1*(τ,fd)|

  • 12:

     End for

  • 13:

     Search the peak value and its indices in the search grid: {Smax,fi,τj}=maxf,τZGPDIT(τ,fd)

  • 14:

     Compute input signal power estimation P^IN=1Nn=0N1|x[n]|2

  • 15:

     Compute the GLRT function with normalized variance Γ=2NSmaxP^IN

  • 16:

     If ΓGLRT>γ (Compare with threshold value)

  • 17:

      Declare positive acquisition and provide fdacq=fi and τacq=τj

  • 18:

      Break;

  • 19:

     Else

  • 20:

      If nnc=Nnc1 (last GPDIT iteration)

  • 21:

       Declare negative acquisition

  • 22:

      End if

  • 23:

     End if

  • 24:

    End while