1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-23 08:28:36 -05:00
sdrangel/plugins/channelrx/demodpager
2022-11-17 14:36:12 +00:00
..
CMakeLists.txt Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
pagerdemod.cpp v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
pagerdemod.h v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
pagerdemodbaseband.cpp Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
pagerdemodbaseband.h Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
pagerdemodcharsetdialog.cpp Pager: Add extra Hebrew charaters. Use reverse option, instead of right-to-left, as Hebrew appears to be transmitted last first 2021-07-28 15:00:43 +01:00
pagerdemodcharsetdialog.h Add support for character set mapping in Pager demod 2021-07-19 17:57:13 +01:00
pagerdemodcharsetdialog.ui Pager: Add extra Hebrew charaters. Use reverse option, instead of right-to-left, as Hebrew appears to be transmitted last first 2021-07-28 15:00:43 +01:00
pagerdemodgui.cpp Update plugins to compile with Qt5 and Qt6 2022-11-17 14:36:12 +00:00
pagerdemodgui.h Update plugins to compile with Qt5 and Qt6 2022-11-17 14:36:12 +00:00
pagerdemodgui.ui Set window width to account for miniumum width required for visible rollups. 2022-11-08 09:43:58 +00:00
pagerdemodplugin.cpp Updated main and plugin versions 2022-05-14 13:16:33 +02:00
pagerdemodplugin.h Add Pager demodulator plugin that supports POCSAG as per #738 2021-07-09 12:06:23 +01:00
pagerdemodsettings.cpp Massive UI revamping (v7): persistent channel show/hide 2022-04-12 18:27:27 +02:00
pagerdemodsettings.h Massive UI revamping (v7): persistent channel show/hide 2022-04-12 18:27:27 +02:00
pagerdemodsink.cpp Update plugins to compile with Qt5 and Qt6 2022-11-17 14:36:12 +00:00
pagerdemodsink.h Pager demod: optimize feed samples to scope and set sample rate in scope GUI 2021-07-13 18:03:12 +02:00
pagerdemodwebapiadapter.cpp Add Pager demodulator plugin that supports POCSAG as per #738 2021-07-09 12:06:23 +01:00
pagerdemodwebapiadapter.h Add Pager demodulator plugin that supports POCSAG as per #738 2021-07-09 12:06:23 +01:00
readme.md Massive UI revamping (v7): Channel window documentation. Show device type name in index tooltip 2022-04-17 10:20:07 +02:00

Pager demodulator plugin

Introduction

This plugin can be used to demodulate POCSAG pager messages.

Interface

The top and bottom bars of the channel window are described here

Pager Demodulator plugin GUI

1: Frequency shift from center frequency of reception

Use the wheels to adjust the frequency shift in Hz from the center frequency of reception. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2.

2: Channel power

Average total power in dB relative to a +/- 1.0 amplitude signal received in the pass band.

3: Level meter in dB

  • top bar (green): average value
  • bottom bar (blue green): instantaneous peak value
  • tip vertical bar (bright green): peak hold value

4: BW - RF Bandwidth

This specifies the bandwidth of a LPF that is applied to the input signal to limit the RF bandwidth.

5: Dev - Frequency deviation

Adjusts the expected frequency deviation in 0.1 kHz steps from 1 to 6 kHz. POCSAG uses FSK with a +/- 4.5 kHz shift.

6: Mod - Modulation

Specifies the pager modulation. Currently only POCSAG is supported.

POCSAG uses FSK with 4.5kHz frequency shift, at 512, 1200 or 2400 baud. High frequency is typically 0, with low 1, but occasionally this appears to be reversed, so the demodulator supports either. Data is framed as specified in ITU-R M.584-2: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.584-2-199711-I!!PDF-E.pdf

7: Baud

Specifies the baud rate. For POCSAG, this can be 512, 1200 or 2400.

8: Decode

Specifies how messages are decoded in the Message column in the table:

  • Standard - As per ITU-R M.584-2 - Function 0 = numeric, function 1-3 = alphanumeric.
  • Inverted - Function 3 = numeric, function 0-2 = alphanumeric.
  • Numeric - Always decode as numeric.
  • Alphanumeric - Always decode as alphanumeric.
  • Heuristic - The plugin will try to guess based on the content of the message.

The table has Numeric and Alphanumeric columns which always display the corresponding decode.

9: Character encoding

Click to open the character encoding dialog, which allows a mapping from the received 7-bit alphanumeric characters to Unicode.

Character encoding dialog

Each row contains a mapping from a 7-bit value to a Unicode code point. Values should be entered in hexideicmal

10: Find

Entering a regular expression in the Find field displays only messages where the address matches the given regular expression.

11: Clear Messages from table

Pressing this button clears all messages from the table.

12: UDP

When checked, received messages are forwarded to the specified UDP address (12) and port (13).

The messages are forwarded as null terminated ASCII strings, in the format: data time address function alpha numeric

13: UDP address

IP address of the host to forward received messages to via UDP.

14: UDP port

UDP port number to forward received messages to.

15: Start/stop Logging Messages to .csv File

When checked, writes all received messages to a .csv file.

16: .csv Log Filename

Click to specify the name of the .csv file which received messages are logged to.

17: Read Data from .csv File

Click to specify a previously written .csv log file, which is read and used to update the table.

Received Messages Table

The received messages table displays each pager message received.

Pager Demodulator messages table

  • Date - The date the message was received.
  • Time - The time the message was received.
  • Address - The 21-bit pager address the message is for.
  • Message - The decoded message, as per Decode setting (8). This will be empty for "tone only" messages (i.e. when the pager beeps without a message).
  • Function - Function bits. In some instances this is used to specify the encoding of the message (Numeric/alphanumeric). In others, it is the pager source address.
  • Alpha - Message decoded as alphanumeric text, regardless of Decode setting (8)
  • Numeric - Message decoded as numeric, regardless of Decode setting (8).
  • Even PE - Number of even parity errors detected in the code words of the message.
  • BCH PE - Number of uncorrectable BCH parity errors detected in the code words of the message.

Right clicking on the table header allows you to select which columns to show. The columns can be reordered by left clicking and dragging the column header. Right clicking on an item in the table allows you to copy the value to the clipboard.