DSD FME

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
Was just wondering (based on a real case), what about different frequencies using same KeyID, but different codes?
Already covered. There is a logical checkdown when checking which key to use. First, it'll look by key id, then it'll look by tgid, so probably just load a csv file with (tg, key) combos.

In the case of adding duplicate key 0 values, its only going to store the last one at position 0 into the array when importing with the same key id. So, don't add any duplicate id values.

bonjour merci bien déjà pour votre réactivité a répondu je pense qu'on s'est pas bien compris je voulais qui passe en vert que quand la clé et valide si c'est possible évidemment
faite comme vous pouvez je ne veux pas vous embêter et encore bravo
In that case, won't be able to help. I don't know of a way to determine if a key is 'valid' or 'invalid' when its loaded, just that it matches a keyid or a tgid that was provided by the user.
 

LimaZulu

Member
Joined
Jul 7, 2011
Messages
365
Already covered. There is a logical checkdown when checking which key to use. First, it'll look by key id, then it'll look by tgid, so probably just load a csv file with (tg, key) combos.

In the case of adding duplicate key 0 values, its only going to store the last one at position 0 into the array when importing with the same key id. So, don't add any duplicate id values.

There is no TG on conventional frequencies. There is just a bunch of different frequencies, all of them using keyid 0, but different key
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
There is no TG on conventional frequencies. There is just a bunch of different frequencies, all of them using keyid 0, but different key
Can you provide a sample of this in a PM? There should always be a TGT (Destination Unit ID) and SRC (Source Unit ID) in NXDN in the VCALL, although, I have seen NXDN use a TG value of 0, which would seem to indicate 0 is a valid TG value in NXDN conventional. Is the VCALL being decoded?
 

LimaZulu

Member
Joined
Jul 7, 2011
Messages
365
Conventional NXDN frequencies always default to 0 unless specific RAN, for example, is selected. So yes, I can send you samples but they would not be any different than those I already sent you back then :)
In my case, unfortunately, they use 0's for everything and there is nothing that can differentiate them except frequency.
Maybe a frequency, key list when SDR control software is DSD-FME?

Maybe this is the right time to ask, do you plan to implement some sort of spectrum visualisation? That would be very useful and if you accept future requests mine would be spectrum visualisation and scan list :)
 

didier02

Member
Joined
Oct 26, 2017
Messages
10
Déjà couvert. Il y a une vérification logique lors de la vérification de la clé à utiliser. Tout d'abord, il cherchera par identifiant de clé, puis il cherchera par tgid, donc chargez probablement un fichier csv avec des combos (tg, key).

Dans le cas de l'ajout de valeurs de clé 0 en double, il ne stockera que la dernière à la position 0 dans le tableau lors de l'importation avec le même identifiant de clé. Donc, n'ajoutez pas de valeurs d'identification en double.


Dans ce cas, ne pourra pas vous aider. Je ne connais pas de moyen de déterminer si une clé est "valide" ou "invalide" lorsqu'elle est chargée, juste qu'elle correspond à un keyid ou à un tgid fourni par l'utilisateur.
Déjà couvert. Il y a une vérification logique lors de la vérification de la clé à utiliser. Tout d'abord, il cherchera par identifiant de clé, puis il cherchera par tgid, donc chargez probablement un fichier csv avec des combos (tg, key).

Dans le cas de l'ajout de valeurs de clé 0 en double, il ne stockera que la dernière à la position 0 dans le tableau lors de l'importation avec le même identifiant de clé. Donc, n'ajoutez pas de valeurs d'identification en double.


Dans ce cas, ne pourra pas vous aider. Je ne connais pas de moyen de déterminer si une clé est "valide" ou "invalide" lorsqu'elle est chargée, juste qu'elle correspond à un keyid ou à un tgid fourni par l'utilisateur.

Déjà couvert. Il y a une vérification logique lors de la vérification de la clé à utiliser. Tout d'abord, il cherchera par identifiant de clé, puis il cherchera par tgid, donc chargez probablement un fichier csv avec des combos (tg, key).

Dans le cas de l'ajout de valeurs de clé 0 en double, il ne stockera que la dernière à la position 0 dans le tableau lors de l'importation avec le même identifiant de clé. Donc, n'ajoutez pas de valeurs d'identification en double.


