0% found this document useful (0 votes)
142 views91 pages

DSD+ 2.465 Setup Guide July 3, 2024

The DSD+ Fast Lane Version 2.465 Setup Guide provides instructions for purchasing and setting up the software, including prerequisites such as hardware requirements and necessary files. Users must install drivers, configure files, and understand trunking systems to effectively use the software with various SDR dongles. The guide also includes detailed steps for tuning frequencies and configuring settings for optimal performance.

Uploaded by

Juan Rodriguez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
142 views91 pages

DSD+ 2.465 Setup Guide July 3, 2024

The DSD+ Fast Lane Version 2.465 Setup Guide provides instructions for purchasing and setting up the software, including prerequisites such as hardware requirements and necessary files. Users must install drivers, configure files, and understand trunking systems to effectively use the software with various SDR dongles. The guide also includes detailed steps for tuning frequencies and configuring settings for optimal performance.

Uploaded by

Juan Rodriguez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 91

Page 1

DSD PLUS FAST LANE VERSION 2.465 SETUP GUIDE

JULY 3, 2024

CanesFan95
Page 2

PURCHASING & PREREQUISITES

To purchase DSD+ Fast Lane, see the instructions on the Wiki page:
https://wiki.radioreference.com/index.php/DSDPlus or in DSDPlus.txt. Upon
purchase, you will be e-mailed a .zip file and a password to extract the
contents. Do not lose your password. You will need it again everytime
updated versions are distributed.

The following prerequisites are necessary:

 DSD+ free version 1.101.


 DSD+ Fast Lane paid version 2.465 (other similar versions OK). The
.zip file name includes "2p465" which basically means 2-point-465, as
in version 2.465.
 Windows PC.
 One (1) or two (2) RTL2832U-based DVB-T dongles (such as an RTL-SDR
dongle), Airspy dongles, or SDRPlay RSP2 dongles (RSP1s are also
supported).
 Adequate antenna(s) to receive a good signal with a low noise floor.
 Knowledge of trunking systems and terminology (talk groups, radio IDs,
control channels, system IDs, rest channels, etc.)
 Experience as a scanner listener, radio hobbyist, amateur operator, or
professional.

DSD+ directly supports trunk tracking (control/rest channel following and


voice channel following) of NEXEDGE, Capacity Plus, Connect Plus, Tier III,
and Project 25 (P25) Phase I/II systems when coupled with one or two RTL2832U-
based DVB-T dongles, Airspys, or SDRPlay RSP2s. Other formats such as EDACS,
TETRA, MPT-1327, and older Motorola trunking protocols such as Type I, Type
II, hybrid Type IIi, SmartNet, and SmartZone/OmniLink are not supported.

DSD+ FILES

Setting up a folder with DSD+ Fast Lane requires files from both the free
version and the paid Fast Lane version. Download the free version 1.101 and
the .dll files first:

https://www.dsdplus.com/dl/DSDPlus1p101.zip
https://www.dsdplus.com/dl/DSDPlusDLLs.zip
https://www.dsdplus.com/dsdplusuploads/FastLane/libfftw3f-3.dll

Create a folder on the C:\ drive and name it what you want (ex. C:\DSD Plus
Fast Lane). Extract all the free files into the folder. (If you already
have the free version set up, you can skip this part. However, make a backup
copy of your free version folder.) Then open your paid DSD+ Fast Lane .zip
file and extract all files into the folder with your password, allowing any
existing free version files to be replaced/over-written with the paid Fast
Lane files. The final file set should look something like this:

CanesFan95
Page 3

Files with an extension of .cfg, .bat, or no file extension at all or other


non-standard file extensions should be set to open with your text editor
(such as Windows Notepad) by right-clicking and choosing Open with...:

CanesFan95
Page 4

You will edit some of these files later (but some are non-editable). Note:
DSD+ checks for UTF-8 space characters in all DSD+ data files. Note for
future reference: DSD+ is designed to support only standard 7-bit ASCII
characters, not multi-byte sequences. Multi-byte characters can cause
incorrect processing or displays. If any errors are reported in the Event
Log, check the console log for more details (explained later). (If
necessary, edit data files to remove the reported character sequences. This
should not be needed for newer DSD+ users just starting out.)

ZADIG

If using RTL-SDR dongles, proper USB drivers may need to be installed using
a freeware application called Zadig. Airspy dongles are plug-and-play and
do not require this. Download the Zadig.exe file from the following site:

https://zadig.akeo.ie/

CanesFan95
Page 5

Make sure only 1 RTL-SDR dongle is plugged in and run Zadig. On the Options
menu, select List All Devices. Go back to Options and uncheck Ignore Hubs
or Composite Parents.

Select the RTL2838UHIDIR entry from the drop-down menu, then click Install
or Reinstall Driver:

TUNER / SPECTRUM DISPLAY FMPx.EXE FILES

The .exe file that is used to tune the dongle to a desired frequency is one
of the following (collectively referred to as "FMPx"):

CanesFan95
Page 6

FMP.EXE This is the free version that works with RTL2832U-based DVB-
T dongles like an RTL-SDR.
FMP24.EXE This is the paid Fast Lane version that works with RTL2832U-
based DVB-T dongles.
FMPA.exe This is the version that works with Airspy dongles.
FMPP.exe This is the version that works with SDRPlay RSP2 receivers.

The first time you run FMPx, it will benchmark the available Fast Fourier
Transform (FFT) methods and select the fastest method for your CPU which
will take a moment. During the benchmarking process, you should not run any
other CPU-intensive programs, including DSD+ or other copies of FMPA or FMP24
or any other SDR software. Benchmark results are stored in FMPx.dat. Do
not copy the FMPx.dat file to other computers. Deleting the FMPx.dat file
will trigger a new benchmarking run the next time FMPx is run.

Go ahead and test your dongle by double-clicking the appropriate .exe for
your dongle to run the application, which will open a DOS-style console
window and the spectrum display (caution - you will hear loud noise floor
static at first). The Windows Firewall may prompt you to allow FMPx to act
as a server / accept connections. Click the check boxes to allow FMPx to
function properly.

To silence the noise floor, press q or Q (not case-sensitive) to apply


squelch logic (not supported on Airspy). (Note: double-clicking directly on
an FMPx.exe file is usually not the proper usage. This section is for
demonstration and learning purposes.) The spectrum display shows a range of
frequencies, typically a 2.4 MHz width of spectrum that can be viewed on the
scope. Ignore the DOS-looking console window for now and focus on just the
spectrum display:

Tune to a local NOAA weather radio frequency by typing the frequency in MHz
on the keyboard while looking at the spectrum display and then pressing
enter. You should now hear the station audio. In this example, a local
frequency of 162.550 MHz is being monitored with an AirSpy using FMPA.exe.
By default, the receive gain will be too high and should be lowered. Too
high of a gain setting will result in a high noise floor or adjacent-channel
interference that may cause undesired operation, such as improper decode of
digital signals.

CanesFan95
Page 7

For an Airspy, there are 3 gain settings called LNA, Mix, and IF that can be
lowered by repeatedly typing the hotkeys j, k, and l in lower-case,
respectively. Holding the Shift key to type capital J, K, and L will increase
the gains. For an RTL-SDR dongle, there is only 1 gain setting which can be
lowered by typing a lower-case g or increased by holding the Shift key to
type a capital G. 20.7 is a reasonable gain setting for an RTL-SDR dongle
and for an AirSpy, LNA:8 Mix:8 IF:8 is reasonable. However, it may depend
on your RF environment. For an SDRPlay RSP2, toggle the LNA and IF gains
with j/J and k/K, respectively.

The white title bar at the top provides information about the spectrum
display:

In this example, we're running FMP24.exe on an RTL-SDR dongle with a serial


number of 00000002 in FM tuned to a weather frequency of 162.400 MHz. The
incremental tuning step size is 6.25 kHz, bandwidth is 7.6 kHz, and gain is
set to 29.7. You can use the left and right arrow keys to tune the frequency
up or down based on the step size. Or you can use the mouse pointer
accompanied by a red vertical line on the spectrum display to click on a
desired frequency within view. Typing a desired frequency on the keyboard
and pressing enter lets you tune a frequency that is not in view on the
spectrum display.

You can use the left and right bracket keys [ ] to select a different tuning
step size in kHz, such as 5.0, 7.5, 12.50, etc. Typing a lower-case b
reduces the bandwidth and a capital Shift + B increases the bandwidth.
Looking back at the AirSpy example, note the following attributes indicated
on the spectrum:

The dark blue horizontal lines each indicate 10 dB worth of signal strength.
The red vertical line indicates that if you click the mouse, the dongle will
be tuned to 163.20000 MHz. White spikes show where there are radio signals
that you may tune to by clicking on them. The grey vertical line on the
left shows what frequency you're currently tuned to. The green wave (known
as the zoomed spectrum display) illustrates a wider, more zoomed-in view of
the radio signal indicated by the white spike. Zoomed spectrum display can
be toggled on or off by typing the letter z.
CanesFan95
Page 8

The grey shaded area over the green wave shows you your selected bandwidth
of the frequency you're tuned to. The position of the green wave of the
frequency you're tuned to is shown in the center of the spectrum display.
However, it is not lined up directly over the white spike with the grey
vertical line that you're tuned to, which may seem confusing at first. The
white spike you're tuned to is always shown more over toward the left side
(typing i will toggle it to the right, which can be used to tune the dongle's
entire spectrum away from other RF interference).

The example below shows multiple active frequencies (white spikes) that can
be clicked on for listening. Each white spike has it's corresponding zoomed-
in green wave view. However, not all related green waves are visible in the
spectrum display because the view of the green waves is more zoomed-in.

To tune to any of the active frequencies for monitoring, move the mouse
pointer around and click over a white spike. In this case, the frequency is
about to be tuned to 859.38750 MHz. The spectrum will move as you click
around and tune different frequencies. Many of the radio signals are digital
and will require you to run DSDPlus.exe at the same time as FMPx.exe for
digital decoding (described later). Now go back to the console window and
notice the information displayed:

CanesFan95
Page 9

Pressing '?' will list all of the FMPx keyboard commands in the FMPx console
window. Commonly used commands relate to RF gain levels, tuning step sizes,
and channel filtering bandwidths.

FMPx.cfg TUNER CONFIGURATION FILES

For RTL-SDR dongles, open FMP24.cfg and note the default configuration
parameters. These values are what is shown in the DOS-style console window
(above).

CanesFan95
Page 10

Leave the first 2 lines as-is (do not change these). Also leave line 3 FFT
size at 32, but change line 4 from 10 to 20, to improve the visual refresh
rate of the spectrum display activity. Line 5 shows the step size table
which lists what tuning step choices in Hz that you can select by typing [
or ] while running FMPx.exe. The value with the – minus sign, -6250 in this
case (6.25 kHz), is the default value that will be used on startup. If you
prefer to start with a 12.5 kHz tuning step, put the – minus sign before the
-12500 instead. You may change the entire list to your liking, for example:

10 50 100 250 500 1000 1250 2500 5000 6250 -12500 15000 25000

The next line (line 6) tells FMP24.exe what file directory folder DSDPlus.exe
is in. A period . means DSDPlus.exe is in the same folder as FMP24.exe, so
you can leave this as-is.

The next line (line 7) is an optional feature to use a free frequency list
.csv file that will display licensee data for frequencies when you hover
your mouse over the spectrum display. U. S. users wishing to use this
feature must download one of the following:

 Separate FCC licensee .csv files for each state:


https://www.dsdplus.com/dsdplusuploads/FastLane/States.zip

 One large .csv containing all U.S. FCC Licensee data for the entire
country:
https://www.dsdplus.com/dsdplusuploads/FastLane/USA.zip

Canadian licensing data is available at:

CanesFan95
Page 11

https://www.dsdplus.com/dsdplusuploads/FastLane/Canada.zip

Extract the desired .csv file and save it in your C:\DSD Plus Fast Lane
folder. You do not need to open the file and look at it. Now on line 7,
tell FMP24.exe the file directory location of where the .csv was saved. For
example, if you chose the state of Florida file with the filename of FL.csv,
enter .\FL.csv on line 7 like so:

The .csv's should be periodically re-downloaded to obtain current updated


data. Note: DSD+ checks for UTF-8 space characters in frequency data (.csv)
files and in scan list files (described later). These programs are designed
to support only standard 7-bit ASCII characters, not multi-byte sequences.
Multi-byte characters can cause incorrect processing or displays. If any
multi-byte characters are reported, edit or replace the relevant files.

Line 8 allows use of an optional second .csv file with licensing data. For
example, this could be used for a different state that you're traveling to.
To tell FMP24.exe which .csv file you want to use, comment the line by adding
a semi-colon ; to precede the line that you do not wish to use like so:

In this example, we're telling FMP24.exe to use FL.csv and not GA.csv.

On line 9, change the value to your preferred unit of distance, either miles
or kilometers. The addition of the word "bearing", for example "miles and
bearing" or "bearing and km" tells FMP24 to display transmitter bearing
values (0 to 359 degrees) as the mouse is moved over the spectrum display
with respect to your coordinates. Bearing data is also displayed in the
console window and passed to DSD+. The order of the words in the .cfg file
control the order (distance, then bearing or bearing, then distance) in which
they are displayed.

CanesFan95
Page 12

On line 10, enter the number of miles or kilometers radius from your current
location that you want licensing data returned for. On line 11, enter your
coordinates in decimal degrees. These coordinates are used as the center of
the radius to determine what licensee data will be shown on the spectrum
display. For example, if you put 15.0 miles for the search distance, the
licensee data shown will display only those records that exist within a 15-
mile radius from your coordinates. If multiple records exist for the same
frequency within 15 miles, the record closest to your coordinates will be
shown on mouse hover. Now whenever you run FMP24.exe and hover your mouse,
licensee data will be displayed:

Each time FMPx tunes to a new frequency, the frequency records are scanned
for matches that lie within the search distance you specified. Matches will
also be listed in the FMPx console window. Matches are sorted by distance
(farthest first, closest last). The closest match is reported to the Event
Log (Event Log described later).

