I'm reading a paper about designing a non coherent discriminator for GNSS receiver. I came to the equation

enter image description here

I'm not sure about that symbol < how would I write this in a small pseudocode ? for example C++/python ?

from the paper

When considering PLL with extended integration time, several correlator outputs, obtained from subsequent portions of the input signal, are evaluated and used for producing an improved phase estimate. For this reason, the index k = 0, 1, ..., K − 1 is introduced and the different correlator outputs are denoted as Pk = PI,k + jPQ,k = dkAc exp{ jφ} + ηP,k.

also I'm wondering how would I describe the steps for that loop archietecure in pseudo code ?

the loop architecture depicted in Fig. 2 is obtained. The input signal is, at first, integrated over one bit period; the complex correlator outputs, Pk, are then squared, further integrated, and fed into a four-quadrant arctangent that provides the discriminator output.

enter image description here


1 Answer 1


That $\angle$ is "angle". As the text right below it indicates, it's the phase of a complex number, in this case the phase of the sum of squared $p_k$.

Your second question: I really don't think pseudocode makes this any clearer, but sure:

factor = 1
sequentially for each timestep n:
    s = r[n] * factor
    t = integrate_over_last_N_and_decimate_by_N(s)
    u = remove_bits(t)
    v = non_coherently_integrate_over_last_K(u)
    w = non_linear_discriminator(v)
    x = loop_filter(w)
    y = nco(x)
    factor = generate_carrier(y)

I mean, that's a pretty straightforward block diagram.

  • $\begingroup$ Thanks alot, remove_bits is just squaring the output from t ? how would I use the last K or the Last N, I mean save them in a variable for example ? $\endgroup$ Feb 15, 2020 at 11:24
  • $\begingroup$ different questions, and honestly not very signal processing: basic proficiency in the programming language of your choice is something you really have to acquire yourself. $\endgroup$ Feb 15, 2020 at 11:28
  • $\begingroup$ Is the loop is sufficent with just phase error ? what about frequency error? for the NCO I meant $\endgroup$ Feb 15, 2020 at 14:04
  • $\begingroup$ again, try not to ask new questions in the comments. The block diagram is how it is. I'm seriously confused what you're asking me here. $\endgroup$ Feb 15, 2020 at 14:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.