Saturday, September 25, 2010

LabVIEW subVI to demodulate a Caller ID FSK (frequency shift keying) signal using a PLL


  • Description: Demodulate a Caller ID FSK (frequency shift keying) signal using a PLL (phase-locked loop) from the LabVIEW Modulation Toolkit. The subVI accepts an signal that can include ringer pulses (the FSK signal itself occurs between the first and second ringer pulses), and demodulates the signal to baseband. A "PLL locked" output signal indicates the portion of the baseband signal that should be considered useable for further decoding.
  • Category: Caller ID decoding ("cid" prefix)

Inputs (Controls)

  1. FSK signal -- waveform
  2. VCO carrier frequency [Hz] -- DBL
  3. VCO gain [degrees/V] -- DBL
  4. phase error LPF cutoff frequency [Hz] -- DBL
  5. comparator threshold for PLL lock -- DBL
Parentheses ( ) indicate default value; square brackets [ ] designate units.

Outputs (Indicators)

  1. baseband signal -- waveform
  2. phase error magnitude -- waveform
  3. PLL locked -- 1-D Boolean array

Required Behavior

  • FSK signal should contain an audio recording of the Caller ID FSK message sent by the telephone company central office (CO). The signal should lie in the range ±1; ringer pulses will be clipped, and the FSK signal amplitude should occupy as much of the ±1 range as possible without clipping.
  • The baseband signal output contains the demodulated baseband signal produced by the LabVIEW Modulation Toolkit "MT Phase Locked" phase error output.
  • The Boolean array PLL locked indicates the region in which the PLL is locked onto the FSK signal; this indicator serves to distinguish between the valid FSK signal and any other portion of the original recorded signal.
  • The VCO carrier frequency and gain are two controls for the PLL.
  • phase error LPF cutoff frequency sets the cutoff frequency of the lowpass filter applied to the magnitude of the PLL phase error. The phase error magnitude is a rapidly changing and relatively large amplitude signal value when the PLL is out of lock, and a relatively low amplitude signal in lock. The lowpass filter removes the rapid variation. The phase error magnitude output is the lowpass-filtered absolute value of the PLL phase error.
  • comparator threshold sets the threshold level for the comparator that generates the PLL locked Boolean output.
The LabVIEW Modulation Toolkit PLL is introduced and demonstrated in the screencast video of Figure 1.
Figure 1: [video] Demonstration of the LabVIEW Modulation Toolkit PLL
Figure 1 (subVI_cid_Demodulator-explained.htm)

LabVIEW Coding Tips

View the screencast video in Create a SubVI in LabVIEW to learn the mechanics of subVIs.
Refer to the Figure 2 screencast video for LabVIEW coding tips and techniques specific to this subVI.
Figure 2: [video] LabVIEW coding tips and techniques for
Figure 2 (subVI_cid_Demodulator-vi.htm)

Content actions


No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...

Popular Projects

My Blog List

Give support

Give support
Encourage Me through Comments & Followers