
FMP
---

  FMP is a simple DVB-T dongle tuner / NFM demodulator.  It samples at 1 MHz,
  so its spectrum display spans 1 MHz of the RF spectrum.  FMP is designed for
  low power devices like low end netbooks where CPU and screen resources are
  limited.

  FMP takes four command line parameters:

    WaveOut device number

     You would set this to your PC speakers if you are just monitoring the
     demodulated audio, or to a VAC/VB-C instance if you are feeding a
     digital decoder like DSD+

    DVB-T device number

     Typically, this will be 1 or 2 for the first or second DVB-T device

    PPM correction

     This is the same value that is used in programs like SDR#

    Frequency

     This is the initial frequency (in MHz) to tune the dongle to



  FMP uses a configuration file (FMP.cfg); its contents are:


    line 1: sampling rate; DO NOT CHANGE


    line 2: window width; DO NOT CHANGE


    line 3: FFT size

      8, 16 or 32

      lower values use less CPU

      higher values produce better spectrum displays, but use more CPU resources


    line 4: spectrum update rate

      reasonable range is 5 to 20

      lower values use less CPU

      higher values better catch brief transmissions on the spectrum display


    line 5: step size table

      in FMP, you can use the left/right cursor keys to retune up or down
      by one channel; use this table to specify all of the step sizes
      that you will want to be available for your use; add a minus sign
      in front of the step size you want FMP to initially use


    line 6: primary frequency list
    line 7: secondary frequency list

      see the frequency lists description at the end of this document


    line 8: search units

      used with frequency lists
      should be miles or kilometers
      (protip: FMP just looks for the presence of a 'k' or lack thereof)


    line 9: search distance

      used with frequency lists
      should match about how far you might expect to RX signals from


    line 10: search origin

      used with frequency lists
      this should be your monitoring location; units are decimal degrees


    lines 11+:

      you can stash extra search origins after line 10; FMP will not see them

      if you change monitoring locations (like work, home), cut/paste as required


  FMP keys:


  Active keys:

 0-9 . Enter - set frequency
         [/] - select step size
         / - step frequency
    Ctrl / - step frequency by 250 Hz

           M - toggle spectrum memory overlay
           X - reset spectrum memory
           Z - toggle spectrum zoom overlay
           I - select injection mode
           B - select bandpass filter
           E - toggle economy mode
           F - select noise filter
         ^/v - (cursor up/down) adjust volume level
    spacebar - toggle muting

         g/G - adjust RF gain
         c/C - adjust frequency correction

           R - toggle raw I/Q and FM demod recording

           S - start scanner mode or exit hold mode

           ? - list active keys
         Esc - exit scanner mode or exit program


    help

      press ? key

      help is displayed in FMP's console window


    volume level

      use cursor up/down keys

      should be left at 100% when feeding a digital decoder like DSD+

      spacebar mutes/unmutes demodulated audio


    noise filter

      press F to select

      filters may help or hinder when feeding a digital decoder


    tuning

      tuned frequency is displayed in window title

      thin white vertical background shows tuning point and
      RF bandpass filter width


    direct tuning

      enter frequency in MHz (nnn.nnnnn) and press Enter

      as digits are entered, they are displayed in spectrum window title


    mouse tuning

     move mouse over spectrum display

     targeted frequency is displayed

     left click to retune


    step tuning

      cursor left/right to step up/down one channel

      FMP will retune up or down by the current step size amount


    step size

      the [ and ] keys select the previous/next step size
      from the custom step size table that was loaded from FMP.cfg


    fine tuning

      Ctrl cursor left/right steps up/down by 250 Hz


    PPM correction

      current PPM adjustment value is displayed in window title

      press C or c to adjust PPM up or down (commands are case-sensitive)


    show/hide zoomed spectrum

      press Z to toggle display on/off

      zoomed spectrum shows tuned signal detail and centering in passband

      higher FFT sizes show finer detail

      lighter background shows RF filter passband and transition bands

      tuned signals should be centered in passband

      majority of signal should be in passband

      signal edges can be in transition bands


    show/hide spectrum memory

      press M to toggle display on/off

      spectrum memory shows previous peak values, which makes it easy to find
      exactly what frequency a brief, now gone transmission was on

      moving the mouse pointer to a stored peak will show the signal's frequency


    clear spectrum memory

      press X to clear/reset the spectrum memory display


    RF gain

      current RF gain level is displayed in window title

      press G or g to adjust gain up or down (commands are case-sensitive)

      reduce gain for very strong signals

      reduce gain if noise floor (background spectrum) is high

      in environments with strong signals or a high noise floor,
      start with RF gain maximized, then reduce gain while watching
      the spectrum display; clipping artifacts (spikes) will diminish
      or disappear as optimum gain levels are reached

      Also, while the RF gain is too high, as you reduce RF gain,
      the noise floor (the lowest parts of the spectrum display) will tend to
      drop faster than the levels of valid signals; when everything drops
      at the same rate, you have left the overdriven range

      select optimal gain level by using DSDPlus -v3 and observing ERRn and e: values


    RF bandpass filter selection

      press B to cycle through filters

      narrower filters reduce co-channel interference

      narrower filters reduce noise levels

      too-narrow filtering distorts digital waveforms


      12.5 kHz

        lowest CPU usage

        highest noise levels

        will not block co-channel signals


      9.5 kHz

        P25: reduces noise; eliminates most co-channel interference

        NXDN9600: should work well


      7 kHz

        NXDN9600: should work well; low noise

        DMR: matched filter


      4 kHz

        NXDN4800: matched filter; will eliminate most co-channel interference

        D-Star: matched filter

        DMR: reduces noise, but will distort waveforms (DSD+ can handle it)


    economy mode

      press E to toggle between normal and eco modes

      eco mode uses less CPU

      in eco mode, zoomed spectrum is green (duh)

      quality of demodulated audio is reduced in eco mode;
      effect on DSD+ decoding is minimal

      analog signals should sound better in normal mode

      at startup, FMP will be in eco mode


    scanning

      FMP can (slowly) scan frequencies

      a frequency list, one frequency per line, should be placed in a file
      named FMP.ScanList

      the format of each line is:

        frequency  mode  description

      example:

        450.1250 TIII Acme Radio


      frequency is in MHz


      mode text controls bandpass filter selection

        4 kHz modes:

          D-STAR
          DSTAR
          IDAS
          NX48
          NEXEDGE48

        7 kHz modes:

          DMR
          TRBO
          Cap+
          Con+
          TIII

        9.5 kHz modes:

          NXDN
          NEXEDGE
          NEXEDGE96
          NX96
          P25

        12.5 kHz modes

          PV
          ProVoice
          any other text string (analog, LTR, ...)


      blank lines in the file are ignored

      processing of the FMP.ScanList file stops if a line containing
      the string <EOF> is found; frequency entries that you don't want
      to scan can be stored in the file after the <EOF> line


      pressing S starts scanner mode

      pressing Esc exits scanner mode

      no other scanning commands (Hold, L/O, etc.) are presently implemented


      FMP's scanner mode is designed to be used with DSD+.  FMP and DSD+
      should be running in the same folder.  While DSD+ is decoding
      digital voice, FMP will auto-hold on the current RF channel.
      If DSD+ is not decoding digital voice, FMP will auto-scan to the
      next channel in the scanlist.  This behaviour will let you monitor
      multiple digital channels, including control or rest channels.
      FMP will not get hung up on constant carriers that are not broadcasting
      digital voice calls.



    reducing CPU load

      these techniques are generally only required on low end machines

      use economy mode (has minimal detrimental effects on DSD+)

      use smaller FFT size

      use lower spectrum update rate

      completely hide or minimize spectrum window (suspends all FFT calculations)

      if acceptable, use wider RF bandpass filters



FMP Frequency Lists


  Every time FMP is retuned, FMP will search the CSV files specified in FMP.cfg
  for matching in-range frequency records.  The CSV files can be created from
  government data sources or Internet sites.

  Each line in the files holds one TX frequency record or a record for
  a TX/RX frequency pair.  Each line contains eight fields.  Text fields must
  use enclosing quote characters.  Fields must be separated by a comma and
  a space.

  Example data:

; TXfreq, RXfreq, Licensee, Location, Latitude, Longitude, first emission mode, second emission mode

461.1625, 466.1625, "example licensee", "example location", 35.1028, -80.9420, "16K0F3E", ""


  When in-range matches are found, FMP displays them, sorted by distance,
  in FMP's console window.  FMP also passes the closest match to FMP-Map.

  FMP-Map is a near-clone of the LRRP.exe program.  FMP-Map will display
  your monitoring location and the database hits that FMP passes to it.

  When accurate and comprehensive frequency lists are provided to FMP,
  the transmitter locations that FMP-Map displays will usually show you
  the correct signal sources.

  Like LRRP.exe, FMP-Map uses a configuration file and the ? key brings up
  a help overlay.


--
