RadioReference on Facebook   RadioReference on Twitter   RadioReference Blog
 

Go Back   The RadioReference.com Forums > Software > Digital Voice Decoding Software

Digital Voice Decoding Software For discussion of software applications which decode digital voice formats such as P25, NXDN, MotoTRBO, etc. Please use the HF Digital Signals forum for anything below 30MHz.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #421 (permalink)  
Old 12-04-2013, 8:54 PM
Member
   
Join Date: Jul 2013
Posts: 27
Default You can change that...

I think the change was made so that users or developers can change mbelib and use the updated code without rebuilding dsd. Mbelib builds both static and dynamic versions of the library. If you want it to build with the static library, edit the CMakeLists.txt and in the "TARGET_LINK_LIBRARIES" block change "mbe" to "mbe.a"... I'm not a cmake expert but that seems to work for me- there are probably better ways to do that too.

Quote:
Originally Posted by mtindor View Post
On another note, it's really bothersome that a separate DLL is now compiled and has to be included. I'm not sure why that was done, but it's very irritating and I see no good reason for it being the case.

Mike
Reply With Quote
Sponsored links
  #422 (permalink)  
Old 12-04-2013, 10:11 PM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Quote:
Originally Posted by groovy View Post
I think the change was made so that users or developers can change mbelib and use the updated code without rebuilding dsd. Mbelib builds both static and dynamic versions of the library. If you want it to build with the static library, edit the CMakeLists.txt and in the "TARGET_LINK_LIBRARIES" block change "mbe" to "mbe.a"... I'm not a cmake expert but that seems to work for me- there are probably better ways to do that too.
You're as your name implies... groovy Thanks man, I appreciate that. I'll do just that. I understand [now] why it is like it is, but I'd prefer to have it in one ball of wax. After all it takes only seconds to recompile new source.

Mike
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #423 (permalink)  
Old 12-04-2013, 10:15 PM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default request for the code contributors / modifiers

If contributors to the source read this thread, one thing I would ask is that you attempt to make the compile process one where it will automatically change references to /dev/audio to /dev/dsp (in dsd_main.c and dsd_audio.c) if it's being compiled on Windows.

/dev/audio isn't valid on Windows [at least not when compiling with Cygwin] -- only /dev/dsp is, and it always points to whatever input/output devices you have set as Default in the Windows Control Panel.

As it stands now, people compiling it on Windows always have to add -i /dev/dsp -o /dev/dsp to commmandline if they use a binary built from the latest source.

Thanks

Mike
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #424 (permalink)  
Old 12-04-2013, 11:14 PM
tylerwatt12's Avatar
Member
  Shack Photos
Shack photos
Amateur Radio Operator
Amateur Radio
 
Join Date: Feb 2013
Location: Cleveland
Posts: 158
Default

I tried the binary today
And I came across a strange bug. Just thought i'd report it.
If DSD detects an unexpected silence during a decode, it will simply stop decoding for the rest of the transmission.

dsd bug - YouTube
And this is the audio recording that causes the problem, http://tylerwatt12.com/sdr/losslessbug.flac

Last edited by tylerwatt12; 12-04-2013 at 11:30 PM..
Reply With Quote
  #425 (permalink)  
Old 12-04-2013, 11:28 PM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Quote:
Originally Posted by tylerwatt12 View Post
I tried this one today: Index of /dsd/Win_Compiles_using_Cygwin/2013Dec04
And I came across a strange bug. Just thought i'd report it.
about 22.5 seconds into the recording, decode stops.
I've tested it with the regular dsd160 and it decodes properly
hopefully someone can take a look because otherwise, it works better than dsd160

dsd bug - YouTube
And this is the audio recording that causes the problem, http://tylerwatt12.com/sdr/losslessbug.flac

Also, it looks like this is caused when the audio cuts out momentarily
I haven't tested that specific compile [other than executing it to make sure there were no audio device errors]. I'll test it on some live P25 traffic here and see if I get the same thing.

Mike
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
Sponsored links
  #426 (permalink)  
Old 12-05-2013, 12:31 AM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Quote:
Originally Posted by tylerwatt12 View Post
I tried the binary today
And I came across a strange bug. Just thought i'd report it.
If DSD detects an unexpected silence during a decode, it will simply stop decoding for the rest of the transmission.

