FM Signal Detection The Pulse-Counting Way

Compared to the simple diode needed to demodulate AM radio signals, the detector circuits used for FM are slightly more complicated. Wrapping your head around phase detectors, ratio detectors, discriminators, and quadrature detectors can be quite an exercise. There’s another demodulation method that’s not so common, but thankfully it’s also pretty easy to understand: the pulse counting detector.

As [Allan (W2AEW)] notes in the video below, pulse counting is a bit of a misnomer. Pulse counting works by generating a narrow, fixed-width square wave pulse at a set point in the received FM signal’s waveform, usually at the zero-crossing point. Since the frequency of the modulated carrier changes, the duty cycle of the resulting pulse train varies. That means there will be a fixed number of pulses, but by taking the average voltage of the pulse train, we can tease out the original audio frequency signal.

Simple in theory is often more complicated in practice, and [W2AEW] goes into some detail about those complications, such as needing to use a down-converter to make the peak-to-peak frequency deviation in the pulse train more easily detectable. As is his style, he walks us through a test circuit to prove that the theory works in practice. A simple two-transistor circuit generates the pulses at the zero-crossing point, a low-pass filter cleans up the signal, and a cheap audio amplifier reproduces the original audio. It’s a crude circuit to be sure, relying on the stray capacitance of the breadboard to work, but it proves the point and serves as a jumping-off point for further experiments – perhaps using an Arduino to count the pulses?

We always enjoy [W2AEW]’s videos and learn a lot from them. Not long ago we featured another of his videos talking about the mysteries of RF modulation; SSB, anyone?

Continue reading “FM Signal Detection The Pulse-Counting Way”

A Low Cost Dual Discriminator Module For The Easy-phi Project

A few months ago I presented you the Easy-phi project, which aims at building a simple, cheap but intelligent rack-based open hardware/software platform for hobbyists. With easy-phi, you simply have a rack to which you add cards (like the one shown above) that perform the functions you want.

Recently my team finished testing our FPGA-based discriminator or “universal input” if you prefer. As easy-phi cards use a well-defined electrical signal to communicate with each other, we needed to make a card that would translate the different kinds of electrical signals from the outside, as well as perform plenty of other functions. It was therefore designed to have a 100MHz input bandwidth with an AC/DC coupled 50 ohm/high impedance input stage (x2) and 4 easy-phi outputs. For this module, we picked the (old) spartan3-an FPGA to perform the different logic functions that may be needed by the final users (high speed counter, OR/XOR/AND, pulse creation,…). Using the cortex-m3 microcontroller present on the board, it may be easily reconfigured at will. All design resources may be found on our Github, and you can always have a look at our official website.