The parameters are similar for FMPA.cfg (Airspy) and FMPP.cfg (SDRPlay RSP2),
except that for an Airspy or SDRPlay RSP2, you must tell it the serial
number(s) in order for DSDPlus.exe to work properly (described soon). You
may enter 1 or more serial numbers separated by a space like so:

The first serial number on the left will be considered Airspy device #1 and
the next serial number is Airspy device #2.

USING FMP-Map.EXE TO MAP LICENSING DATA

While running FMPx.exe by itself, double-click on the FMP-Map.EXE file to


run it at the same time. As you tune around to different frequencies on the
scope, the licensee location is plotted on a map for viewing:

CanesFan95
Page 13

While looking at the map, type a question mark ? to toggle a list of hotkey
keyboard shortcuts on or off (pressing Esc quits the program). You can zoom
in and out + or - and click and drag to move the map. As you drag and pan
around the map and zoom in or out, DSD+ downloads map tiles from the internet
which are saved in the Singles folder for faster loading or offline use in
the future. If a map tile is unavailable, the tile image is generated from
higher level tiles.

The coordinates you entered on line 11 of FMPx.cfg is where the "You" icon
will be plotted on the map. The licensing information shown on the spectrum
and map for a tuned frequency is whatever is closest to your location within
the radius information you entered on lines 9 – 11. The licensing data shown
may or may not be accurate if there are multiple licensees on the same
frequency with locations within your selected radius distance. Edit the
FMP-Map.cfg with your desired settings. FMP-Map supports displaying bearings
along with distance. This feature is enabled by adding the word "bearing"
to the sixth line in FMP-Map.cfg, similar to the FMPx.cfg files.

Quit all application windows by X-ing out or pressing Esc (DSD+ closes slowly
to ensure a clean termination and you may need to hit Esc multiple times).

CanesFan95
Page 14

USING DSDPlus.exe TO DECODE DIGITAL SIGNALS

Running FMPx.exe alone allows for listening in analog mode only. To decode
a digital signal such as a P25 control channel or a Digital Mobile Radio
(DMR) voice call, then you'll need to run DSDPlus.exe at the same time as
FMPx.exe. DSDPlus.exe is the application that decodes digital signals, while
FMPx.exe is what tunes your dongle to a frequency. DSDPlus.exe and FMPx.exe
both work together and "talk" to each other. The DSD+ .zip file set includes
.bat files that are ready to run out of the box with no command-line argument
edits required.

To use a single-dongle setup, run the 1R.bat file to start DSDPlus.exe, then
run the appropriate batch file for your device:

DVB-T dongle: FMP24-CC.bat


Airspy: FMPA-CC.bat
SDRPlay: FMPP-CC.bat

Lower the gain setting as described above. The 1R abbreviation means single
receiver, or 1 receiver.

P25 TRUNKING

With all the windows running, tune around and find a P25 control channel
(other modes described later). While on the P25 control channel, you should
start hearing digital voice calls when active. In this example, we're tuned
to a P25 Phase II control channel and trunktracking of voice calls begins.
The following windows are displayed which have specific names to them:

Spectrum Display:

Source Audio Window:

CanesFan95
Page 15

Event Log:

Channel Activity Window:

CanesFan95
Page 16

FMP24.exe Console Window:

DSDPlus.exe Console Window:

Current Seen Groups and Radios windows:

All of these windows except for FMPx (the spectrum display and FMPx console
window) are sometimes collectively referred to as simply "DSD+".

Minimize both Console Windows, the Source Audio Window, the Current Seen
windows, and the Spectrum Display. Just focus on the Event Log and Channel
CanesFan95
Page 17

Activity Window for now. The top of the Event Log has menus where you may
adjust settings and features. For example, if you're not hearing audio, you
may need to select the proper audio device from the Output menu:

You may also adjust font sizes via the Window menu. Keyboard commands may
be enabled via the Misc menu. Then press '?' while viewing the Event Log to
list all of the available keyboard commands (there aren't very many). To
re-size the window as desired, hover your mouse pointer over the bottom right
corner of the Event Log until a double-arrow appears and then click and drag
the double-arrow (some other windows work in a similar manner).

DSD+ remembers many of your menu settings and window minimizations for future
sessions in a non-editable file called DSDPlus.bin. Command line entries
override DSDPlus.bin file entries. However, command line entries are not
saved to DSDPlus.bin. Only user-initiated adjustments that are made while
DSD+ is running are saved to DSDPlus.bin (exception: -_<num>). To revert
back to the default settings, close out of all windows and delete
DSDPlus.bin.

The status bar on the bottom of the Event Log tells you information about
the system:

In this case, the Wide Area Communications Network (WACN) is 1E306 in


hexadecimal, the system ID is 32D in hexadecimal, and the Network Access
Code (NAC) is 00A in hexadecimal. The 1.1 in decimal indicates this is RF
Sub-System (RFSS) 1, site 1. The number before the period is the RFSS and
the number after the period is the site number. Some systems may show a
Neighbor List (NL) indicating there are other sites on the system:

CanesFan95
Page 18

Now, look at the Channel Activity Window. From left to right, the Channel
Activity Window shows the Phase I and Phase II (TDMA) channel numbers, the
repeater output (TX) frequencies, the priority of the talk group ID (TGID)
for scanning/searching (explained later), the talk group ID in decimal
(Target), the talk group alias (which you can enter and save in the
DSDPlus.groups file), the radio ID in decimal (Source), and the radio ID
alias (which you can enter and save in the DSDPlus.radios file). As DSD+
Fast Lane runs, it automatically logs data into several files. Note that
the DSD+ Channel Activity window is auto-sizing. The only way to manually
adjust its size is to modify the font size and length of the alias text that
it displays.

DSD+ will search and land on active voice calls and you will hear the audio.
The TG in bold highlighted with a grey background is the one you're listening
to. DSD+ does not have a search delay, however you can press the space bar
to hold on the current TG and press the space bar again to resume searching.
You can click on any active TG to hold on it, however this may change the
priority settings (described later). To enter a specific TGID to hold on,
go to the Event Log > Control menu > Call Priorities > Set Hold Talkgroup,
delete the zero 0, type the TGID in decimal, and press Enter. The current
control channel frequency is indicated by CC and scc means secondary control
channel. TGs in italics are encrypted and are not stopped on by default
(L/O).

DSD+ Fast Lane automatically populates a file called DSDPlus.P25data which


stores system and bandplan information for all P25 systems monitored and can
be viewed with a text editor:

CanesFan95
Page 19

Usually, there is no need to change anything in this file. However, if it


contains inaccurate information, the entries may be deleted. The
DSDPlus.P25data file can be manually edited to add bandplan data. If a
monitored P25 control channel is not currently broadcasting bandplan data,
DSD+ will retrieve bandplan data from the DSDPlus.P25data file. The Event
Log Control menu also has an option to Rebuild Neighbor List and P25 Bandplan.

To add a system name / alias, open the DSDPlus.networks file and enter the
system information like so:

DSD+ refers to the system ID as the networkID. If the system has sites that
you want to name, open DSDPlus.sites and make a similar entry (most files
can be edited while DSD+ is running):

CanesFan95
Page 20

Now the status bar will show the aliases:

As you find more trunking systems, you can add more systems and sites on
additional lines:

To add talk group and radio ID (RID) aliases, open DSDPlus.groups and
DSDPlus.radios and add your names like so:

CanesFan95
Page 21

Upon starting a new DSD+ session, DSD+ checks for malformed data or
inconsistencies in these data files and reports red alert errors in the Event
Log, which should be reviewed and corrected. The maximum length for
network/site/group/radio alias text is 140 characters. DSD+ employs
.groups/.radios file data protection. If DSD+ can't read these files, for
example, if they are locked by some other program such as a text editor,
DSD+ will not write to these files, as DSD+ would not have the bulk of the
data and would write nearly empty files.

Now the Event Log and Channel Activity will start to look more like this:

Notice how 772.90625 MHz is split among two Phase II TDMA voice calls on TGs
15005 and 13015 that share the same RF frequency, while TGs 10273 and 15151
are Phase I FDMA calls that use up their own entire frequency. The Event
Log Misc menu has options to edit TG and radio IDs as well as tagging TDMA
P25 TGs. When Tag TDMA P25 Talkgroups is enabled, " (TDMA)" is appended to
the names of P25 talkgroups that are seen making Phase II calls. These name
changes are stored in the DSDPlus.groups file.

CanesFan95
Page 22

X2-TDMA is Motorola's proprietary precursor of P25 Phase II TDMA, a


predecessor to the final P25 Phase II TDMA standard. Eventually, Motorola
X2-TDMA systems should be fully converted to the official P25 Phase II TDMA
standard.

There are additional windows available by going to the Event Log Window and
opening them. For example, open the Packet Data Window to view packet data
transmitted on P25 packet data calls:

These are normally found on P25 trunking systems, however the messages are
often encrypted:

CanesFan95
Page 23

Use the Data Calls priority settings in the DSD+ Control menu to enable or
disable auto-tuning / trunk following of P25 data calls (priorities are
described next). However, these calls typically occur on dedicated
frequencies. You may manually tune a receiver to one of these channels.
Raw P25 packet data messages are written to a text file named:

[mode-]DSDPlus[#modifier].packetData

Each data block in a message is written to a separate text line as hexadecimal


byte values and ASCII text strings. Raw P25 packet data messages are also
written to a second text file named:

[mode-]DSDPlus[#modifier].packetData2

Each complete data message is written to a single separate text line as


hexadecimal byte values. The message data in this file can be sorted on any
message byte offset by the Windows SORT command for analysis purposes. Raw
P25 packet data messages are also displayed in the DSD+ Packet Data window.
This scrollable window can buffer/display up to 500,000 lines of data. P25
packet data is only buffered for this window when the window is open. Each
time the window is closed/reopened, it will start with a blank display / no
data.

A common packet data message type sent on P25 trunking systems is ESP
(Encapsulating Security Payload). These are encrypted and not decodable.
By examining the ASCII text displayed in the .PacketData file and the Packet
CanesFan95
Page 24

Data window, you may find TMS (Text Messaging Service) payloads. Another
common message is ACK responses. These are endpoints confirming that an
entire packet data message was received and decoded correctly.

TALK GROUP PRIORITIES AND THRESHOLD

During trunktracking, DSD+ uses a priority system to determine what TG will


be stopped on for monitoring. DSD+ Fast Lane uses a threshold setting to
let you block certain TGs from being monitored. The threshold setting ranges
from 0 – 100 which can be adjusted with increments of 1 (the default is 100).
Each TG has its own numeric priority value with 50 being the default. Any
TGIDs that have an individual priority number higher than the threshold will
be ignored. For example, TGs with the default priority of 50 will be ignored
if the threshold is set to 49 or below. In this case, only TGs with a
priority number of 49 or lower will be stopped on. The higher the threshold,
generally the more TGs that will be heard. Adjust the threshold via the
Event Log menu Control > Monitoring Threshold:

The lower the numeric priority value, the higher the priority of the TG.
For example, a TG with a priority of 25 will have a higher priority than a
TG with a priority of 50 (think of #1 as being the top priority). DSD+ uses
ruthless pre-emption with priorities. For example, while watching the
Channel Activity window, if DSD+ stops on a TG with a priority of 50 and
during the voice call another TG with a priority of 25 gets keyed up, DSD+
will interrupt and abandon the current voice call and immediately switch to
the TG with the priority of 25. To hide TGs below the threshold from being
displayed in the Event Log, go to the Misc menu and select Hide All BG Events
and Traffic Below Mon Threshold. Hidden traffic will not appear in the event
window and will be dimmed in the channel window.

There is also a priority override feature where each TG can be set to HOLD,
High, Normal, Low, or L/O (lockout). If a TG's override is set to Normal,
then the numeric priority value is what DSD+ uses to decide if/when to stop
on that TG. If it's set to Low, the numeric priority value is ignored and
the TG will have the lowest priority (it will be the last to be stopped on).
It will only be stopped on if all other TGs are either locked out or inactive.
If it's set to High, then the numeric priority value is also ignored and the
TG will take priority over all other Normal TGs regardless of their numeric

CanesFan95
Page 25

priority values. TGs set to L/O are locked out and will not be stopped on.
For High and Normal, ruthless pre-emption is used. Multiple TGs that all
have the override set to High will have equal priority as will those set to
Low.

As an example, observe the following priorities in the Pri column:

TGs that show a numeric priority value are set to Normal override (even
though you can't see the word Normal). TG 15003 shows a priority of 55,
which is the lowest priority of all active TGs. It will be the last to be
stopped on. Several other TGs are 50 and would be stopped on before 15003.
But TG 15005 was stopped on because its override is set to High, which makes
it a higher priority than all other Normal TGs. DSD+ shows encrypted TGs in
italics which are locked out by default. To toggle this setting, go to the
Event Log menu Control > Encrypted Voice Call Following. Regardless of the
setting, upon realizing a TG is encrypted, DSD+ will mute the encryption
audio noise. When Limited Following is selected in the menu, encrypted voice
calls are tuned to only to gather key ID and algorithm ID encryption
information. Accumulated group call encryption information is displayed in
the Current/Seen Groups window. Accumulated private call encryption
information is displayed in the Current/Seen Radios window.

These windows can be opened via the Event Log Window menu. When opened,
column headers can be clicked on for sorting. They display all talkgroups
and radios that have been seen during a user-specified timeframe (called the
Max Age) on the currently monitored system (timeframe is selectable in the
Window Menu). Time limits of up to four hours can be used to display which
talkgroups and radios are currently active on a system. Longer time limits,
up to 24 hours, can be used to show which talkgroups and radios have been
seen during that time period.

The numeric priority value and override settings can be adjusted with the
mouse on the Channel Activity window during a live session. However, you

CanesFan95
Page 26

only have limited time to do this while a TG is active and you must be sure
to right or left click under the correct column. To change the priority
override, you must click under the Target or TgtAlias column (either one
will work).

Right-clicking on a TG on either the Target or TgtAlias column cycles from:


HOLD > High > the numeric priority value (Normal) > Low > L/O.

Left-clicking goes in the opposite order:


L/O > Low > the numeric priority value (Normal) > High > HOLD.

To change the numeric priority value, you must click under the Pri column.
However, using the Ch, TDMA, or TX Freq column work just the same. Left
clicking decreases the numeric priority value in increments of 5 and right-
clicking raises it. If the Pri column shows an override setting of High,
Low, or L/O, right or left-clicking on it will put it in Normal mode which
will show the numeric priority value. DSD+ will save your changes in
DSDPlus.groups. To clear all TG lockouts, double-click anywhere in the
header row of the Channel Activity window.

Another option is to edit the priorities via the Event Log Misc menu > Edit
Group / Edit Radio:

First, choose Select group and enter the desired TGID in decimal:

After entering the TGID, close out the window and go back into the Misc >
Edit Group menu. The remaining options will no longer be greyed out and you
can make edits:

CanesFan95
Page 27

Rather than trying to change settings during a live session, you may directly
edit DSDPlus.groups as in the following example (the values 50, 45, 40, 39,
50, and 50 are the numeric priority values):

Priority values in DSDPlus.groups can be in increments of 1. When a new TG


becomes active that is not already in DSDPlus.groups, DSD+ assigns it an
override of High by default. This can be toggled in the Event Log menu
Control > Call Priorities > Set High Priority Override for New Talkgroups:

CanesFan95
Page 28

Other settings in this menu let you change the override setting for all calls
in one shot regardless of what is in DSDPlus.groups. In this example, Group
Voice Calls was set to High Priority. Now they all have an equal priority
without having to change every TG value in DSDPlus.groups one-by-one:

Selecting from this menu will not over-write your settings in DSDPlus.groups.
Changing it back to Group Voice Calls: Normal Handling will go back to using
whatever is in DSDPlus.groups. To monitor private calls, set the other call
types to L/O and leave Private Voice Calls: Normal Handling selected or
change it to Private Voice Calls: High Priority. For private calls, clicking
the priority number adjusts the source radio priority up or down.

The option called Group Voice Calls: Incl Radio Priority refers to similar
functionality found in DSDPlus.radios. When selected, radio priority and
override settings will now be used. The Pri column will show the radio ID's
numeric priority value or override setting instead of that of the TG. If a

CanesFan95
Page 29

radio ID with a lower numeric priority value is keyed up, it will immediately
pre-empt other radios IDs and DSD+ will jump to that TG for monitoring.

CAPACITY PLUS TRUNKING

DSD+ automatically determines and populates the RF frequencies for P25


systems because they normally broadcast a bandplan. However for Capacity
Plus (Cap+) systems, this is not the case, because Cap+ systems do not use
any pre-defined bandplans. You can tune around and listen to Cap+
frequencies, but for proper trunktracking, you must tell DSD+ what all the
RF frequencies on the system are and what their Logical Slot Numbers (LSNs)
are. Each Logical Channel Number (LCN) consists of 2 LSNs. To figure out
the LCN and LSN of a given Cap+ frequency, tune to it and wait for a voice
call. When a voice call is transmitted, DSD+ will tell you the LCN and LSN
numbers in the Event Log.

In the following example, we're tuned to a Cap+ frequency of 451.425 MHz


which has a voice call on TG 176 active. The Event Log tells you that
451.425 is the 8th Cap+ repeater, meaning that 451.425 is LCN 8.

What DSD+ refers to as "channels" on a Cap+ frequency are actually the LSNs.
In this case, 451.425 is LSNs 15 and 16. These are basically slot numbers
where Ch15 is slot 1 and Ch16 is slot 2. The voice call (Group call) in
green indicates Ch=16 1s, meaning that the voice call on 451.425 is on LSN
16 (slot 2 of this frequency, LCN 8) and the radio transmission lasted for
1 second.

CanesFan95
Page 30

The Channel Activity window shows voice calls on each of the LSNs / time
slots:

Unlike P25, Cap+ systems do not have a system ID. But the Site number and
Digital Color Code (DCC) are shown in the Event Log status bar. This
frequency is on site 1 and has a color code of 15. Cap+ systems using
Restricted Access to System (RAS) will show RAS in the status bar. DSD+
lets you trunktrack and listen to RAS systems. Neighbor Lists (NL) of other
sites that are part of the Cap+ system may also be shown (ex. NL: 2 3 4).
Each site is basically like its own separate system with its own set of
frequencies and LCNs.

You will need to manually search around and find all the frequencies on the
Cap+ system and identify LSNs for proper trunk following. This can be a
difficult challenge, especially when there are likely multiple Cap+ systems
in a given area. As you search the bands, consider using an Excel file to
log each Cap+ frequency into a row with columns of related information
including FCC licensing data like so:

An FCC geographic license search is available at


https://wireless2.fcc.gov/UlsApp/UlsSearch/searchGeographic.jsp (it runs
very slow). Use colors and highlighting to identify Cap+ frequencies that
appear to be on the same system, considering TGIDs seen, the site #, Neighbor
Lists (NLs), FCC data, RAS status, and notes with your observations. Not
every repeater has to have the same DCC. In this example, the 451.425
frequency above is part of a 4-frequency Cap+ system (a total of 8 slots)
highlighted in yellow on the spreadsheet. The LCNs and LSNs are as follows:

CanesFan95
Page 31

LCN LSN FREQUENCY (MHz)


1 1/2 452.875
2 3/4 451.975
3 5/6 452.975
8 15/16 451.425

(Some Cap+ systems may skip LCNs. This system has no frequencies on LCNs 4-
7.) Enter the LSN data into DSDPlus.frequencies with the following syntax:

Cap+, 1000, 1, 1, 452.875, 0.0, 0


Cap+, 1000, 1, 3, 451.975, 0.0, 0
Cap+, 1000, 1, 5, 452.975, 0.0, 0
Cap+, 1000, 1, 15, 451.425, 0.0, 0

Because Cap+ systems do not have a system ID, you must arbitrarily make up
a system ID that is unique from all your other systems. In this example, a
random system ID of 1000 was created. DSD+ refers to system IDs as the
networkID. In this case, we've created a pseudo networkID. If the system
has been added to the RadioReference database, consider using its page number
as the networkID. The next number is the site # (all frequencies here are
on site 1). The next number after that is the first of the 2 LSNs (slots)
for each frequency. For example, the last frequency of 451.425 is LSNs 15
and 16, so the number 15 is entered.

If the system has multiple sites, create additional entries in the


DSDPlus.sites file for each site with an alias. For example:

Cap+, 9999, 1, "North"


Cap+, 9999, 2, "South"
Cap+, 9999, 3, "East"
Cap+, 9999, 4, "West"

Then add the additional frequencies and LSNs for each site into
DSDPlus.frequencies. In DSDPlus.frequencies, a "?" is allowed for unknown
over-the-air (OTA) channel numbers, TX frequencies, and RX frequencies. For
example:

Cap+, 123, 1, ?, 454.6125, 0.0, 0

CanesFan95
Page 32

Cap+, 123, 1, 7, ???.????, 0.0, 0

In the event log, DSD+ will report these as records with incomplete fields
rather than as errors.

Using that same psuedo system ID, open DSDPlus.networks and enter a system
alias:

Now the system information will show in the status bar and the Channel
Activity will populate the frequencies as they become active. You may add
TG and radio ID aliases in DSDPlus.groups and DSDPlus.radios.

For Cap+ systems where different systems/sites share common frequencies,


DSD+ Fast Lane has an optional system disambiguation feature. DCC values
can be appended to DMR channel entries in the DSDPlus.frequencies file. For
example, suppose the following same frequency is being used by 2 different
Cap+ systems with color codes of 12 and 14, respectively:

CanesFan95
Page 33

Cap+, 1234, 3, 1, 454.7625, 0.0, 0, 12


Cap+, 1235, 7, 1, 454.7625, 0.0, 0, 14

If FMPx is manually tuned to 454.7625 and DSD+ detects a Cap+ datastream,


DSD+ will use the received digital color code to determine whether site 3 or
site 7 is being monitored. A DCC does not need to be added to a DMR frequency
entry unless disambiguation is required. You should edit the comment at the
top of the DSDPlus.frequencies file to reflect this optional DCC field:

Old: ; protocol, network ID, site number, ... sort order


New: ; protocol, network ID, site number, ... sort order, DCC

Another method for determining the LSNs to map out a system is as follows.
For each known system frequency (you must know these first), create a channel
record in the DSDPlus.frequencies file. Initially, use invalid channel
numbers. For example:

; Mayberry PD North

Cap+, 9999, 1, 99, 450.5000, 0.0, 0


Cap+, 9999, 1, 99, 451.2625, 0.0, 0
Cap+, 9999, 1, 99, 454.9125, 0.0, 0
Cap+, 9999, 1, 99, 455.5000, 0.0, 0

Tune CC FMPx to an active system channel. CC DSD+ will scan the


DSDPlus.frequencies file for a Cap+ record with the same frequency. (CC and
VC instances of FMPx and DSDPlus.exe are explained in detail later.) The
first matching record will be used. CC DSD+ will use the frequency record
to establish the system's network ID. CC DSD+ will use the network ID to
display the network and current site names. At some point, DSD+ should
determine the channel's ordering and display it in the Event Log window.
For example: "450.500000 is first Cap+ repeater (Ch1 and Ch2)". Use the
information to edit the channel's record in the DSDPlus.frequencies file.
Note: continue to use invalid channel numbers. For example:

Cap+, 9999, 1, 101, 450.5000, 0.0, 0

Repeat the last 2 steps for each active system channel. For example:

"451.262500 is third Cap+ repeater (Ch5 and Ch6)"


"454.912500 is fourth Cap+ repeater (Ch7 and Ch8)"
"455.500000 is second Cap+ repeater (Ch3 and Ch4)"

Cap+, 9999, 1, 101, 450.5000, 0.0, 0


Cap+, 9999, 1, 105, 451.2625, 0.0, 0
Cap+, 9999, 1, 107, 454.9125, 0.0, 0
Cap+, 9999, 1, 103, 455.5000, 0.0, 0

CanesFan95
Page 34

When the ordering of all of a site's active channels has been determined,
edit the channel records so they have the correct channel numbers. For
example:

Cap+, 9999, 1, 1, 450.5000, 0.0, 0


Cap+, 9999, 1, 3, 455.5000, 0.0, 0
Cap+, 9999, 1, 5, 451.2625, 0.0, 0
Cap+, 9999, 1, 7, 454.9125, 0.0, 0

NEXT GENERATION DIGITAL NARROWBAND (NXDN) TRUNKING

NXDN trunking is also known as Type-C trunking and consists of a dedicated


control channel with FDMA voice channels. Kenwood's brand name for NXDN
equipment is "NEXEDGE", while Icom's brand for NXDN equipment is "IDAS", or
Icom Digital Advanced System. NXDN trunking systems can be a bandwidth of
either 6.25 kHz (4800 baud) or 12.5 kHz (9600 baud). NXDN trunking systems
can either be a Global, Regional, or Local system as follows:

Global - System IDs 1 to 1022 with Site IDs 1 to 4094


Regional - System IDs 1 to 16382 with Site IDs 1 to 254
Local - System IDs 1 to 131070 with Site IDs 1 to 30.

IDAS systems do not use unique network IDs. For some NEXEDGE control
channels, DSD+ will automatically start trunk tracking. In DSD+, the Event
Log status bar shows the system ID in decimal preceded by the letter G, R,
or L, to indicate if it is a Global, Regional, or Local system, respectively.
The dash after the system ID indicates the site number. If the system is
using a 6.25 kHz bandwidth, the status bar will show NEXEDGE48, while 12.5
kHz bandwidth systems are shown as NEXEDGE96 (the smaller number indicates
the smaller bandwidth). The following example is a Local Type-C NXDN
trunking system using the 6.25 kHz bandwidth with a system ID of 429 (in
decimal) and a Radio Access Number (RAN) of 1 on site 1:

CanesFan95
Page 35

Unlike P25 trunking, the frequencies are not automatically determined.


Similar to Cap+ systems, you must manually find each frequency with the
proper LCN, which may take manual searching and trial-and-error (there are
no slot numbers, so no LSNs). An Excel file like the one shown above for
Cap+ systems may help with this. In this example, we're tuned to the control
channel on 460.4375 MHz, which shows as Ch 4 in the Channel Activity window.
The Ch numbers are the LCN in this case, so we know here that 460.4375 is
LCN 4. In the DSDPlus.networks file, add another line with the system alias
like so:

CanesFan95
Page 36

Notice how the preceding letter G, R, or L is not entered here. Then go


into DSDPlus.frequencies and enter the LCNs like so:

You may also opt to add an alias for the site number in the DSDPlus.sites
file:

Now the frequencies and aliases will populate and you can start hearing voice
calls:

CanesFan95
Page 37

NXDN systems may have OTA subscriber radio aliases that can be decoded by
DSD+ and are automatically saved in DSDPlus.radios. A series of dots ....
indicates DSD+ has only decoded part of the alias. Radio aliases preceded
by an asterisk * (ex. *"aliastext") indicates that the alias came from the
OTA alias decoded and saved by DSD+. If you edit a NEXEDGE alias, you must
remove the asterisk. This tells DSD+ that the new alias text is not auto-
generated and DSD+ will not replace it with OTA alias text. The leading
asterisk (*"...") used for OTA NXDN radio aliases in the DSDPlus.radios file
is also used for OTA D-Star, Fusion, DMR, and P25 radio aliases.

Sometimes the word Alias appears in the Priority column instead of a High /
Low / number. The word Alias will show up in the priority when DSD+ detects
a radio ID that is broadcasting an alias that hasn't been saved and will
make that the higher priority channel.

CONNECT PLUS (CON+) TRUNKING

Connect Plus (Con+) systems are a form of DMR with dedicated control channel
trunking and TDMA voice calls. Some Con+ systems broadcast an over-the-air
frequency file/repeater map that will tell you the frequencies and channel
information. Handling of Con+ repeater map broadcasts has been automated.
DSD+ Fast Lane decodes this in the console log and also writes a text block
CanesFan95
Page 38

that can be copied directly to the DSDPlus.frequencies file. Repeater maps


broadcast on the control channel carrier (on slot 2) are handled by CC DSD+.
Repeater maps are written to text files. The file name format is "ConP <NID>
Network Repeater Map v<mapVersion>.txt". An example of a repeater map is
shown here:

Tune to a new Connect Plus (Con+) control channel frequency and you may see
a ? question mark in the Channel Activity window:

Determining the frequencies will require manual scanning and trial-and-


error. Then you must update DSDPlus.frequencies with the LSNs. However,
the status bar in the Event Log will provide some information. In this
example, we have a Con+ system with a system ID of 115, site 6, a color code
of 6, and a neighbor list indicating other site numbers of 4 and 14 (all in
decimal):

CanesFan95
Page 39

DMR TIER III (TIII) TRUNKING

For some Tier III control channels, DSD+ will automatically start trunk
tracking. Tier III (TIII) systems use "Ch ID" similar to NXDN. They do not
use LCN/LSN like most other DMR system types. There are different varieties
of Tier III systems that are either standard or non-standard. This needs to
be identified to tell DSD+ the proper protocol. Older DSD+ versions did not
require this and the protocol entered into files like DSDPlus.networks and
DSDPlus.frequencies was simply "TIII".

However, all "TIII" support has been excised from DSD+. The program now
red-flags any data file entry that has "TIII" as the protocol string. No
DMR system/site will be reported as "TIII". When a TIII site is monitored,
DSD+ will make a determination as to whether a system is following the TIII
standards. Most systems follow the standards and DSD+ will display the
system type as "TIIIStd [Auto]".

For Motorola CapMAX systems, which do not follow the TIII standards, DSD+
will display the system type as "TIIInonStd [Auto]". The "[Auto]" notation
shows that DSD+ has automatically made the system type classification.
Capacity Max is Motorola's proprietary version of Tier III trunking and it
is considered non-standard. To convert a DSD+ Ch # to an LCN for a Capacity
Max system, divide the oddly numbered DSD+ Ch # by 2, then round that down
to the whole number. So for example:

279/2 = 139.5, so the LCN is 139


485/2 = 242.5, so the LCN is 242
1807/2 = 903.5, so the LCN is 903
1929/2 = 964.5, so the LCN is 964

You should not be seeing evenly numbered Ch #'s in DSD+. However if you do,
divide by 2 then subtract 1. So in the examples above, 280 would still be
LCN 139, 485 would still be LCN 242, etc. Then you may populate
DSDPlus.frequencies with the frequency data. For non-standard TIII systems
that DSD+ does not correctly classify, such as those made by Selex ES, the
DSD+ Event Log Control menu provides a mechanism to force the system type to
"TIIInonStd", or back to "TIIIStd", if desired:

The proper method to force the use of the correct TIII system type by DSD+
is to feed signals to DSD+ via an FMPx direct link or TCP link (described
later) and to load the DSDPlus.frequencies file with accurate system type,
system ID, and site frequency data for every monitored TIII site. If this
is done, DSD+ will use the data to reliably select TIII system types. Also,

CanesFan95
Page 40

the DSDPlus.frequencies file data will override the TIII system type
selection option in the DSD+ Control menu.

The system type being used by DSD+ controls how DSD+ interprets the 14 bit
SysCode values that TIII systems broadcast. Standards-compliant systems use
the full addressing space provided by the bit fields embedded in a TIII
SysCode and support an "Area" field. DSD+ displays TIIIStd site numbers as
area#.site# (examples: 1.1, 1.2, 2.1, ...). Systems that do not adhere to
the TIII standards do not use the full address space that SysCode bit fields
provide, nor do they support an "Area" value. DSD+ displays TIIInonStd site
numbers as site# only (examples: 1, 2, 3, ...)

All data file entries for TIII systems should include network model
information. This takes the form of a single character - T, S, L, H (Tiny,
Small, Large, Huge) and is the same as the network model code that DSD+
displays in the event log window while monitoring a TIII system. The network
model code should be entered in all TIII-related data file entries
immediately before the network ID value. Network ID prefixes can be used to
disambiguate TIII networks that use the same network ID. Prefix values
should be in the range 1 to 4095. Consider using the first three or four
digits of the page number of the Radioreference.com database entry for a
given network.

Network ID and site number values should match those displayed by DSD+ when
monitoring a system. TIIIStd site numbers must include an area value.
TIIInonStd site numbers must not.

Example .networks, .sites and .frequencies file entries, respectively:

TIIIStd L13 "Coyote LLC" ; Protocol NetworkModel&ID NetworkAlias


TIIIStd L13 1.1 "HQ" ; Protocol NetworkModel&ID Area.Site
SiteAlias
TIIIStd L13 1.1 1 454.7 0.0 0 ; Protocol NetworkModel&ID Area.Site Chan#
TIIIStd L13 1.1 2 454.8 0.0 0 ; Protocol NetworkModel&ID Area.Site Chan#

TIIInonStd L1234:13 "Road Runner Inc" ; Protocol NetworkModel&ID


NetworkAlias
TIIInonStd L1234:13 1 "Home Base" ; Protocol NetworkModel&ID
Area.Site SiteAlias

TIIInonStd L1234:13 1 57 462.0125 0.0 0 ; Protocol NetworkModel&ID


Area.Site Chan#
TIIInonStd L1234:13 9 84 464.9500 0.0 0 ; Protocol NetworkModel&ID
Area.Site Chan#

In order to comply with the above rules, all data file entries relating to
TIII systems will need to be edited by the user. Before commencing, you
should back up all data files. This includes the following files:

CanesFan95
Page 41

 DSDPlus.networks
 DSDPlus.sites
 DSDPlus.siteLoader
 DSDPlus.frequencies
 DSDPlus.groups
 DSDPlus.radios

These files can be edited while DSD+ is running, preferably while DSD+ is
not monitoring any signals. Pay close attention to the error messages that
DSD+ writes to the console log when you save an edited file. They will guide
you in your editing efforts.

TIII systems do not have unique network IDs. IDAS or TIII systems that
broadcast identical network IDs can be differentiated by adding user-selected
network ID prefixes to IDAS/TIII DSDPlus.frequencies records. Some
DSDPlus.frequencies examples are presented here:

TIII, 13, 1.1, 413, 450.0125, 0.0, 0 ; ACME Inc TIII; NID conflict
TIII, 13, 1.1, 117, 462.6000, 0.0, 0 ; Road Runner TIII; NID conflict

TIII, 1:13, 1.1, 413, 450.0125, 0.0, 0 ; ACME Inc TIII; NID conflict
resolved
TIII, 2:13, 1.1, 117, 462.6000, 0.0, 0 ; Road Runner TIII; NID conflict
resolved

IDAS, 1.1, 1, 1, 450.2250, 0.0, 0 ; ACME Inc iDAS; NID conflict


IDAS, 1.1, 1, 1, 462.4725, 0.0, 0 ; Road Runner iDAS; NID conflict
IDAS, 123:1.1, 1, 1, 450.2250, 0.0, 0 ; ACME Inc iDAS; NID conflict resolved
IDAS, 456:1.1, 1, 1, 462.4725, 0.0, 0 ; Road Runner iDAS; NID conflict
resolved

Network ID prefixes should be selected from the range 1 to 4095. Records in


the .networks and .sites files should be edited to match the .frequencies
file data. Any existing conventional, iDAS or TIII group or radio records
that you have added information to (like alias text) will have to be manually
edited to add their pseudo network IDs or prefixes.

DSD+ supports the DMR TIII CPS-P3 numbering plan. If all talkgroups and
radio IDs seen on a TIII system only use values in the range 1048577 to
16743880, the operators are likely using CPS-P3. If ", CPS-P3" is appended
to the network's entry in the DSDPlus.networks file, DSD+ will translate the
AI (air interface) talkgroup and radio numbers to their equivalent CPS-P3
values. Do not make this change for TIII systems that are not using CPS-P3.

The CPS-P3 talkgroup ID format is prefix-fleet-group. The CPS-P3 radio ID


format is prefix-fleet-unit. The prefix range is 328 to 806. Typically,
different prefix ranges are assigned to each radio shop / airtime provider
in a large TIII network. The fleet range is 20 to 89 and the group range is

CanesFan95
Page 42

900 to 999. Fleets 20 to 41 can have unit values from 200 to 899. Fleets
42 to 89 are limited to unit values 200 to 549. For example:

CPS-P3 talkgroup: 328-20-900


CPS-P3 radio ID: 328-20-223

HYTERA EXTENDED PSEUDO TRUNK (XPT) TRUNKING

XPT trunking is a proprietary Hytera brand protocol using 2-slot TDMA DMR
repeaters with no dedicated control channel. XPT systems allow for up to 8
repeaters (16 slots) and talk group IDs that range from 1 - 255. DSD+
Fastlane does not trunktrack XPT systems. However, voice frequencies can be
monitored. There is no system ID similar to Cap+. Therefore, an arbitrary
system ID/networkID must be created for use in DSDPlus.networks,
DSDPlus.sites, and DSDPlus.frequencies. Although DSD+ cannot trunktrack
XPT, entering a system into those files allows for aliases to identify a
system. XPT frequencies may also be conventionally scanned (scanning is
described later).

CONVENTIONAL VOICE FREQEUNCIES

Conventional frequencies can be monitored with the same hardware and settings
as with trunking. If FMPx is tuned to a conventional digital voice channel,
DSD+ will decode any unencrypted digital voice that is present. For example,
tuning to a conventional DMR base station (BS) will look like this:

CanesFan95
Page 43

The TGID is 5400953 and radio ID is 5400909. The "S1" under the Ch column
means the TG is using slot 1. If slot 2 is used, a 2nd row with "S2" will
be shown. Audio on slot 1 will be heard from the left computer speaker and
slot 2 will come out the right speaker, as you’re facing the computer
speakers. The Event Log Output menu has digital voice synthesis options to
turn on/off the slot(s) to be heard:

Other signal type abbreviations are as follows:

CS - NXDN conventional subscriber


CB - NXDN conventional base station
TS - NEXEDGE trunk subscriber
TB - NEXEDGE trunk base station
MS - DMR subscriber
BS - DMR base station
D1 - DMR subscriber using DCDM slot 1
D2 - DMR subscriber using DCDM slot 2

Radio ID alias data for amateur radio DMR networks is available for download
here and is updated weekly:

https://www.dsdplus.com/dsdplusuploads/FastLane/DMR-IDs.zip

Unzip the .txt file and manually copy and paste all the rows to the end of
the DSDPlus.radios file. Now ham callsigns and names can be shown:

CanesFan95
Page 44

Other digital audio modes supported are: dPMR, L3Harris ProVoice, Motorola
X2-TDMA, NXDN, Icom D-Star, Yaesu Fusion, MotoTRBO Dual Capacity Direct Mode
(DCDM), and P25. For monitoring dPMR and X2-TDMA, you may need to invert
the decoding polarity via the Decoder menu:

To listen to an analog transmission, go to the Input menu on the Event Log


and choose "Monitor Source Audio if No Sync and Signal Present":

CanesFan95
Page 45

This will apply squelch logic if no transmission is received. Squelch


sensitivity levels are fixed and cannot be adjusted in DSD+:

 Manual tuning uses a loose squelch & will unmute on weak, noisy signals.
 Scanning (described later) uses a tighter squelch & will not unmute on
weak signals.

To add an alias to a conventional frequency, create an pseudo networkID and


add a line to the DSDPlus.networks and DSDPlus.frequencies files like so:

CanesFan95
Page 46

From now on, anytime you tune to that frequency, the alias will be displayed
when a transmission is received:

Beware that this may cause confusion if other further away users / systems
are on that same frequency. However, you may add an optional DCC code in
the DSDPlus.frequencies file. This will cause the alias to only be displayed
if a transmission with a matching DCC code is received. In the example
below, a DCC of 10 was added at the end to tell DSD+ Fast Lane to only
display the alias when DCC 10 is received. In all cases, voice calls will
still always be heard regardless of the color code.

You may enter conventional TG aliases by editing the following files with a
pseudo networkID and a pseudo site number:

DSDPlus.networks
DSDPlus.sites
DSDPlus.frequencies

For example, the following conventional DMR frequency of 460.1250 has 2 known
TGIDs of 3 and 4:

CanesFan95
Page 47

This was setup with a pseudo networkID of 1 and a pseudo site number of 5 by
making the following entries:

CanesFan95
Page 48

Pseudo network IDs should be selected from the range 1 to 65535. Site
numbers should be selected from the range 1 to 255. Channel numbers should
be selected from the range 1 to 255.

You may allow DSD+ to automatically populate DSDPlus.groups by editing the


other 3 files first and then monitoring for a while until traffic is heard.
Or you can manually edit DSDPlus.groups directly. Conventional TGs and
radios have similar priority, threshold, and override functions as trunked
TGs described earlier. If a conventional call's priority is below the cutoff
threshold, DSD+ will mute the audio. In this example, TGs 3 and 4 have a
numeric priority value of 50, which can be edited in DSDPlus.groups.
Conventional radio IDs can be edited in DSDPlus.radios:

Due to the lack of TGs in Fusion and D-Star voice calls, all calls are
treated as private calls, so clicking on a call's priority field will modify
the source radio's priority level.

As you tune around, on rare occasion, DSD+ may show old details (protocol,
system ID, color code, etc.) from a previous frequency in the Event Log
status bar at the bottom. Other times, you may simply wish to refresh the
information to ensure accuracy. This can be cleared by going to the Event
Log Control menu and selecting Discard Current System Info at the bottom.

For conventional P25 channels, the site network ID is displayed as a decimal


value in the Event Log. Conventional P25 network IDs are stored as decimal
values in the .groups and .radios files. Conventional P25 network IDs should
be selected from the range 1 to 4095. By using unique network IDs, users
with the same P25 radio IDs can be disambiguated in the .radios file. Use
a common network ID, but different site IDs, on conventional P25 channels
that are related in some way (e.g. when the same users can appear on multiple
conventional channels, such as when running counter-intelligence on FBI
agents).

FMPx SCANNER MODE

To scan a list of frequencies, create a file with one of the following file
names depending on your device: FMP24.ScanList, FMPA.ScanList, or
FMPP.ScanList. Open the file and add lines to it with the following syntax
as an example:
CanesFan95
Page 49

Acceptable protocol modes are:

Analog (NFM analog)


FM (NFM analog)
AM (AM analog not supported by FMPA or FMPP)
D-Star
Fusion
NXDN48
NXDN96
DMR
DCDM
dPMR
ProVoice
IDAS

BW = Bandwidth in kHz and DELAY is a scan delay in seconds, which you can
set as desired. Airspy mini dongles do not do AM and DELAY does not work on
an Airspy. FMP24.exe scans faster than FMPA.exe. 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. Blank lines in the file are ignored.

After editing, save and close the .ScanList file. As before, run the 1R.bat
file to start DSD+, then run the appropriate batch file for your device:

DVB-T dongle: FMP24-CC.bat


Airspy: FMPA-CC.bat
SDRPlay: FMPP-CC.bat

If any frequencies in the scanlist are analog, go to the Event Log, click
the Input menu drop-down, and choose "Monitor Source Audio if No Sync and
Signal Present". Now click over to the spectrum display and put FMPx into
scanner mode by typing the hotkey s or S (not case-sensitive). FMPx will
begin scanning the frequencies in your .ScanList file and the spectrum
display will show "Scan" in the title bar. To stop scanning, press Esc
(pressing s or S again does not stop scanning). There is no ability to hold,

CanesFan95
Page 50

lockout (L/O), or resume scanning. If you want to hold on a frequency that


has been stopped on (or to discontinue scanning), press Esc to stop scanning.

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

When scanning analog or digital channels, squelch logic is automatically


enabled. When scanning analog channels, noise filter #1 is automatically
selected. When scanning digital channels, noise filtering is disabled.
When scanning only analog channels, DSDPlus.exe is not required. You may
double-click directly on FMPx.exe and then hit s / S. If FMPx's audio output
is routed to DSD+, select "Monitor Source Audio if No Sync and Signal Present"
in the Event Log Input Menu. When scanning only digital voice channels,
FMPx should be linked to DSD+. When scanning a mix of analog and digital
voice channels, FMPx should be linked to DSD+ and "Monitor Source Audio if
No Sync and Signal Present" (mode #1) should be selected in the Event Log
Input menu.

Each time FMPx stops on an active .ScanList frequency entry, the closest
match found in the licensing .csv file(s) based on your coordinates in
FMPx.cfg is passed to DSD+ and DSD+ will display the license information in
the Event Log window, as well as write it to the event log file.

DSD+ SITE LOADER

For convenience, there is a way to save a list of trunking systems and/or


conventional frequencies that can be selected from a list for monitoring.
This saves time and effort from having to manually tune around and finding
a control channel or conventional frequency you want to monitor. Open the
file called "DSDPlus.siteLoader" and add lines with the following syntax as
an example:

Each line can be a trunking system or a single conventional frequency.


Trunked site entries should have the following on each line:
CanesFan95
Page 51

protocol, networkID, siteNumber, "site name"

For TIIIStd and TIIInonStd, add TIII model code (T/S/L/H) before networkID
For TIIIStd, siteNumber format = area.site
For TIIInonStd, siteNumber format = site

Conventional channel entries should have the following on each line:

Conventional, pseudoNID, pseudoSiteNumber, "frequencyInMHZ protocol


channelName"

Notice how the frequency, protocol, and channelName must all be inside
double-quotes. (Note: "Conventional" can be shortened to "Conv".)
Recognized conventional channel protocol names are:

Analog (NFM analog)


FM (NFM analog)
AM (AM analog not supported by FMPA or FMPP)
D-Star
Fusion
NXDN48
NXDN96
DMR
DCDM
dPMR
ProVoice
IDAS

After editing, save the DSDPlus.siteLoader file and close it. Then run the
1R.bat and FMPx-CC.bat. On the Event Log menus, go to Control > Open
Network/Site Loader Window:

There are no keyboard commands available, only the mouse will work. Longer
lists will have a scrollbar allowing you scroll. Double-click on the system
or frequency you wish to monitor and DSD+ Fast Lane will find the control
channel or conventional frequency to start decoding and monitoring. After
making a selection, the Network/Site Loader Window closes.

Trunked site entries can be copied directly from your DSDPlus.sites file.
Frequency data for P25 trunked sites must be present in the DSDPlus.P25data
file. (Manually tune to P25 control channels the first time to auto-build
CanesFan95
Page 52

the DSDPlus.P25data file. This is how DSD+ Fast Lanes knows what frequencies
to scan to find the control channel.) Frequency data for non-P25 trunked
sites must be present in the DSDPlus.frequencies file. (This data has to be
manually added to the DSDPlus.frequencies file.) Frequency data for
conventional channels must be present in every conventional channel entry in
this file. However, conventional channel data does not have to be added to
any other DSD+ data file. Data for any site or channel can be present more
than once, i.e. favorite / frequently monitored channels/sites could be
duplicated at the top of the list.

The Event Log Control menu has dwell time settings for DSD+'s supported
trunking protocols:

After selecting a trunking system from the Site Loader window, this is the
amount of time DSD+ will wait as it scans on each RF frequency in
DSDPlus.frequencies or DSDPlus.P25data to determine whether or not it has
found the control channel.

The Control menu also has startup options for when you start the next session:

CanesFan95
Page 53

DSD+ can be configured to either load the trunking site that was being
monitored when DSD+ was shut down or to load a specific trunking site. DSD+
must be running in CC Monitor mode or Combined CC/VC Monitor mode and for
non-P25 systems, site channel data has to be present in the
DSDPlus.frequencies file. An active direct or TCP link to FMPA/FMPP/FMP24
is also required. If site auto-loading fails, check channel records in
DSDPlus.frequencies or DSDPlus.P25data. Separate instances of DSD+ can be
configured to auto-load different sites. Use the -F<num> command line option
to differentiate running DSD+ instances (explained in next section).

To load a specific trunking site, select Load Specified Trunking System:.


This will un-grey the remaining choices which will let you enter specific
parameters via pop-prompts:

USING A 2-DONGLE SETUP

With only 1 dongle, the dongle bounces back-and-forth between the control /
rest channel and voice channels. However, using 2 dongles will have one
dedicated dongle always tuned to the control / rest channel while the other

CanesFan95
Page 54

dongle is used to listen to voice calls. This allows continuous


uninterrupted viewing and logging of the system control channel activity
while listening to a voice call at the same time. Another benefit is full
use of the priority feature by assigning higher or lower priority values to
each talk group ID in DSDPlus.groups. If a TG with a higher priority suddenly
becomes active while listening to a lower priority TG, you will automatically
be bumped to the higher priority TG for listening. This is possible with a
2-dongle setup because the first dongle is always decoding the control
channel to realize when a higher priority TG suddenly becomes active.

To run 2 dongles, you will run 2 instances of FMPx.exe and 2 instances of


DSDPlus.exe. If using Airspy dongles, you must enter the serial numbers in
the FMPA.cfg file separated by a space like so:

The first serial number on the left is Airspy device #1 and the next one is
Airspy device #2. Similarly, SDRPlay RSP2s should have their serials added
to FMPP.cfg. You can obtain the serial numbers by running FMPA.exe/FMPP.exe
and looking at the console window:

CanesFan95
Page 55

RTL-SDR dongles do not need their serial numbers saved in a .cfg file. It
is OK if the 2 RTL-SDR dongles have the same serial number.

Do this for both AirSpy / RSP2 dongles to obtain both serial numbers. To
monitor a single trunking site with two SDR devices, run the CC.bat file and
the VC.bat file to start two copies of DSD+ (control channel and voice
channel, respectively), then run the appropriate FMPx-CC.bat and FMPx-VC.bat
files to start two copies of FMPx. CC DSD+ and CC FMPx will be used to
monitor control/rest channels while the VC copies of DSD+ and FMPx will
follow voice/data calls.

A lot of windows will open, twice as many as before. Take note of which
windows are the control/rest channel role and which are the voice channel
role by observing either VC or CC on the title bars:

CanesFan95
Page 56

However, the spectrum display on the control/rest channel role will show
either "PM" or "FM" instead of "CC":

CanesFan95
Page 57

The VC instance of FMPx.exe (the spectrum display) will be blank if there is


no active voice call being monitored. It is recommended to minimize the VC
instances and only watch the CC instances, since the CC ones show more
information including which voice call you're listening to. Minimize and/or
move the window positions around as desired and try tuning the PM (CC)
instance of FMPx.exe around to find new control / rest channels.

CC copies of DSD+ will auto-mute (no digital voice synthesis) if a VC copy


of FMPx is responding to tuning commands that the CC copy of DSD+ generates.
This feature is designed to keep the CC copy of DSD+ muted when voice data
is decoded on a NEXEDGE composite control channel or on a DMR channel that
is also hosting a control or rest channel. CC DSD+ will disable auto muting
each time FMPx is manually tuned (by the user) or tunes to a .ScanList entry.
This allows users to tune the CC copy of FMPx to voice or control/rest
channels and hear traffic either way.

Instead of using 2 dongles to monitor 1 trunking system, you may also monitor
2 different trunking systems (or conventional frequencies) at the same time.
Each dongle will be used as a 1-dongle setup independent from the other
dongle. First, run the 1R.bat file to start DSDPlus.exe, then run the
appropriate batch file for your device:

DVB-T dongle: FMP24-CC.bat


Airspy: FMPA-CC.bat
SDRPlay: FMPP-CC.bat

Lower the gain setting(s) and tune to a desired frequency/control channel.


Then run 1Ra.bat to start a second instance of DSDPlus.exe and then double-
CanesFan95
Page 58

click on the appropriate FMPx-VC.bat to open a second instance of FMPx.exe.


To manually tune VC FMPx, press Esc once to take FMPx out of VC mode. If
the spectrum display is blank and shows Idle in the title bar, press s or S
(not case sensitive) to wake it up and put it into scanner mode to activate
tuning. Then hit Esc to take it back out of scanner mode to allow for manual
tuning.

The Event Log Control menu has 4 selections related to trunktracking:

Passive Digital Monitor – suspends voice call following/trunktracking. The


dongle will stay on the control/rest channel. Use this for an alternative
audio source such as a discriminator-tapped scanner or another SDR tuning
application like SDR#. This is also useful for when you want to the dongle
to stay put on a control/rest channel without hopping around to different
frequencies.

CC Monitor (1 of 2) – Mainly for use with a 2-dongle setup to trunktrack 1


system, tells the current DSD+ instance to act only as the control/rest
channel decoder role.

CC Monitor (2 of 2) – Mainly for use with a 2-dongle setup to trunktrack 1


system, tells the current DSD+ instance to act only as the voice channel
decoder role.

Combined CC/VC Monitor – Mainly for use with a single-dongle setup, enables
trunktracking where the dongle will hop back-and-forth between control/rest
channel frequencies and voice call frequencies for listening to talk groups.

Separate instances of DSD+ can be configured to auto-load different sites.


Use the -F<num> command line option to differentiate running DSD+ instances
(command lines explained more later). When this parameter is used, DSD+
modifies the names of its output files in order to avoid name collisions
with other copies of DSD+. The affected files are DSDPlus.wav and
DSDPlus.event. The per-call record folder's name is also modified.

Use this feature if you want multiple copies of DSD+ to share the same
networks, sites, groups, radios and frequencies files. This feature should
allow you to simultaneously monitor multiple control channels (sites) of a
network with all group and radio data being stored in the DSDPlus.groups and
DSDPlus.radios files. The sites can be part of a single network or multiple
networks. Multiple protocols can be simultaneously monitored. This feature
will not allow you to follow control/rest/voice channel changes on multiple
CanesFan95
Page 59

sites. Upgrades to FMPA and FMP24 will be required to support that. At


present, you must use separate DSD+ installations (folders) to trunk track
multiple sites or systems.

LOCATION REQUEST & RESPONSE PROTOCOL (LRRP)

Transmitters may send data via the Location Request & Response Protocol
(LRRP) which is decoded by DSD+ in the Event Log. For example, a subscriber
radio may send its GPS coordinates, speed, and direction of travel like in
the example below.

In the Event Log Misc menu, make sure either Show All Traffic and Background
Events or Hide Group/Radio/Load Save Messages is selected. For a 2-dongle
setup, you may need to watch the VC instance to see LRRP data. Rows of LRRP
data are automatically saved in the DSDPlus.LRRP file. Running LRRP.EXE
reads DSDPlus.LRRP in real-time and plots the data on a map:

CanesFan95
Page 60

While DSD+ is running, double-click on LRRP.EXE. A console window and a map


window will open with the data points plotted on the map. Resize the map by
hovering your mouse pointer over the lower right corner until a grey/yellow
box appears. Then left click and drag as desired. You may adjust the font
size by right/left clicking over the grey/yellow box. LRRP remembers its
window location, dimensions, and text size. Use the hotkeys + and – to zoom
in or out (the mouse wheel does not work). Type a ? to toggle a list of
hotkeys on/off (hitting Esc exits LRRP.EXE):

CanesFan95
Page 61

There is also a LRRP.cfg configuration file with a few settings you may edit.
However, using hotkeys and the mouse during a session will automatically
update LRRP.cfg. As you drag and pan around the map and zoom in or out,
DSD+ downloads map tiles from the internet which are saved in the Singles
folder for faster loading or offline use later. If a map tile is unavailable,
the tile image is generated from higher level tiles. Pressing b or B (not
case-sensitive) moves the LRRP map display to the background (i.e. behind
all other visible windows). LRRP.exe remains in focus, which lets you
manipulate the map while other windows (DSD+. FMP24/FMPA) are visible in the
foreground.

CanesFan95
Page 62

The values in DSDPlus.LRRP from left-to-right are Datestamp, timestamp, radio


ID, coordinates, speed in units per hour (you choose mi or km), and direction
of travel in degrees:

However, there can be other kinds of LRRP data that aren't GPS-related, such
as Automatic Registration Service (ARS). The DSDPlus.LRRP file is appended
whenever LRRP data is decoded. The left and right bracket hotkeys [ ] adjust
the age of how far back in time data points will be shown on the map, as
shown in the title bar. For example, you may press ] repeatedly to decrease
the max age so that only data points from the last few hours are shown on
the map. All other rows in DSDPlus.LRRP older than your max age setting
will be ignored. DSD+ / FMPx do not need to be running to use LRRP.EXE.
You can run LRRP.EXE by itself and if there's data in DSDPlus.LRRP, it will
be mapped. Similar to other data files mentioned above, DSD+ checks for
UTF-8 space characters in the DSDPlus.LRRP file.

Decoding of NEXEDGE Automatic Vehicle Location (AVL) is supported.


Talkgroups that are used for data calls should have their priorities set
very high (i.e. in the 1 to 10 range). Voice talkgroups should use lower
priorities (11 to 99). DSD+ will briefly interrupt voice calls to acquire
AVL data. Use HIGH or HOLD priority on voice talkgroups that should not be
preempted by AVL updates. AVL data is written to DSDPlus.LRRP to be viewed
with LRRP.exe.

SPECTRUM SURVEY

You can run a survey to see a live moving 3D graph of RF activity across a
2.4 MHz width of band spectrum:

CanesFan95
Page 63

The front horizontal axis is the desired frequency range. In this example,
460.0000 showing in the title bar is the center frequency in the middle of
the graph. So the left edge is 458.8000 MHz (-1.2 MHz from the center) and
the right edge is 461.2000 MHz (+1.2 MHz from the center), for a total of
2.4 MHz worth of spectrum. The vertical spikes are instances of an emitted
RF transmission. As time goes by, the older transmissions (or continuous
carries) scroll toward the back. Newer transmissions start at the front
edge. The taller and brighter the spike, the stronger the RF signal.

Surveys can be run on an RTL-SDR dongle, but are not supported on Airspy.
Open Survey.cfg and enter your desired settings. This will look similar to
FMP24.cfg. For fastest operation, FFT size should be set to 16 in FMP24.cfg.
To enter what frequencies you want surveyed, open FMP24.SurveyList and follow
the examples in the file. The frequencies you enter will be the center
frequency which will show a spectrum +/- 1.2 MHz from that frequency.
Typically, centers are multiples of 1 MHz and spaced 2 MHz apart, for example:
770, 772, 774. Chunks do not have to be contiguous. For example: 451, 453,
455, 461, 463, 465. Lines after <EOF> are ignored. Save and close
MP24.SurveyList.

Double-click directly on FMP24.exe to begin tuning (caution: you will hear


a loud noise floor). Lower the gain and then type y or Y to begin running
the survey (not case-sensitive). Non-editable .survey files will be
automatically generated and written to by FMP24.exe (example:
460.000000.survey). Now double-click on Survey.exe and the live 3D graph
with a second spectrum display window will open. Survey.exe will read the
data in the .survey files in real-time and the 3D graph will move. The
second spectrum display window shows the peak and average levels for a 2.4
MHz chunk of spectrum. The white spikes are the peaks and the yellow waves
are the averages. You should also see licensing data by hovering your mouse
pointer with the red line (however, you cannot click to tune).

On the Survey.exe console window, type a question mark ? to see a list of


hotkeys:

To cycle through your list of center frequencies that you entered in


FMP24.SurveyList (also known as spectrum blocks), press the left or right
arrow keys. For example, if you entered, 460, 462, and 464, pressing left
or right will cycle through each one and that is the center frequency that
CanesFan95
Page 64

will be displayed, +/- 1.2 MHz on each side. As the red mouse line is moved
across the second spectrum display, the corresponding frequency in the 3D
graph is highlighted grey. Press i or I (not case sensitive) to isolate the
highlighted spectrum if it is hidden behind stronger signals. While hovering
the mouse pointer with the red line, press PageUp/PageDown to move the mouse
in fine increments. This makes it easier to place the red mouse line on
carrier centers to trigger the license information display. Press Esc to
exit Survey.exe. You may also press Esc to exit survey mode on FMP24.exe
and return it back to normal tuning. To delete old survey data, delete all
.survey files.

INTRODUCTION TO COMMAND LINE ARGUMENTS

Rather than repeatedly having to re-type the same hotkey keyboard shortcuts
everytime, you may opt to enter command line arguments in a .bat file like
so:

FMP24.exe -g29.7 -b12.5 -f162.55

This example will run FMP24.exe dropping the gain down to 29.7, setting the
bandwidth to 12.5 kHz, and tuning the dongle to the weather frequency of
162.55000 MHz. Then you may simply double-click the .bat file to run FMPx
with your desired settings. For example:

Command line arguments may also be entered in a command prompt window:

For an Airspy, the syntax for the 3 gains is -L9 -M9 -V9, like so:

FMPA.exe -L9 -M9 -V9 -b12.5 -f162.55

It is recommended to keep the included .bat files that come with DSD+ intact
and do not edit them. Instead, create your own custom .bat files separately.

CanesFan95
Page 65

For example, you may opt to write a .bat file to automatically run FMPx.exe
and MP-Map.EXE at the same time. This will require some additional syntax
with straight double-quotes on each line like so:

START CMD /c "FMPA.exe -L8 -M8 -V8 -b12.5 -f461"


START CMD /c "FMP-Map.exe"

To use FMPx and DSDPlus.exe together, there is some additional syntax needed
to input the signal being received from FMPx.exe into DSDPlus.exe for
decoding. You can do this using direct FMPx linking with a numeric value
(called a link ID) from 256-65535, such as 20001 in the example below. You
also need to tell FMPx.exe to output its signal into DSDPlus.exe. Entering
the following syntax into a .bat file will accomplish this (use whatever
starting frequency with -f you prefer):

START CMD /c "FMP24.exe -g29.7 -b12.5 -f768 -o20001"


START CMD /c "DSDPlus.exe -i20001"

-o20001 tells FMP24.exe to feed its raw audio signal output to link ID 20001.
-i20001 tells DSDPlus.exe to decode the raw audio coming in from link ID
20001.

(For an AirSpy, change it to FMPA.exe and use -L8 -M8 -V8 for the gains
instead of -g29.7.)

Here's an example of a 2-dongle Airspy setup to initiate trunktracking:

CanesFan95
Page 66

START CMD /c "FMPA -rc -i1 -o20001"


START CMD /c "FMPA -rv -i2 -o20002"
START CMD /c "DSDPlus -rc -i20001"
START CMD /c "DSDPlus -rv -i20002"

-i1 and -i2 indicate the Airspy device number based on the serial numbers
entered in FMPA.cfg. -rc tells Airspy device #1 to take on the control/rest
channel role and -rv tells Airspy device # to take on the voice channel role.
A second link ID of 20002 is used to accommodate the 2 dongles. The link
IDs should be consistent with the role commands.

For FMP24.exe, the -i command can be used directly with a serial number to
target a specific dongle. Dongle serial strings can be any alphanumeric
string up to 8 characters long.

To obtain a list of available command line arguments and active hotkeys for
DSDPlus.exe, open a command prompt window and enter the -h argument like so:

DSDPlus.exe -h

CanesFan95
Page 67

Pressing any key will scroll more options on the screen. Use a similar
syntax for FMPx:

FMP24.exe -h

To export the list to a file, use something like:

FMP24.exe -h >FMP24_Help.txt

For historical purposes, the help files are listed here:

DSD+ 2.465

Usage:
DSDPlus [options] Decode from audio stream
DSDPlus [options] ? file Decode from .wav file
DSDPlus -h Show help

Options ( [...] = initial default value; overridden by menu selections):

Logging options:
>file Create log file
CanesFan95
Page 68

>>file Append to log file


-t Time stamp console log file entries
-T Time stamp console log file entries and console screen data
-E Add frequency/NAC/RAN/DCC/RAS data to event log file entries
-F<num> Filename modifier; use to avoid filename collisions [F0]

Input/Output options:
-i<spec> Input audio device (1-255) and channel (M/L/R)
-i<linkID> FMPA/FMPP/FMP24 direct link ID (256-65535) [20001]
-iT<[addr:]port> FMPA/FMPP/FMP24 TCP link IPv4 address and port number
(256-65535)

-o<spec> Output audio device (1-255; 0=none) and channel (M/L/R) [-o1]
in/out channels are optional; default=in:mono, out:mode
based

-Och <file> Output audio file channel count and name/type [-O DSDPlus.wav]
ch: M=mono,S=stereo,blank=auto; file: .wav or .mp3
(NUL=none)

-I<num> Create new wav/mp3 file every <num> minutes (1440=daily) [-


I0]

Decoder options:
-r1 role is single-receiver control/rest/traffic channel decoder
[-r1]
-rc role is dedicated control/rest channel decoder
-rv role is dedicated voice channel decoder
-rp role is passive digital decoder

-fa Auto-detect all protocols / frame types except dPMR [-fa]


-fd Decode D-STAR
-ff Decode Fusion
-fn Decode NXDN4800 (Kenwood NEXEDGE and Icom IDAS)
-fN Decode NXDN9600 (Kenwood NEXEDGE)
-fr Decode DMR/MotoTRBO (TDMA inputs + both output slots)
-f1 Decode P25 Phase 1 and Phase 2
-fx Decode X2-TDMA
-fp Decode ProVoice
-fm Enable dPMR

Advanced decoder options:

-ds<num> Scaling factor (55-75; not used with D-Star or ProVoice) [-


ds64]
-dd<num> Damping level (1-100; not used with D-Star or ProVoice) [-
dd10]
-dv<num> Viewport size (1-30; not used with D-Star or ProVoice) [-dv20]

CanesFan95
Page 69

Active keys:
? Display active keys list in event log window
^/v Adjust synthesized audio volume level
| Toggle symbol phase display
D Discard current system information
R Start/stop recording of raw source audio to wav file
Spacebar Hold on current call / Release hold
Esc End program

Source Audio Window:


Right click Pause/unpause source audio waveform display

Channel Activity Window:


Left click on priority Increase traffic priority
Right click on priority Decrease traffic priority
Left click on target Increase priority override
Right click on target Decrease priority override
Left click on headings Clear all lockouts
Right click on headings Clear hold
------------------------------------------
FMP24 2.86

Usage:
FMP24 [options] Normal operation
FMP24 -h Show help

Options:
-i0 Use first available RTL SDR device [-i0]
-i<num> Use RTL SDR device specified by <num> (1-255)
-i"<ser>" Use RTL SDR device with specified serial number string
-o<num> Output audio device (1-255) [-o1]
-o<linkID> Output audio DSD+ Link ID (256-65535)
-oT<port> Output audio TCP port (256-65535)
-g<num> RF gain (dB) [max]
-T<num> Enable/disable bias tee (0-1) [-T0]
-P<num> Frequency correction PPM value (-999.9-999.9) [-P0.0]
-a<num> Enable/disable auto center tuning (0-1) [-a1]
-q<num> Enable/disable squelch logic (0-1) [-q0]
-f<MHz> Initial tuned frequency [-f99.9]
-b<kHz> Initial RF filter bandwidth (4, 7, 9.5, 12.5, 22) [-b7]
-b-<kHz> Set initial RF filter bandwidth and ignore hints from DSD+
-t<num> Initial RF filter set (standard or tight) [-t0]
-u<num> Enable/disable unlicensed spectrum display (0-1) [-u0] (When
this mode is enabled, white RF spikes within the spectrum
display that do not have an entry in the frequency data .csv
files will blink in the FMP24 spectrum display window.)
-z<num> Show zoomed spectrum (0-1) [-z1]
-n<num> Select noise filter (0-2) [-n0]
-v<num> Set volume level (0-500) [-v100]

CanesFan95
Page 70

-s<num> Enable/disable scanner mode (0-1) [-s0]


-e<num> Enable/disable extra CPU load to reduce I/Q dropouts [-e2]
-y<num> Select spectrum survey list file (0-999) [-y0]
-wsl<v>.<h> Spectrum window location [-wsl50.50]
-_<num> Minimize windows at startup; bitmapped
-rc Role is trunk control/rest channel monitor
-rv Role is trunk voice channel monitor

Active keys:
0-9 . Enter set frequency
[/] select step size
Cursor </> step frequency
Ctrl Csr </> step frequency by 250 Hz

A toggle auto center tuning


D cycle audio demodulation mode
Q toggle squelch mode
U toggle unlicensed spectrum display mode
M toggle spectrum memory overlay
X reset spectrum memory
Z toggle spectrum zoom overlay
I select injection mode
b/B select RF bandpass filter
T select tight or standard RF bandpass filter set
t enable/disable bias tee
N select noise filter
L toggle lost I/Q data test mode
E toggle extra CPU load to reduce I/Q dropouts
Cursor ^/v adjust volume level
spacebar toggle muting

g/G adjust RF gain


p/P adjust PPM frequency correction

R toggle raw I/Q and FM demod recording

S start scanner mode or exit hold mode


Y start spectrum survey
C start trunk control/rest channel following mode
V start trunk voice channel following mode

? list active keys


Esc exit scanner/survey/CC/VC modes or exit program

Left click on spectrum: retune


------------------------------------------
FMPA 2.46

Usage:

CanesFan95
Page 71

FMPA [options] Normal operation


FMPA -h Show help

Options:
-i<num> Airspy / Airspy Mini device number (1-255) [-i1]
-o<num> Output audio device (1-255) [-o1]
-o<linkID> Output audio DSD+ Link ID (256-65535)
-oT<port> Output audio TCP port (256-65535)
-L<num> LNA gain (0-15) [-L15]
-M<num> Mixer gain (0-15) [-M15]
-V<num> VGA gain (0-15) [-V10]
-T<num> Enable/disable bias tee (0-1) [-T0]
-f<MHz> Initial tuned frequency [-f99.9]
-b<kHz> Initial filter bandwidth (4, 7.6, 9.5, 12.5, 22) [-b7]
-u<num> Enable/disable unlicensed spectrum display (0-1) [-u0] (When
this mode is enabled, white RF spikes within the spectrum
display that do not have an entry in the frequency data .cvs
files will blink in the FMPA spectrum display window.)
-z<num> Show zoomed spectrum (0-1) [-z1]
-n<num> Select noise filter (0-2) [-n0]
-v<num> Set volume level (0-500) [-v100]
-s<num> Enable/disable scanner mode (0-1) [-s0]
-wsl<v>.<h> Spectrum window location [-wsl50.50]
-_<num> Minimize windows at startup; bitmapped
-rc Role is trunk control/rest channel monitor
-rv Role is trunk voice channel monitor

Active keys:
0-9 . Enter set frequency
[/] select step size
Cursor </> step frequency
Ctrl Csr </> step frequency by 250 Hz

U toggle unlicensed spectrum display mode


M toggle spectrum memory overlay
X reset spectrum memory
Z toggle spectrum zoom overlay
I select injection mode
b/B select bandpass filter
F select noise filter
T enable/disable tight bandpass filtering
t enable/disable bias tee
Cursor ^/v adjust volume level
spacebar toggle muting

j/J adjust LNA gain


k/K adjust mixer gain
l/L adjust VGA gain

CanesFan95
Page 72

R toggle raw I/Q and FM demod recording

S start scanner mode or exit hold mode


C start trunk control/rest channel following mode
V start trunk voice channel following mode

? list active keys


Esc exit scanner/CC/VC modes or exit program

Left click on spectrum: retune

AUTO CENTER TUNING AND PARTS-PER-MILLION (PPM) CORRECTION

SDR dongles often aren't exactly on frequency and require fine-tuning


corrections for proper tuning. Dongles may also drift as they warm up in
the first 5 or 10 minutes of use. FMPx.exe has an auto center tuning feature
that attempts to compensate for this to help ensure the most accurate on-
frequency tuning. When you start FMP24.exe, auto-tune is on by default and
will show a + or – number in Hz in the title bar indicating that the dongle
is a little bit off the tuned frequency and FMP24.exe is automatically
correcting it. For example, this dongle is showing as being off by +700 Hz:

However, auto-tuning takes a moment to work which may result in voice calls
not being clearly decoded at first. Auto center tuning will auto-tune to RF
signals that are up to:

[(signal width + bandpass filter passband width)/2]

away from current the tuning point. For example, with ~12 kHz P25 signal
and a 12.5 kHz bandpass filter selected, FMP24 will acquire the signal up to
~12 kHz off-center (a 27 PPM error @ 450 MHz) and retune. Auto centering
works with all analog and digital signals.

Auto center tuning can be enabled/disabled on the FMP24 command line with -
a0 to disable, -a1 to enable. Auto center tuning can be enabled/disabled
while FMP24 is running by pressing a / A (not case-sensitive). Accurate PSK
decoding requires very accurate tuning. When FMP24 detects P25 PSK
modulation, auto center tuning is always enabled.

Another corrective option is to adjust the PPM setting by pressing P or p to


increase or decrease the amount of PPM correction, which is shown in the
title bar. In this example, Corr: -1.2 indicates a PPM of -1.2 has been
applied. If PPM is adjusted to 0.0, Corr: is not shown.

CanesFan95
Page 73

You may also use a command line argument such as -P-1.2 or -P2.0 with
FMP24.exe. PPM values are based on a formula and are not the same as Hz.
Often, only a small correction is needed such as +/- 1.0 – 3.0. To find the
optimal setting, press p/P to obtain the lowest stable auto centering +/-
value in Hz. The closer to zero -0-, the better. Adding PPM may not work
instantaneously. As you press p/P, you may have to wait a while and watch
the auto centering +/- number in Hz gradually change to find the best PPM
value. Which band you're on (800 MHz versus VHF or UHF) may affect what PPM
setting is best. If using an Airspy, auto-centering cannot be disabled and
PPM correction is not supported.

Another available adjustment is in the Event Log Decoder menu called AMBE
Unvoiced Audio Level and IMBE Unvoiced Audio Level. Lower levels reduce
"underwater" sounds. You may also enable extra CPU loading to stop I/Q
stream dropouts (I/Q = "in-phase" and "quadrature") by pressing e or E (not
case-sensitive) to cycle through the following options:

 0 Extra CPU loading disabled. FMP24 will report I/Q stream dropouts in
console window
 1 Extra CPU loading enabled.
 2 Automatic enabling of extra CPU loading if I/Q stream dropouts are
detected. This is the default.

You may also use -e on an FMP24.exe command line to enable CPU loading (-
e0, -e1, -e2).

To test I/Q dropout rates, run FMP24.exe alone on an idle PC (close all other
programs). Press l or L (not case-sensitive) to start I/Q dropout test. If
FMP24 reports a high error rate (i.e. more than few dropouts per minute),
press l or L to stop the test, then press E to toggle CPU loading, then press
L to start a new test. If extra loading causes I/Q dropouts to cease or be
greatly reduced, you should always enable CPU loading when using FMP24.
Reduce CPU clock rate to limit battery drain / heating when enabling CPU
loading. If multiple copies of FMP24 are in use, only one copy should need
CPU loading. Choose a copy that is always demodulating signals (i.e. a 1R
or CC copy). FMP24 uses modified spectrum display colors when CPU loading
is enabled. Extra CPU loading and I/Q dropout rate tests are not supported
on Airspy.

ADVANCED DECODER OPTIONS

The following command line argument values can be tweaked to further improve
signal decode, which ultimately culminates in a decode score. The higher
the score, the better.

-ds<num> Scaling factor (55-75; not used with D-Star or ProVoice) [-ds64]
-dd<num> Damping level (1-100; not used with D-Star or ProVoice) [-dd10]
-dv<num> Viewport size (1-30; not used with D-Star or ProVoice) [-dv20]

CanesFan95
Page 74

These settings are more beneficial for weaker signals, if there's a high
number of decode errors scrolling in the DSD+ console window, or if there's
RF interference. Using advanced decoder options on strong signals with few
errors may make little or no difference.

The optimal values must be determined specifically for the SDR device,
protocol, trunking/conventional system, etc. Different systems, protocols,
receivers, and PC sound devices require unique fine-tuning values.
Determining the best value for each argument is an iterative, repetitive
process by manually trying out different values to obtain the highest decode
score. But before doing so, a raw source audio recording of 30-60 seconds
is required. Go ahead and start a DSD+/FMPx session and press r or R (not
case-sensitive) to obtain a raw source audio recording (more details about
recordings described later). Recordings of voice, control channel, or rest
channels are all useable.

Consider re-naming the file to something shorter for convenience. To speed


up the tuning process, audio synthesis should be disabled and the protocol
should be locked correctly. Now you’re ready to run DSDPlus.exe to see your
score.

There is command line syntax that can be run with DSDPlus.exe on the recording
to determine your decode score which should be initiated in a command prompt
window. This is because running it in a .bat file will result in the console
window abruptly closing before you have a chance to see the score. From a
command prompt, run:

DSDPlus -o0 -O NUL -f1 ? rawAudio.wav

Replace "rawAudio.wav" with the name of your particular .wav file. In this
example, -f1 locks the protocol by telling DSD+ to decode P25 Phase I or II.
If your recording is of another protocol, replace -f1 with:

-fd Decode D-STAR


-ff Decode Fusion
-fn Decode NXDN4800 (Kenwood NEXEDGE and Icom IDAS)
-fN Decode NXDN9600 (Kenwood NEXEDGE)
-fr Decode DMR/MotoTRBO (TDMA inputs + both output slots)
-f1 Decode P25 Phase 1 and Phase 2
-fx Decode X2-TDMA
-fp Decode ProVoice
-fm Enable dPMR

DSD+ will rapidly playback the session at an accelerated speed and conclude
with the score. Make a note of the score and press the up arrow to recall
the command line. Then add -ds55 and re-run it to see what score you get:

CanesFan95
Page 75

Then up-arrow again and try -ds60 and repeat this up through -ds75 in
increments of 5. Make a note of which -ds value results in the highest
score. Then leave the -ds argument with the best value and add -dd5 next
and repeat the process is increments of 5:

The last option -dv will probably make no difference, but you may opt to do
a similar test with a range of 1-30 (you do not have to try every value for
a tuning parameter, other increments are fine):

The recommended order for adjusting tuning parameters is:

1: Scaling factor (-ds)


2: Damping level (-dd)
3: Viewport size (-dv)

Scaling and Damping settings do not affect D-Star or ProVoice, so there's no


need to tweak them for those protocols. Check your tuning by re-enabling
voice synthesis and see how it sounds:

DSDPlus -f1 -dr# -dh# -ds# -dd# -dv# ? rawAudio.wav

Once you have optimized the values for the highest score, make a note of
this and save the results. Consider creating a .bat file for just that
particular system/frequency and device. Then to monitor a specific system,
run its batch file. If you scan multiple systems and protocols with a single
receiver, you can run multiple copies of DSDPlus in parallel with each one
protocol-locked and fine-tuned as required. Each copy of the program
should write synthesized audio to separate files.

When P25 PSK modulation is detected, FMPx and DSD+ stop using FM
demodulation. DSD+ generates a pseudo-C4FM audio waveform and displays it
in the source audio waveform window.

CanesFan95
Page 76

The pseudo-C4FM audio waveform can be recorded by pressing 'R' in DSD+


(recording features explained later). No advanced decoder options are
required for best decoding of P25 PSK signals. these options (-ds<num>, -
dd<num>, -dv<num>) will have no effect on PSK decoding.

Instead of going through this trial-and-error process, there's a third-party


freeware called dsdtune.exe that will do this automatically in about 10-15
minutes and will just tell you the optimal values:

To download dsdtune.exe, go to:

https://github.com/dreinhold/dsdtune/releases

For the instructions, see:

https://wiki.radioreference.com/index.php/DSDTune

The Event Log Decoder menu has selections available to enter the 3 values
into a pop-up prompt with a slider:

CanesFan95
Page 77

Phase II decoding needs stronger signals than Phase I decoding. Airspy /


Airspy Mini plus FMPA is the best choice for decoding weak CC and VC signals.
If you have only one Airspy, use it for VC decoding. The bandwidth should
be set to 9.5 kHz or 12.5 kHz. If you see "Unhandled PDU" messages (Packet
Data Units) in the VC Event Log window, it means that the system is
broadcasting messages that DSD+ does not currently decode. The DSD+
developers will need raw VC recordings of these messages in order to add
support for them to DSD+

LOGGING

If using 1 dongle, DSD+ will automatically create a file called 1R-


DSDPlus.event that saves the data shown in the Event Log:

The 1R-DSDPlus.event file will be appended with each new session, separated
by a blank line:

CanesFan95
Page 78

Notice how your copy of DSD+ Fast lane is hard-coded to log your name and e-
mail address at the start of each session. If you wish to save another log
of what's in the console windows, an additional command line argument is
needed. You may use a single greater-than sign > to create a new log file
with each new session that will over-write and replace the previous session’s
file, or use 2 greater-than signs >> to create a file the first time and
then append to that file with each new session. You must create your own
desired filenames. An example is as follows:

START CMD /c "FMPA.exe -L8 -M8 -V8 -b12.5 -f768.33125 -o20001 >FMPA_Log.log"
START CMD /c "DSDPlus.exe -i20001 >DSD+_Log.log"

Running this .bat file will create 2 new files: FMPA_Log.log and
DSD+_Log.log with the data from both console windows saved. On the
DSDPlus.exe command line, use the -v argument to adjust the verbosity (amount
of information logged) to be reported in the console window from 0 – 4, with
4 being the most information being logged (for the FMPx.exe command line,
the -v command has a different function which adjusts the startup volume):

START CMD /c "FMP24.exe -g29.7 -b12.5 -f768 -o20001 >FMPA_Log.log"


START CMD /c "DSDPlus.exe -i20001 >DSD+_Log.log -v4"

(Verbosity levels may also be set in the Event Log Misc menu by selecting
Console Log Verbosity Level.) Note how the data from the Event Log window
is different than the console windows which are all separate log files. For
a 2-dongle setup, the following syntax is an example that will create 4 new
log files:

Instead of automatically creating the 1R-DSDPlus.event file as with a single


dongle, when 2 dongles are used, DSD+ creates 2 Event Log files:

CC-DSDPlus.event
VC-DSDPlus.event

CanesFan95
Page 79

Therefore, a total of 6 log files are created with a 2-dongle setup in this
example:

FMPA_CC_Trunking.log
FMPA_VC_Trunking.log
CC_Trunking.log
VC_Trunking.log
CC-DSDPlus.event
VC-DSDPlus.event

RECORDING

DSD+ Fast Lane automatically records voice calls and generates a .wav file
which is appended with additional voice calls every session. With a 1-
dongle setup, the file is called 1R-DSDPlus.wav. For a 2-dongle setup, the
file is VC-DSDPlus.wav. To disable this on a single-dongle setup, use the
command -O NUL on the DSDPlus.exe instance with a capital letter O like so:

For a 2-dongle setup, -O NUL is needed only on the instance of DSDPlus.exe


that is for voice calls (-rv):

Instead of voice calls all being crammed into a single audio file, Fast Lane
lets you enable per-call recordings, where each voice call has it's own
separate file. This will result in lots of separate audio files being
generated. Therefore, DSD+ automatically creates a separate folder just for
per-call voice recordings. You can decide if you prefer .mp3 or .wav files.
Older versions of DSD+ had a command line argument for this which was removed.
For a single dongle, enable this in the Event Log Output menu:

CanesFan95
Page 80

There are also options to add the TG and/or radio aliases in the filename
(which could make for a lengthy filename). A folder called 1R-Record is
created with more folders in it named after the date YYYYMMDD. For example,
the following folder name is for recordings saved on 6-16-2024:

Multiple files will be saved in the folder and each file name contains
information about the transmission. For example, the file name
"190531_018_P25_1E306.32D-1.1_GC_10279_4400114.wav" means:

Time of transmission 19:05:31 hours


Length of transmission 18 seconds
Mode P25
WACN 1E306 (hexadecimal)
System ID 32D (hexadecimal)
RFSS.Site # 1.1 (in decimal)
Group Call TGID 10279 (in decimal)
Subscriber radio ID 4400114 (in decimal).

CanesFan95
Page 81

For a 2-dongle setup, only enable per-call recordings via the voice call
(VC) instance and not the CC instance. The folder created by DSD+ will be
VC-Record instead of 1R-Record with the same naming conventions as with a
single dongle. DSD+ will retain your per-call recording settings for
subsequent sessions and the files will build up over time.

In addition to saving voice calls for playback, DSD+ also allows for
recording raw unfiltered audio files that can be used for virtual playback
of a monitoring session and/or for use by DSD+ developers for troubleshooting
or analyzing new protocols and potentially adding more features. DSD+ users
who identify software bugs or find new protocols/formats or other anomalies
may assist the DSD+ development team by submitting the raw audio files to
[email protected] with an explanation.

To initiate a raw audio recording during a session, go to the Event Log Input
menu and choose Start Source Audio Recording:

Instead of the Input menu, you can also start a raw recording by pressing r
or R (not case-sensitive) and then pressing r or R again to stop the recording
while your focus is on the Event Log or the Channel Activity window. The
Event Log title bar will show REC while recording. DSD+ does not retain
this setting after the current session is ended. You may also opt to enable
Only Record During Sync so that less dead air/noise floor audio between
transmissions will be recorded for shorter files. For a single dongle, DSD+

CanesFan95
Page 82

will create a .wav file in the same folder as DSDPlus.exe with a filename
like:

[email protected],

which includes the date and time 20:00:34. If you want to tell DSD+ to save
the .wav file somewhere else, choose Start Source Audio Recording As and
you'll be given a directory prompt to choose where to save the file. The
following is an example of how you can playback a raw audio recording with
the question mark ? command:

DSDPlus.exe ? [email protected]

For a 2-dongle setup, you can enable raw audio recordings for one or both
Event Log windows, CC and/or VC. The filenames will look something like:

[email protected]
[email protected]

When P25 PSK modulation is detected, FMPx and DSD+ stop using FM
demodulation. DSD+ generates a pseudo-C4FM audio waveform and displays it
in the source audio waveform window.

The pseudo-C4FM audio waveform can be recorded by pressing 'R' in DSD+. No


advanced decoder options are required for best decoding of P25 PSK signals.
these options (-ds<num>, -dd<num>, -dv<num>) will have no effect on PSK
decoding.

Another type of raw data recording file can be created by typing the hotkey
r or R (not case-sensitive) while viewing the spectrum display window. After
typing r or R, *** RECORDING *** will be displayed in the title bar and 2
new files will be created, one ending in .IQ and another ending in .FM.
These files can become large in size and may assist DSD+ developers with new
protocols or anomalies. You can playback a recorded session by creating a
.bat file with the following syntax using the .IQ filename:

CanesFan95
Page 83

START CMD /c "DSDPlus.exe -i20003 -o1"


START CMD /c "FMP24.exe -o20003 <[email protected]"

OTHER AUDIO INPUT SOURCES AND TCP LINKING

Instead of using FMPx to input audio to DSDPlus.exe, another source may be


used such as a discriminator tap on a scanner or another dongle tuning
application like SDR#. Run 1R.bat and go to the Event Log Control menu
and select Passive Digital Monitor. Then go under the input menu and
select the appropriate source such as a mic or line-in, or VB-Cable:

You will lose voice call following ability on trunking systems. Use of other
SDR software or a tapped receiver will not work well with weak P25 control
channel signals.

When using a dongle, you may link your dongle to DSDPlus.exe using
Transmission Control Protocol (TCP) linking instead of direct linking.
Direct linking is typically for when the dongle is connected to the same PC
that DSDPlus.exe will be running on. TCP linking is for when the dongle is
connected to a different PC on a network than the PC used to run DSDPlus.exe.
This could be because the RF coax line is in a different room or you want to
run DSDPlus remotely from a different site that has no available antenna.
The syntax is similar to direct FMPx linking with -o / -i, except that a
capital letter T is added and you must provide the IP/URL address and the
port number separated by a colon : like so:

FMPA.exe -oT20001 -L8 -M8 -V8 -b12.5


DSDPlus.exe -iT11.128.0.6:20001

The Event Log Input Menu also offers selections to enter link ID and TCP
addresses and ports:

CanesFan95
Page 84

Selecting Direct FMPx Link ID, FMPx TCP Address, or FMPx TCP Port gives a
pop-up prompt to enter the values:

MONITORING TRUNKED REPEATER & CONTROL CHANNEL INPUTS

There is an option to tune to trunked repeater inputs when following voice


or data calls. Performance on input frequencies may be improved by selecting
only a single protocol in the DSD+ Decoder menu. For non-P25, non-Direct
Frequency Assignment (DFA) systems, input frequencies will need to be added
to the relevant DSDPlus.frequencies file entries. For example:

Start up a DSD+ session and on the Event Log Control menu, select Tune To
Voice Call Repeater Inputs and/or Tune To Data Call Repeater Inputs.

To monitor a P25 control channel input, manually tune to the input frequency
(usually +30 MHz offset for 700 MHz, and -45 MHz for 800 MHz). On the Event

CanesFan95
Page 85

Log Decoder menu, select decode Inbound P25 CC and make sure only the Decode
P25 protocol is checked. All other protocols must be deselected. You will
see inbound traffic in a brighter green color:

Currently, only a limited set of Inbound Signaling Packets (ISPs) are fully
decoded. Decoding of additional ISPs will be added as users submit raw
source audio recordings of unhandled ISPs.

EVENT LOG SOURCE AUDIO MONITORING SETTINGS (INPUT MENU)

"No Source Audio Monitoring" (mode 0) means you will only hear digital audio
that DSD+ can decode. DSD+ will not unmute for anything else.

"Monitor Source Audio if No Sync and Signal Present" (mode 1) requires a


true flat audio source. If the signal is filtered, it will always unmute
the raw audio. Narrow RF bandpass filters will also not work well. Use 9.5
or 12.5 kHz bandpass filtering for best operation.

The word "Sync" here means when DSD+ detects that it's receiving a digital
signal that it can decode. "Source Audio" means listening to a raw RF radio
transmission with no digital decoding. So "Monitor Source Audio if No Sync
and Signal Present" tells DSD+ to let you hear the transmission if there is
any signal present and DSD+ does not detect a known digital mode that it can
decode. The other options are as follows (tuning to a control channel may
initiate trunktracking for all options):

"Monitor Source Audio If No Sync" (mode 2) enables monitoring if DSD+ is not


detecting known sync patterns. If there's no signal, you'll hear the noise
floor. If there's a digital voice call that DSD+ can decode, you'll hear
the digital voice call. If there's a digital signal that DSD+ can sync with
and decode (such as a control channel), you'll hear no audio and will see
system information or control channel activity. If there’s an
unrecognized/unsupported digital signal or analog, you'll hear the raw audio.

CanesFan95
Page 86

"Monitor Source Audio If No Digital Voice" (mode 3) enables monitoring if


DSD+ is not processing voice frames. If there's no signal at all, you'll
hear the noise floor. Analog signals will be heard. Digital voice signals
supported by DSD+ will be heard. If there's a digital signal that DSD+ can
sync with and decode (such as a control channel), you may hear the raw audio
(digital noise) and will see system information or control channel activity.

"Monitor Source Audio Always" (mode 4) lets you receive audio all the way
down to the noise floor with no squelch, whether there's a transmission or
not. Digital voice calls supported by DSD+ will be heard at the same time
as the raw digital noise.

The bandwidth setting may need to be adjusted for proper operation. However,
DSD+ automatically attempts to set the optimal bandwidth depending on the
type or mode of signal received.

AMATUER RADIO MISC MENU

Use to set a default DMR network ID and site number for amateur radio DMR
stations. When entering frequencies, avoid using the backspace key and use
the left arrow instead. Otherwise, your frequency entry will not take
properly. You should also ensure the MHz indicator is still there after
entering the frequency. Then simply X out to save the entry. It is
recommended to re-open the window to ensure the frequency entry took
properly.

At this time, it is currently unknown what this Amateur Radio functionality


is for or what it does.

UPDATING DSD+

You can manually check for updates via the Event Log Misc menu and/or you
may set DSD+ to automatically check for updates each time the application is
started. If an update is available, you will be prompted where to save the
.zip file. You will need your assigned password to unzip the contents.
Always make a backup copy of the current DSD+ folder before doing an update
CanesFan95
Page 87

and read the setup instructions in the new Notes.txt file before doing
anything. Then proceed to unzip the new files into your DSD+ folder and
allow the older files to be over-written. This may also be a good time to
replace your old .csv licensee files and amateur DMR radio IDs with new ones.

Each .exe application has a version number and in order for them to all work
together and talk to each other, the versions must all be compatible. If
these versions ever become out of sync with each other and aren't compatible,
they may not work properly. To correct this, you can Download Newest Base
Files via the Misc menu in the Event Log to make them all current. Again,
make a backup copy of the current DSD+ folder and read the new ReadMe.txt
file first. Then copy and paste the necessary base files (you likely won't
need all of them to correct the issue) to your DSD+ folder and allow the
older files to be over-written. The Misc menu also has options at the bottom
to Automatically Test Base Files at Startup and to run a test by selecting
Test Base Files Now.

From the Base Files ReadMe.txt:

DSDPlus Fast Lane Base Files


----------------------------

This archive contains the following:

Executables folder:

FMP24.exe RTL SDR tuner/demodulator


FMPA.exe Airspy tuner/demodulator
FMPP.exe SDRPlay tuner/demodulator
FMP-Map.exe shows locations of tuned signals; relies on FMPx .csv
license data files
LRRP.exe shows GPS location updates that have been decoded by
DSD+
Survey.exe shows results of FMP24 spectrum survey

It is safe to copy all of these files to your DSD+ folder at any time.

DLLs folder:

lame_enc.dll used by DSD+ to create .mp3 audio recordings


rtlsdr.dll standard version of rtlsdr.dll; supports R828D tuners,
supports bias tee control on V3 dongles
rtlsdr_FC0012.dll DLL known to properly support FC0012 tuners; to use,
rename to rtlsdr.dll
airspy.dll Airspy interface
sdrplay_api.dll SDRPlay interface for 32 bit programs
libfftw3f-3.dll fast FFT library; used by FMP24, FMPA and FMPP
libusb-1.0.dll USB device support
msvcr100.dll used by other DLLs

CanesFan95
Page 88

msvcr90.dll used by other DLLs


msvcrt.dll used by other DLLs
pthreadVCE2.dll used by other DLLs

It is safe to copy all of these files to your DSD+ folder at any time.

BatchFiles folder:

1R.bat run DSD+ in standalone mode for conventional and


trunking systems
1Ra.bat run a second instance of DSD+ in standalone mode for
conventional/trunking
CC.bat run DSD+ in control channel monitor mode
VC.bat run DSD+ in voice channel monitor mode
FMP24-CC.bat run FMP24; control first RTL SDR dongle
FMP24-VC.bat run FMP24; control second RTL SDR dongle
FMPA-CC.bat run FMPA; control first Airspy device
FMPA-VC.bat run FMPA; control second Airspy device
FMPP-CC.bat run FMPP; control first SDRPlay device
FMPP-VC.bat run FMPP; control second SDRPlay device

These files are provided as replacements for lost or damaged files and as a
reference for writing your own batch files. Do not copy any of them to your
DSD+ folder unless you have a good reason to do so.

ConfigurationFiles folder:

FMP24.cfg configuration file for FMP24.exe


FMPA.cfg configuration file for FMPA.exe
FMPP.cfg configuration file for FMPP.exe
LRRP.cfg configuration file for LRRP.exe
FMP-Map.cfg configuration file for FMP-Map.exe
Survey.cfg configuration file for Survey.exe

These files are provided as replacements for lost or damaged files. Do not
copy any of them to your DSD+ folder unless you have a good reason to do so.
Copying will destroy current configuration data!

DataFiles folder:

DSDPlus.networks DSD+ network data


DSDPlus.sites DSD+ site data
DSDPlus.frequencies DSD+ RF channel data
DSDPlus.groups DSD+ talkgroup data
DSDPlus.radios DSD+ radio/subscriber data
DSDPlus.P25data DSD+ P25 trunking systems data
DSDPlus.siteLoader DSD+ site loader feature data
FMP24.SurveyList spectrum survey control file for FMP24
FMP24.ScanList scan list file for FMP24

CanesFan95
Page 89

FMPA.ScanList scan list file for FMPA


FMPP.ScanList scan list file for FMPP

These files are provided as replacements for damaged or missing files. Do


not copy any of them to your DSD+ folder unless you have a good reason to do
so. Copying will destroy current data!

CHANGING SERIAL NUMBERS ON SDR-RTL DONGLES

RTL-SDR dongles may all have the same default serial number of 00000001.
For some situations, you may wish to change the serial number when using
multiple RTL-SDR dongles with FMP24.exe. For most DSD+ uses, this is likely
not necessary. But if there's a need to differentiate between multiple
dongles, there's a freeware called rtl_eeprom.exe that you can use to change
the serial number, which can be downloaded here:

https://ftp.osmocom.org/binaries/windows/rtl-sdr/

Scroll to the bottom of the list and download the most recent 64-bit version
onto your C:\ drive. Create a new folder on your C:\ drive and unzip all
the files into the folder, including the .dll's. Physically unplug one of
the dongles. Open a command prompt and navigate to the folder where you
unzipped the files. Then run the following command to change the serial
number from the default of 00000001 to 00000002:

rtl_eeprom.exe -s 00000002

Review the configuration information and enter y to make the change:

CanesFan95
Page 90

Now you must unplug the dongle and re-plug it back in for the change to take
effect. Plug in the other dongle so that they’re now both plugged in and
run rtl_test.exe at the command prompt to ensure the dongles are now 00000001
and 00000002:

Terminate the .exe from running by pressing Ctrl + c.


CanesFan95
Page 91

ADVICE FOR INTERNET FORUMS

When posting questions on internet forums, it is recommended to:

 Use an internet search engine and see if the question and a solution
have already been discussed. Internet search engines may work better
than in-forum searches.
 The forum site itself may automatically populate suggested similar
threads upon entering a thread title. Look at those.
 Do a Ctrl + F to search for keywords in this guide and the .txt files.
 State what version of DSD+ and what hardware devices you're using, as
well as other software applications being used.
 Provide a URL link from the RadioReference database to the
system/frequencies you're trying to monitor.
 Post screenshots of what you're looking at.
 Attach a recording for others to analyze/listen to.
 Paste your .bat file command lines that you're running for others to
see.

CanesFan95

You might also like