DSDPlus Using FMP24 recordings

Status
Not open for further replies.

AM909

Radio/computer geek
Premium Subscriber
Joined
Dec 10, 2015
Messages
1,105
Location
SoCal
In DSD+ FL 2.360, using FMP24 2.76 with an RTL-SDR.com dongle, I used the "R" key to toggle recording on and off, which recorded a large .iq file (centered 600 kHz above the frequency being tuned) and a 0-length .fm file. I had it tuned to a freq with no activity, but was interested in other signals within the 2.4-MHz-wide capture in the .iq file.

When I attempt to play it back with:
.\FMP24 options < filename.iq
it will ignore the -f option (if present) and instead tune to the center freq of the recording minus 600 kHz (the same freq it was tuned to when recorded). Using the left/right cursor keys or clicking in the display "tries" to change the frequency – the freq in the spectrum display window's title bar changes, as does the popup associated with the redline mouse cursor – but the actual freq it's tuned to remains the same and the spectrum display itself doesn't move (i.e. active signals remain in the same place).

When using a recording as its input in this way, is FMP24 only able to demodulate the one frequency it was tuned to (f) when the recording was made, even though the recording contains 2.4 MHz of spectrum (from f - 0.6 MHz to f + 1.8 MHz)? If so, is there another way of recording chunks of spectrum for later analysis that will properly support P25 PSK simulcast signal decoding the way it works live with FMP24 and DSD+?

It turns out that SDR# with Vasili's baseband file plugin can read the files (it asks for the sample rate = 2400000, bits = 8, and channels = 2), but unfortunately doesn't know what the center freq is, so displays 0 in the main freq display (or 0 to -1.2 MHz in the mouse cursor popup) for those below the center and 0 to 1.2 MHz for those above it. It will tune correctly, but you have to calculate the frequencies yourself. I can probably write something to solve that problem. However, because it does not have a PSK demodulator, it feeds DSD+ FM-demodulated audio, which doesn't decode well, if at all. I'd would rather use SDR# because of the time-shift plugin that lets you pause and go backward and forward, and the other decoding plugins, but don't know of a way to get it to also feed DSD+ in a way that will decode PSK. Help please?
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
In DSD+ FL 2.360, using FMP24 2.76 with an RTL-SDR.com dongle, I used the "R" key to toggle recording on and off, which recorded a large .iq file (centered 600 kHz above the frequency being tuned) and a 0-length .fm file. I had it tuned to a freq with no activity, but was interested in other signals within the 2.4-MHz-wide capture in the .iq file.

When I attempt to play it back with:
.\FMP24 options < filename.iq
it will ignore the -f option (if present) and instead tune to the center freq of the recording minus 600 kHz (the same freq it was tuned to when recorded). Using the left/right cursor keys or clicking in the display "tries" to change the frequency – the freq in the spectrum display window's title bar changes, as does the popup associated with the redline mouse cursor – but the actual freq it's tuned to remains the same and the spectrum display itself doesn't move (i.e. active signals remain in the same place).

When using a recording as its input in this way, is FMP24 only able to demodulate the one frequency it was tuned to (f) when the recording was made, even though the recording contains 2.4 MHz of spectrum (from f - 0.6 MHz to f + 1.8 MHz)? If so, is there another way of recording chunks of spectrum for later analysis that will properly support P25 PSK simulcast signal decoding the way it works live with FMP24 and DSD+?

It turns out that SDR# with Vasili's baseband file plugin can read the files (it asks for the sample rate = 2400000, bits = 8, and channels = 2), but unfortunately doesn't know what the center freq is, so displays 0 in the main freq display (or 0 to -1.2 MHz in the mouse cursor popup) for those below the center and 0 to 1.2 MHz for those above it. It will tune correctly, but you have to calculate the frequencies yourself. I can probably write something to solve that problem. However, because it does not have a PSK demodulator, it feeds DSD+ FM-demodulated audio, which doesn't decode well, if at all. I'd would rather use SDR# because of the time-shift plugin that lets you pause and go backward and forward, and the other decoding plugins, but don't know of a way to get it to also feed DSD+ in a way that will decode PSK. Help please?
op25 (boatbod) can read both .IQ and .WAV files produced by DSD+
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
923
Location
NE Wisconsin
What is the procedure / command line to read the iq file with op25?

Look at iq_example.json and wav_example.json found in the ~/op25/op25/gr-op25_repeater/apps folder of the boatbod repo.
Note that "offset" and "rate" values have to match those of the device used to create the IQ files in DSDPlus.

The example below is used to playback IQ files made using the Airspy Mini with a sampling rate of 3 MSPS.

"devices": [
{
"args": "iqsrc",
"iq_file": "2021-AIRSPY.IQ",
"iq_seek": 0,
"iq_size": 2,
"iq_signed": true,
"offset": 750000,
"rate": 3000000,
"gains": "",
"name": "sdr0",
"ppm": 0.0,

"tunable": false


For Airspy R2's, use an offset of 625000 with a rate of 2500000, and then for RTL SDR's use an offset of 600000 with a rate of 2400000.
I believe these are the correct offset and rate values for the common devices used with DSDPLus to create IQ files, but then I am getting old, and it's been several months ago since I made and tested these. The wav example in the boatbod repo is self-explanatory.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
What is the procedure / command line to read the iq file with op25?
As a general note, the IQ and WAV replay only works using multi_rx.py

The IQ files are interesting in as much as some have a header and some don't. When there is a header it specifies the offset and rate, otherwise you need to set that yourself. (RTL rate is always 2400000). OP25 attempts to use the header if it finds one, otherwise you have to set these parameters.

WAV files are a little less ambiguous because they always include a rate, but you still have to experiement with the wav_gain parameter to find what works for you.
 
Status
Not open for further replies.
Top