dsd bug - YouTube
And this is the audio recording that causes the problem, http://tylerwatt12.com/sdr/losslessbug.flac
I concur. Your example sounds horrible. And, when I test on anything but one of the strongest P25 signals around here, there is awful decode. When I reported on P25 sounding so good in an earlier post, I was listening to a very strong (3 air miles away) P25 signal. Yep, definitely sounding rough.

Mike
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #427 (permalink)  
Old 12-05-2013, 12:41 AM
tylerwatt12's Avatar
Member
  Shack Photos
Shack photos
Amateur Radio Operator
Amateur Radio
 
Join Date: Feb 2013
Location: Cleveland
Posts: 158
Default

That's a bit strange. The signal i'm pulling from is quite strong, 40dB above the noise. The tower is not even 1/2 mile away from me. I've noticed that the raw signal sounds very static-ey even though i'm right next to it.
Reply With Quote
  #428 (permalink)  
Old 12-05-2013, 12:44 AM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Quote:
Originally Posted by tylerwatt12 View Post
That's a bit strange. The signal i'm pulling from is quite strong, 40dB above the noise. The tower is not even 1/2 mile away from me. I've noticed that the raw signal sounds very static-ey even though i'm right next to it.
Attenuation was not my issue, but perhaps if you have a signal that strong you may want to try attenuating it if you can.

but I think this is a bug I previously heard people talk about with the DSD P25 -- basically some issue where once it "loses sync" (for lack of better wording) it just can't recover until the next transmission usually.

On some transmissions (and they can be 20-30 seconds long) it sounds perfect. But as soon as the decode goes bad, it stays bad for the most part until the next transmission.

I thought that had been addressed in the code, but then again maybe developers just didn't have enough information to go on to isolate it.

Or maybe it was a result of some crappy couple on my system. i dont know.

Mike
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #429 (permalink)  
Old 12-05-2013, 4:31 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Jul 2012
Location: clarksville,tn
Posts: 346
Default DSD Windows Port

How would I "capture" it? My city is going to p25 phase 2 in a month or so. We're currently on edacs provoice which I use dsd with now.


Sent from my iPhone5 using Tapatalk
__________________
own a pro 404, and a bct 8 with a discriminator tap.
Reply With Quote
Sponsored links
  #430 (permalink)  
Old 12-05-2013, 9:53 AM
mk262's Avatar
Member
   
Join Date: Sep 2010
Location: Daytona Beach
Posts: 340
Default

Quote:
Originally Posted by vans113 View Post
How would I "capture" it? My city is going to p25 phase 2 in a month or so. We're currently on edacs provoice which I use dsd with now.


Sent from my iPhone5 using Tapatalk
record a wav of actual transmission from sdr# baseband or the descriminator tap
Reply With Quote
  #431 (permalink)  
Old 12-07-2013, 7:42 PM
Member
  Premium Subscriber
Premium Subscriber
Amateur Radio Operator
Amateur Radio
 
Join Date: Jan 2004
Location: Brooklyn, NY
Posts: 176
Default

So it seems that the latest version of Cygwin1 will not work with the DSD. The link to the audio dsp/dev does not work. Any idea on how to get an older version of Cygwin?
Reply With Quote
  #432 (permalink)  
Old 12-07-2013, 8:18 PM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Quote:
Originally Posted by KA2ZEY View Post
So it seems that the latest version of Cygwin1 will not work with the DSD. The link to the audio dsp/dev does not work. Any idea on how to get an older version of Cygwin?
This was already discussed, in this very thread, a week [or less] ago.

DSD Windows Port

The answer is to get the cygwin1.dll from the snapshots on cygwin.com -- I use the one from the 12-01-2013 snapshot because that is all that was available at the time. Now there are newer versions.

Cygwin Snapshots

And if you have CygWin installed and intend on using it to compile things, you'll want to follow the recommended procedure outlined in the Cygwin FAQ for updating with a snapshot.

Cygwin FAQ

I downloaded the appropriate *64*inst* file and applied the updates per the instructions in the FAQ.

If you just need the DLL, follow the procedure for unarchiving downloading the appropriate DLL from the snapshot.

Mike

PS: I did build DSD from the latest source on Github using 64-bit cygwin. The resultant .EXE didn't perform as well as I had expected. Others who had downloaded the EXE that I built also reported poor performance. So if you are going to build your own version of DSD 1.6.0, don't be surprised if it doesn't perform as well [i.e. worse than the already existing DSD 1.6 in the wiki].
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #433 (permalink)  
Old 12-10-2013, 2:09 PM
mk262's Avatar
Member
   
Join Date: Sep 2010
Location: Daytona Beach
Posts: 340
Default

