Hacking, HAM Radio (EA1IYR), DSP, physics and more

BatchDrake's blog

Demodulating NTSC for fun and profit (III)

We refer with the generic name of “quadrature demodulators” to those demodulators that take a complex I/Q signal as input. Although this is a critical step of the demodulation process, it may also be the simplest to implement.

Let’s start by giving a look to the mathematical expression that summarizes the transmitted signal of an ideal FM modulator. If \(x(t)\) is the baseband signal, the transmitted signal \(y(t)\) will look like this:

\[y(t)=\text{cos}\left[2\pi f_ct+\pi\Delta f\int_0^tx(\tau)d\tau\right]\]

With \(f_c\) being the carrier frequency. Assuming that the baseband signal’s range is \([-1, 1]\), \(\Delta f\) corresponds to the maximum bandwidth of the transmitted signal. It is clear that if \(x(t)\) is constant then \(y(t)\) is just a cosine of fixed frequency. If not, the instantaneous value of \(x(t)\) is treated as the amount of radians per unit of time (i.e. frequency) that should be added or subtracted from the carrier phase. If \(x(t)\) becomes negative, the resulting cosine has an instantaneous frequency lesser than \(f_c\). If positive, the resulting instantaneous frequency is greater than \(f_c\).

If we want to recover \(x(t)\) from \(y(t)\), then we need to undo two things: the cosine and the integral.


Demodulating NTSC for fun and profit (II)

In the previous post, we described the basic intuition behind demodulating frequency modulated NTSC. Suscan proved it was indeed possible, although a little bit of post-processing was necessary. In particular, the following issues were not properly addressed:

  • The decider range had to be adjusted manually in the histogram view.
  • The chroma subcarrier was not filtered out, causing noticeable interference in the resulting image.
  • Horizontal synchronization was absolutely ignored.

In this post, we will see how to fix these issues, top-down and in C. The resulting (hopefully small!) program will produce a bunch of PPM images containing the individual frames captured by my SDR receiver.


Demodulating NTSC for fun and profit (I)

Recently, I felt curious about those analog-looking FPV radio links used in many drone-like scenarios. In an era where DTV has succeeded and largely replaced analog TV technologies like PAL (here in Europe) or NTSC in the US, the chances to play with analog video signals are indeed small, and figuring them out is a technical challenge I always wanted to face.


Warming up

After some time recurringly spamming in Twitter with updates on my projects, experiments and research, I think it’s about time to put some order to the content I’ll be generating from now on.

My first objective is to translate to English a few of my older posts, which I belive to be of interest to some radio(astronomy) nerds out there. Stay tuned!