I'm hoping to use an implementation of a frequency-locked loop for rough frequency synchronization in a PSK31 demodulator. The approach is to define a filter that is the derivative of the matched filter in the frequency domain. A couple slides from fred harris illustrate the idea:

enter image description here

enter image description here

I've found implementations for the typical case of a root-raised-cosine pulse shaping filter. However, PSK31 is a bit "special" in that it uses a raised cosine impulse. AKA, the Hann function:

$$ h(t) = {1 \over 2}\, (1+\cos(\pi t))\, \Pi(t/2) $$

Where $\Pi$ is the rectangle function.

How can I calculate the appropriate band-edge filter in this case?

  • $\begingroup$ The derivative of the the Fourier transform of $h(t)$ should result in something like $i\omega h(t)$. Look up the derivative theorems of the Fourier transform you're using. Also, I don't understand the $t/t $ argument of the rectangle function, as how it differs from 1. $\endgroup$
    – Andy Walls
    Jul 6, 2017 at 1:40
  • $\begingroup$ @AndyWalls Sorry, the t/t thing was a typo. Fixed. $\endgroup$
    – Phil Frost
    Jul 6, 2017 at 1:45
  • $\begingroup$ Oops that should probably be $-ith(t)$. $\endgroup$
    – Andy Walls
    Jul 6, 2017 at 1:49

1 Answer 1


It looks like the filter you want is indeed $-ith(t)$. Here is some Octave code to get a visualization in the frequency domain:

t = [-1:0.01:1];
h = 0.5*(1+cos(pi*t));
hd = -i*t*0.5.*(1+cos(pi*t));
v = [-256:255];
plot(v, 20*log10(abs(H/512)), v, 20*log10(abs(HD/512)))

Frequency Response of $h(t)$ and $-ith(t)$ (Relative dB)

BTW, when plotting $h(t)$ in the time domain, your provided $h(t)$ appears to be normalized, spanning from $t = -1$ to $t = 1$. So, I'm guessing your normalized symbol period is $T = 1$ with some ISI, or $T = 2$ with no ISI.

  • $\begingroup$ Wow, that's profoundly simple! I'm doing some work to validate, then I'll accept. Regarding ISI, it's the case with PSK31 that the transmitted waveform has zero ISI, but then of course after matched filtering in the receiver there is again ISI. I'm not sure why the designer of this modem didn't just use a RRC filter. So I think with $T=1$, the $h(t)$ from the question should be correct, because the magnitude is zero at the previous and next symbol: $t(-1) = t(1) = 0$, right? $\endgroup$
    – Phil Frost
    Jul 6, 2017 at 14:42
  • $\begingroup$ So, yeah, the pulse filter meets the Nyquist criterion for being 0 at the optimal sampling point of the next symbol and previous symbol. So no ISI until the receiver filters start introducing it. $\endgroup$
    – Andy Walls
    Jul 6, 2017 at 14:51
  • $\begingroup$ BTW, the derivative property was taken from #107 in the table here: en.wikipedia.org/wiki/… . You may need to consider #104 in conjunction with #107 when you scale the time axis to actual symbol period durations. The devil is in the details. :) $\endgroup$
    – Andy Walls
    Jul 6, 2017 at 14:54
  • $\begingroup$ Regarding the simplicity: yeah, the Fourier ( and Laplace) transform turns calculus in one domain, into algebra in the other. That's why we use the Laplace transform to solve basic passive circuit problems in EE10X classes. $V = I sL $ is easier to handle than $ v= L \dfrac {di}{dt}$. :) $\endgroup$
    – Andy Walls
    Jul 6, 2017 at 22:28

Your Answer

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

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