Using Track, Demodulation, and MATLAB to Demodulate FM signals
The LeCroy XStream oscilloscopes have several methods for demodulating frequency Modulated (FM) waveforms. The techniques for demodulating FM signals include using the JitterKit track of the frequency@level parameter, Use of the optional demodulate (Demod) math function, or using MATLAB via the XDEV customization option. Figure 1 shows an example.
The input signal is a 100 MHz carrier frequency modulated by a 10 kHz square wave. The FM deviation is 200 kHz. Trace F1, in figure 1, uses the optional demodulation math function to demodulate the signal. Figure 2 shows the setup for this operation:
The second demodulation technique used employed LeCroy’s XDEV math customization option. This option allows third party programs, like MATLAB, to be incorporated in the oscilloscope’s processing path. The MATLAB setup is shown in Figure 3.
Figure 4 is the MATLAB code for demodulating the waveform in trace C1:
Analog demodulation of the FM signal is accomplished using MATLAB’s ‘fmdemod’ function shown in the first line of Figure 4. This function takes as arguments the source waveform, carrier frequency, sampling frequency, fm deviation, and initial phase respectively.
The output from the fmdemod function has to be filtered and a 1 MHz, second order Butterworth low pass filter is implemented in MATLAB by the next two lines of code. The vertical output from MATLAB is not scaled properly. In our example we chose to do the rescaling in the rescale math function. The rescale setup is shown in Figure 5.
The final method used to demodulate the fm signal is to use the JitterKit option’s Track function. The track function creates a waveform from the accumulated readings of the frequency @level parameter. This waveform is time synchronous with the measurements source. In Figure 6 we show the setup for the track function in trace F4 which plots the frequency of each cycle of the input waveform. This waveform has to be filtered, just like the MATLAB fmdemod function. The filter is created in trace F5.
The filter is a Butterworth low pass filter with a cutoff frequency of 100 kHz with a transition region width of 100 kHz and a stop band attenuation of 40 dB. The filter setup is shown in Figures 7 and 8.
Of the three methods shown above the demodulate function is the easiest to use. This is because it requires the minimum amount of setup from the user. The user does not have to explicitly setup a filter in addition to entering the demodulation parameters. MATLAB offers the most flexible setup and allows the user the most freedom in selecting the parameters.
It also requires the most information about the signal, some of which the user might not have if analyzing an unknown source.
LeCroy oscilloscopes offer multiple methods to analyze waveforms. This is a hallmark of LeCroy’s approach to oscilloscope design. Users are free to approach a problem like demodulating a signal in the manner that best suits their experience and needs.