Dans ce cas, ne pourra pas vous aider. Je ne connais pas de moyen de déterminer si une clé est "valide" ou "invalide" lorsqu'elle est chargée, juste qu'elle correspond à un keyid ou à un tgid fourni par l'utilisateur.
bonjour grand merci pour votre réponse ce n'est pas grave je vais tester de filtrer les sons pour pas être embêté par les autres cryptages du coup j'écoute que ma flotte merci et c'est un super travail que vous avez fait
Déjà couvert. Il y a une vérification logique lors de la vérification de la clé à utiliser. Tout d'abord, il cherchera par identifiant de clé, puis il cherchera par tgid, donc chargez probablement un fichier csv avec des combos (tg, key).

Dans le cas de l'ajout de valeurs de clé 0 en double, il ne stockera que la dernière à la position 0 dans le tableau lors de l'importation avec le même identifiant de clé. Donc, n'ajoutez pas de valeurs d'identification en double.


Dans ce cas, ne pourra pas vous aider. Je ne connais pas de moyen de déterminer si une clé est "valide" ou "invalide" lorsqu'elle est chargée, juste qu'elle correspond à un keyid ou à un tgid fourni par l'utilisateur.
Déjà couvert. Il y a une vérification logique lors de la vérification de la clé à utiliser. Tout d'abord, il cherchera par identifiant de clé, puis il cherchera par tgid, donc chargez probablement un fichier csv avec des combos (tg, key).

Dans le cas de l'ajout de valeurs de clé 0 en double, il ne stockera que la dernière à la position 0 dans le tableau lors de l'importation avec le même identifiant de clé. Donc, n'ajoutez pas de valeurs d'identification en double.


Dans ce cas, ne pourra pas vous aider. Je ne connais pas de moyen de déterminer si une clé est "valide" ou "invalide" lorsqu'elle est chargée, juste qu'elle correspond à un keyid ou à un tgid fourni par l'utilisateur.
 

didier02

Member
Joined
Oct 26, 2017
Messages
10
bonjour grand merci pour votre réponse ce n'est pas grave je vais tester de filtrer les sons pour pas être embêté par les autres cryptages du coup j'écoute que ma flotte merci et c'est un super travail que vous avez fait
 

braluca

Member
Joined
Mar 13, 2020
Messages
39
what are the setting to be used when signal come from SDR#?
I am using:
- Audio Input [MME] Microsoft Sound
- Audio Output [MME] Line 1 [Virtual Audio Cable]
And I can listen/decoding nothing

with dsdplus I use option -i2 -o1 and all is good
can anybody help?
 

didier02

Member
Joined
Oct 26, 2017
Messages
10
bonjour deja bon normalement c est entrée audio [MME] Ligne 1 [Câble audio virtuel]
sortie audio [MME] Microsoft Sound voila
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
You can use the TCP Server plugin, or use virtual cables. Also, make sure to disable any sort of audio filtering or audio shaping, like high pass filters or it will not decode properly. Low Pass filters are generally okay though, but try with and without for best results.

Screenshot_74.png
dsd-fme -i tcp:localhost:7355

or use the default input and output and route it through the volume mixer
Screenshot_85.png
 

adsbgreenock

Member
Joined
Sep 11, 2021
Messages
118
Location
Scotland UK
Hi guys,

I am guessing it's plugging an SDR to USB or do I need to pipe audio into the decoder seperately as well? Or can I use fmp24 or fmpp and somehow send the audio?

I am lost.. I also have some raspberry devices and a Linux Ubuntu PC , any ideas how I get up and running for TYtera and MotoTRBO DMR.

Some guidance would be appreciated, thanks in advance.

Regards
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
There are multiple options available for using DSD-FME, either Aero (windows precompiled builds) or using native Linux builds.