Has anyone gotten the newest build of dsd to work with provoice? It won't decode anything for me.
Reply With Quote
  #434 (permalink)  
Old 12-10-2013, 2:32 PM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Quote:
Originally Posted by mk262 View Post
Has anyone gotten the newest build of dsd to work with provoice? It won't decode anything for me.
I don't have any provoice around to test, but the build I made is performing mediocre at best. It really seems that something was broken rather than fixed within the GitHub source changes made over the past few months.

Early this year I took the DSD 1.41 / mbelib whatever source available at that time, and I made all modifications recommended for fixing up the off-by-one stuff, the bad Golay table, set it to default to using /dev/dsp, [dont think I did P25 muting], and made some recommended changes to one of the P25 files -- all per recommendations that Eric andd others made on the forums. That's the build that exists as dsd160.exe on my site. Actually, on second thought, I can't remember if th dsd160.exe on my site was one that i built or if it was one that woodpecker made up. I know it has the filtering in it, and I can't remember ever adding that to the source myself.

Bottom line is that I personally think the dsd160.exe that people have been using is working much better for me than the compile I did from the most recent source on Git.

Mike
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #435 (permalink)  
Old 12-10-2013, 3:09 PM
Radioman96p71's Avatar
Member
  Shack Photos
Shack photos
Audio Feed Provider
Audio Feed Provider
Amateur Radio Operator
Amateur Radio
 
Join Date: Jan 2008
Location: Polk County, IA
Posts: 871
Exclamation

I was just dealing with that. The filters they added to dsd_symbol.c completely wreck GMSK decoding. I went ahead and removed them for my work on ProVoice, but I will revisit them to possibly make them optional, or at least only on when they are needed for P25 or DMR. You can either just replace the file with the 1.4.1 version, or remove lines 83 thru 120. The code in question:
Code:
{
            #define NZEROS 60
          #define GAIN 7.423339364e+00

          static float xv[NZEROS+1];

          static float xcoeffs[] =
          { -0.0083649323, -0.0265444850, -0.0428141462, -0.0537571943,
          -0.0564141052, -0.0489161045, -0.0310068662, -0.0043393881,
          +0.0275375106, +0.0595423283, +0.0857543325, +0.1003565948,
          +0.0986944931, +0.0782804830, +0.0395670487, -0.0136691535,
          -0.0744390415, -0.1331834575, -0.1788967208, -0.2005995448,
          -0.1889627181, -0.1378439993, -0.0454976231, +0.0847488694,
          +0.2444859269, +0.4209222342, +0.5982295474, +0.7593684540,
          +0.8881539892, +0.9712773915, +0.9999999166, +0.9712773915,
          +0.8881539892, +0.7593684540, +0.5982295474, +0.4209222342,
          +0.2444859269, +0.0847488694, -0.0454976231, -0.1378439993,
          -0.1889627181, -0.2005995448, -0.1788967208, -0.1331834575,
          -0.0744390415, -0.0136691535, +0.0395670487, +0.0782804830,
          +0.0986944931, +0.1003565948, +0.0857543325, +0.0595423283,
          +0.0275375106, -0.0043393881, -0.0310068662, -0.0489161045,
          -0.0564141052, -0.0537571943, -0.0428141462, -0.0265444850,
          -0.0083649323,
          };

          float sum; int i;

          for (i = 0; i < NZEROS; i++)
          xv[i] = xv[i+1];

          xv[NZEROS] = sample; // unfiltered sample in
          sum = 0.0;

          for (i = 0; i <= NZEROS; i++)
          sum += (xcoeffs[i] * xv[i]);

          sample = sum / GAIN; // filtered sample out
      }
Maybe someone better with filters can look at this to see if it can be compromised a little for 2-level decoding? With it, I can't get sync lock on a radio 4 feet from the reciever, without it 100% decode.
__________________
NØMB
------------------
Adam K
Polk County, Iowa
Reply With Quote
Sponsored links
  #436 (permalink)  
Old 12-10-2013, 3:31 PM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Interesting. My listening preferences are different, but I didn't realize it was that easy to yank the filter code that was in there. I'll yank it, rebuild, and see how my P25 performance is. I know you said you were having difficulties with GMSK. But maybe it would also affect P25.

Thank you

Mike


Quote:
Originally Posted by Radioman96p71 View Post
I was just dealing with that. The filters they added to dsd_symbol.c completely wreck GMSK decoding. I went ahead and removed them for my work on ProVoice, but I will revisit them to possibly make them optional, or at least only on when they are needed for P25 or DMR. You can either just replace the file with the 1.4.1 version, or remove lines 83 thru 120. The code in question:
Code:
{
            #define NZEROS 60
          #define GAIN 7.423339364e+00

          static float xv[NZEROS+1];

          static float xcoeffs[] =
          { -0.0083649323, -0.0265444850, -0.0428141462, -0.0537571943,
          -0.0564141052, -0.0489161045, -0.0310068662, -0.0043393881,
          +0.0275375106, +0.0595423283, +0.0857543325, +0.1003565948,
          +0.0986944931, +0.0782804830, +0.0395670487, -0.0136691535,
          -0.0744390415, -0.1331834575, -0.1788967208, -0.2005995448,
          -0.1889627181, -0.1378439993, -0.0454976231, +0.0847488694,
          +0.2444859269, +0.4209222342, +0.5982295474, +0.7593684540,
          +0.8881539892, +0.9712773915, +0.9999999166, +0.9712773915,
          +0.8881539892, +0.7593684540, +0.5982295474, +0.4209222342,
          +0.2444859269, +0.0847488694, -0.0454976231, -0.1378439993,
          -0.1889627181, -0.2005995448, -0.1788967208, -0.1331834575,
          -0.0744390415, -0.0136691535, +0.0395670487, +0.0782804830,
          +0.0986944931, +0.1003565948, +0.0857543325, +0.0595423283,
          +0.0275375106, -0.0043393881, -0.0310068662, -0.0489161045,
          -0.0564141052, -0.0537571943, -0.0428141462, -0.0265444850,
          -0.0083649323,
          };

          float sum; int i;

          for (i = 0; i < NZEROS; i++)
          xv[i] = xv[i+1];

          xv[NZEROS] = sample; // unfiltered sample in
          sum = 0.0;

          for (i = 0; i <= NZEROS; i++)
          sum += (xcoeffs[i] * xv[i]);

          sample = sum / GAIN; // filtered sample out
      }
Maybe someone better with filters can look at this to see if it can be compromised a little for 2-level decoding? With it, I can't get sync lock on a radio 4 feet from the reciever, without it 100% decode.
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #437 (permalink)  
Old 12-10-2013, 3:39 PM
Member
   
Join Date: Dec 2002
Location: Canada, Eh!
Posts: 379
Default

For what it's worth I just added the -l switch to a batch file and have very good P25 performance on a previous problem receiver. Same very good results for all 3 tapped receivers I have. Using 1.60 and Cygwin1.dll 1.725 I believe.

Last edited by woody_46; 12-10-2013 at 3:46 PM..
Reply With Quote
  #438 (permalink)  
Old 12-10-2013, 3:48 PM
mtindor's Avatar
OH/WV DB Admin
  RadioReference Database Admininstrator
Database Admin
Amateur Radio Operator
Amateur Radio
 
Join Date: Dec 2006
Location: Jefferson County, Ohio
Posts: 4,835
Default

Quote:
Originally Posted by woody_46 View Post
For what it's worth I just added the -l switch to a batch file and have very good P25 performance on a previous problem receiver. Same very good results for all 3 tapped receivers I have. Using 1.60 and Cygwin1.dll 1.725 I believe.
-l (as in lowercase L) ? I am unaware of a -l switch

mike
__________________
Mike / AA8IA
PSR800/PRO197/BCD436HP/BCD536HP

If I PM you about a submission, please reply promptly or your submission may be rejected.
Reply With Quote
  #439 (permalink)  
Old 12-10-2013, 4:12 PM
Member
   
Join Date: Dec 2002
Location: Canada, Eh!
Posts: 379
Default

Quote:
Originally Posted by mtindor View Post
-l (as in lowercase L) ? I am unaware of a -l switch

mike

Yes it disables the P25 and DMR filter.
Reply With Quote
  #440 (permalink)  
Old 12-10-2013, 4:25 PM
Member
   
Join Date: Dec 2002
Location: Canada, Eh!
Posts: 379
Default

I can't take credit for it though it was posted in a tutorial for setting up SDR dongles in a tutorial here somewhere.
Reply With Quote
Reply

Tags
sticky

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -5. The time now is 7:29 PM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
All information here is Copyright 2012 by RadioReference.com LLC and Lindsay C. Blanton III.Ad Management by RedTyger
Copyright 2011 by RadioReference.com LLC Privacy Policy  |  Terms and Conditions