As you mentioned, you can either pipe audio directly into it (usually accomplished with Virtual Cables, or similar) in Windows, or use a Virtual Sink in Linux, and routing audio as appropriate from an SDR application (SDR++, GQRX, SDR#, FMPx, etc) into the software to decode.

Another option is to use SDR++ and connect to its TCP Network Sink for audio to bypass needing to set up cables/sinks/etc and just connecting directly to it. The same can be done with SDR# and the TCP Server plugin. I can't vouch for the reliability of SDR# and/or the TCP Server plugin though, I always find myself having random issues with it, so I can't say its SDR#, the plugin, or my VM, or something else.

The last option for both Aero and Linux builds is to use the RTL dongle directly (only supports rtl devices, so no airspy, etc) and tune it directly to the frequency you want to listen to in conventional mode, or use it either as a scanner or trunking, depending on what you want to listen to with it or have it do.

I am lost.. I also have some raspberry devices and a Linux Ubuntu PC , any ideas how I get up and running for TYtera and MotoTRBO DMR.
If you want to listen to a DMR system, you can run it with the rtl method and just tune to the frequency, or scan, or trunk.


Code:
Single Frequency Examples:
dsd-fme -fs -i rtl:0:154.9875M:36:0:12:0:6021
dsd-fme-aero.exe -fs -i rtl:0:154.9875M:36:0:12:0:6021

Scanner Examples:
dsd-fme -fs -i rtl:0:154.9875M:36:0:12:0:6021 -Y -t 1 -C examples/dmr_conventional_channel.csv
dsd-fme-aero.exe -fs -i rtl:0:154.9875M:36:0:12:0:6021 -Y -t 1 -C examples\dmr_conventional_channel.csv

Trunking Examples:
dsd-fme -fs -i rtl:0:154.9875M:36:0:12:0:6021 -T -C examples/dmr_t3_chan.csv
dsd-fme-aero.exe -fs -i rtl:0:154.9875M:36:0:12:0:6021 -T -C examples\dmr_t3_chan.csv

A lot of this information can be found in the examples folder, in the readme and trunking.sh files specifically. I also have these links on the Github with more information.

Cloning and Installing For Linux

Example Usage

I will admit though, I need to at some point, create a step-by-step guide and/or set of videos going from scratch to using it in various situations. I had some older videos up that I deleted, but I was never really very happy with them due to the quality of them, they were mostly just more of demonstrations than guides or anything, and a bit out of date by now anyways.
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
I should also mention that a lot of options can be configured/changed after starting up with the default options by doing them in the ncurses terminal menu but you have to run in the ncurses terminal mode for that. If you want to import csv files though (for frequencies, keys, etc) that still has to be done at the CLI on startup.

Code:
dsd-fme -N 2> log.ans
dsd-fme-aero.exe -N 2> log.ans

Also, the zip file with the Windows precompiled version has a few bat files with plenty of options/examples in it as well, as well as a readme file for that (covering topics like using pulse audio for stereo output on TDMA, etc) so worth looking at those bat files for examples and ideas.
 

W4KRR

Member
Premium Subscriber
Joined
Apr 1, 2001
Messages
3,463
Location
Coconut Creek
I'm currently using Windows Aero version v2.0.0-84-gacd2b0b.

I've got it to work, somewhat, but I have issues. The audio is choppy at best; and the Audio "Decode In" level is around 25 to 30% . Would increasing or decreasing it help? If so, how?

I use SDRSharp 1905 with the TCP Server Plug-In with an RTL-SDR dongle.

Here is the command line (.bat file) that I am using to launch the program:
dsd-fme-aero.exe -mq -i rtl:0:774.90625M:45:-1.3:12:0:6020 -T -N -G 997-groups.csv 2> log.ans

Also, the alpha tags in the 997-groups.csv file don't always show up in the program.

Anything in error or missing from the command line that would help?
 

adsbgreenock

Member
Joined
Sep 11, 2021
Messages
118
Location
Scotland UK
@lwvmobile ,

Thank you very much for the detailed instructions and taking time to explain things.
I am really grateful . You mention the TCP SERVER.dll I cannot find this anywhere .
I will play around with various options and see whats best

cheers and beers

Regards
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
Should be in the zip file in the SDRSharp folder, I think all you have to do is copy and paste the folder with the TCP plugin into the sdrsharp/plugins folder, whereever that is located on your computer.
I am really grateful . You mention the TCP SERVER.dll I cannot find this anywhere .

I use SDRSharp 1905 with the TCP Server Plug-In with an RTL-SDR dongle.

Here is the command line (.bat file) that I am using to launch the program:
dsd-fme-aero.exe -mq -i rtl:0:774.90625M:45:-1.3:12:0:6020 -T -N -G 997-groups.csv 2> log.ans
I'm a bit confused by this, you say are using SDR# with the TCP plugin, but you are using the input command for the direct rtl input method and not the command for the TCP connection.

Regardless, depending on which one you choose to use, you may want to turn the gain down a bit on the rtl input, its currently set to 45 (446ish, I think going by actual value) and that's virtually as high as it'll go. If the system is strong signal, you'll want to turn the gain down quite a bit. Also, regarding the rtl input that was implemented, I think it may be a bit buggy and some systems don't handle well, particularly, I think the sampling and bandwidth is a bit 'off', so if it doesn't work well, choppy and all that on rtl direct input, you might try SDR++ (or SDR# if you really must) and the TCP Direct Link/Rigctl method, 12000 bw on the VFO and turn on the low pass filter, it tends to do much better with signal and passing clean signal to DSD-FME, particularly P25 and NXDN.

Code:
dsd-fme-aero.exe -mq -i tcp:localhost:7355 -U 4532 -T -N -G 997-groups.csv 2> log.ans

Also, I see you are using the -mq option, so I assume this is a P25 simulcast system? DSD-FME handles simulcast so-so, sometimes, its fine, other times, not so much. Just depends on the direction the wind is blowing that day. May not be able to handle your system honestly, not sure.

Also, the alpha tags in the 997-groups.csv file don't always show up in the program.
Since you say you have choppy decodes, its probably having a hard time decoding data, or keeping the frame sync, same as above, so again, try turning the gain down some on the dongle and even try more BW if using the rtl input method, again, that's kind of buggy, so if 12 doesn't work and the signal is strong, try 24 (which usually would be too much, but again, buggy RTL input). Ultimately though, using SDR++/TCP/RIGCTL works far better in my experience. In the future, I got to redo the entire RTL input, or just rip it out and redo it or find/write a better external solution that can handle the device properly and also do a better job with demodulation, particularly simulcast. For now, let's just try some things to see if we can get the audio cleaned up and see if that fixes the groups issues.
 

adsbgreenock

Member
Joined
Sep 11, 2021
Messages
118
Location
Scotland UK
Should be in the zip file in the SDRSharp folder, I think all you have to do is copy and paste the folder with the TCP plugin into the sdrsharp/plugins folder, whereever that is located on your computer.
Excellent my friend, got it working now. Thanks again for your help.

All the best

Kind Regards
 

W4KRR

Member
Premium Subscriber
Joined
Apr 1, 2001
Messages
3,463
Location
Coconut Creek
I have both SDRSharp and SDR++ available. I have spent hours trying to get this program to work.

If I turn the gain down, as suggested, (below 40) the program doesn't work at all.

What would be a proper command line for use with SDRSharp using TCP?

What would be a proper command line for use with SDR++?

My closest system is simulcast, and has a control channel of 774.90625. Another nearby system, not simulcast, has a control channel of 856.1625.
 

adsbgreenock

Member
Joined
Sep 11, 2021
Messages
118
Location
Scotland UK
I have both SDRSharp and SDR++ available. I have spent hours trying to get this program to work.

If I turn the gain down, as suggested, (below 40) the program doesn't work at all.

What would be a proper command line for use with SDRSharp using TCP?

What would be a proper command line for use with SDR++?

My closest system is simulcast, and has a control channel of 774.90625. Another nearby system, not simulcast, has a control channel of 856.1625.
Hi there ,

I got this working on both SDR# and SDR++
In SDR# first make sure youve moved the TcpServer.dll to a folder named TcpServer in the SDR# plugins folder.
Next open SDR# select your frequency and run the tcp server on 7355 and move the server slider half way, then press play on SDR# for it to work
I simply opened a terminal or CMD in dsd-fme-aero folder and typed:
dsd-fme-aero.exe -i tcp 7355

In respect of SDR++ it was similar
check the "Sinks" tab is set to tcp 7355
Open CMD in dsd-fme-aero folder and run:
dsd-fme-aero.exe -i tcp 7355

obviously you can revert to the example usage and play around with other switches but this should get you up and running until you are familiar .

Great Job @lwvmobile really like this program and its detailed display of LSN and site info

Kind Regards
 

W4KRR

Member
Premium Subscriber
Joined
Apr 1, 2001
Messages
3,463
Location
Coconut Creek
When I try your suggestion using SDRSharp, I get the following:

Enabling only QPSK modulation optimizations.
TCP Direct Link: localhost:7355
TCP Connection Success!
OSS Output /dev/dsp.
Audio Out Device: /dev/dsp
Audio In Device: tcp
Press CTRL + C to close.

And that's it. Program does nothing else. Same issue using SDR++.
 
Top