Showing posts with label multimonng. Show all posts
Showing posts with label multimonng. Show all posts

Sunday, 29 September 2013

CW Decode from HO-68 using MultimonNG - Update II

(This is an update to this post)

I tweaked the string that my stupid search script uses to be "BJ1SA " - this should then take into account the proper spacing of the characters. The best result I got out from that was this (I used the data to which I'd applied a narrow band filter):

 J1RA XW XW AAA TTT AW- ATE ETT TTT TTT TTT TTT TTT TTT TTT TTT XW XW EE
BJ1SA XW XW AAA TTT AU4 TBE ETT TTT TTT TTT TTT TTT TTT TTT TTT XW XW
BJ1SA XW XW AAA TTT AU4 TNT ETT TTT TTT TTT TTT TTT TTT TTT TTT XW XW
BJ1SA XW XW AAA TTT AU4 AVT ETT TTT TTT TTT TTT TTT TTT TTT TTT XW XW
BJ1SA XW XW AAU T5H H 5 <._.......>DHSH IIIEIS

BJ1SA XW XW AAA TTT AU4 AVE ETT TTT TTT TTT TTT TTT TTT TTT TTT XW XW
BJ1SA XW XW AAA TTT AU4 TBE ETT TTT TTT TTT TTT TTT TTT TTT TTT XW XW E
BJ1SA XW XW AAA TTT AU4 AVT ETT TTT TTT TTT TTT TTT TTT TTT TTT XW XW EIE
BJ1SA XW XW AAA TTT AW4 TDT ENTTTT TTTETTNTTTTTNAAAVATUA<....._>


This appears to be better than the previous decoding. The graphical representation of the search space is show here:

As you can see there is a much smaller range of parameters where the best decoding occurs.

I have now integrated in the multimonNG decoding of CW signals into my GroundStation software and have decoded signals in realtime from a number of satellites including FO-29 and CO-55. The current implementation I use is far from optimum as I have around 2.5kHz of audio going into multimonNG, so as mentioned previously I'll be able improve the performance by additional filtering.

I've also improved the calibration of one of my RTLSDR receivers such that I can receive meteor signals from the GRAVES transmitter - more data to follow on that subject at a later date.


Saturday, 21 September 2013

CW Decode from HO-68 using MultimonNG - Updated

(This is a follow-up to my previous here.)

The author of MultimonNG suggested that in addition to altering -d and -g, I should also use a bandpass filter before passing it to MultimonNG as the code does no filtering of itself. I applied a bandpass filter of around 400Hz wide. This filter is wider than I would have liked to have used, but the signal drifts due to, probably, instabilities of my RTLSDR receiver and errors on the Doppler corrections - there are ways to automatically correct this, but I've not had time to implement them yet.

If I now decode the data after applying the filter I get the following ASCII:

            W X W A A A T T T A U   A T E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W E E
B J 1 S A X W X W A A A T T T A U 4 T B E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U 4 T N T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U 4 A V T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A U T 5 H H 5

B J 1 S A X W X W A A A T T T A U 4 A V E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U 4 T B E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W E
B J 1 S A X W X W A A A T T T A U 4 A V T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W EIE
B J 1 S A X W X W A A A T T T A U 4 T D T E D T N N T T T N E


Which is significantly better than without the filter (see previous post) and better than dl-fldigi.

Next I investigated altering the -d and -g parameters. To do this I wrote a Python script to run multimonNG that counted the number of occurrences of the string "T T T T T" were in the output. I looped over values for -d from 0 to 202, and -g from 0 to 198. The out put can be see in the graphic below (sadly I forgot to label the axes before I created it) - the y-axis is -d and the x-axis is -g:
From this is can be seen that for this data the value of -d is not too important, but the value of -g is more critical. However looking at the output for the best combination of -d and -g shows no significant difference from the results above. It is also questionable if the number of "T T T T T" in the output is really a good metric to measure decoding quality - but for the moment it will suffice!

In conclusion - make sure you appropriately filter your input to MultimonNG and you should get good results. Over the coming weeks I'll be trying with data collected from other sources which won't be so nice and clean.

Wednesday, 18 September 2013

CW Decode from HO-68 using MultimonNG

Using the pass from 09:45 UTC this morning, I recorded some CW from the beacon which peaked around 35-40dB over the noise. If I decode it in dl-fldigi (via an 8kHz, 8 bit WAV file) I get this output (for reference it should look like this):

* J 1 S A X W X W A A A T T T A U 4 A T E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
* J 1 S A X W X W A A A T T T A U 4 T B E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
* J 1 S A X W X W A A A T T T A U 4 T N T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W 

* J 1 S A X W X W A A A T T T A U 4 A V T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
* J 1 S A X W XWUA AT**R*W X W
* J 1 S A X W X W A A A T T T A U 4 A V E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W 

* J 1 S A X W X W A A A T T T A U 4 T B E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W 
* J 1 S A X W X W A A A T T T A U 4 A V T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W 
* J 1 S A X W X W A A A T T T A U 4 T D T E T T T G T T T T M T M X T M M A D**

If I use the new version of MulitmonNG I get this (using the standard default arguments - i.e. not changing -g or -d):


              X W A A A T T T A U 4 A T E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U 4 T B E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U 4 T N T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U 4 A V T E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W

                W A A A T T T A U 4 A V E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U 4 T B E E T T T T T T T T T T T T T T T T T T T T T T T T T T X W X W
B J 1 S A X W X W A A A T T T A U <..._..>A V T E T T T T T T T T T T T T T T T T T T T T T T F


So multimon certainly doesn't do a bad job, but it has some room for improvement. I'll try tweaking the values of -g, -d, etc and see how that changes  things.

Sunday, 11 August 2013

Software Announcement!

The GroundStation software I've been working on for the last few months is now available from github here - below are a couple of screen shots of the realtime view of where the sats are and the pane on the right shows what frequency they are at (x-axis is frequency in MHz, y-axis is time in hours from now).

The second image show that I've select a part of the RF spectrum to capture (width determined by the fact its just a RTLSDR receiver).


When the times comes along, up pops an appropriate 'channel' which decode the signal (with real time Doppler corrections) - all by the magic of GnuRadio (and a fair amount of swearing!!). Its still pretty rough around the edges (and its very polyhedral....) but has got a fair amount of potential - so by the 10th rewrite it'll be great!

This week I also got my beagleboneblack running Debian and now happily streaming my RTLSDR dongle back to my desktop.

This looks like a very nice bit of kit, HackRF I look forward to getting mine.

Sunday, 14 July 2013

Aeneas

From the pass that just occurred (20:25 GMT):

AFSK1200: fm KE6YFA-1 to CQ-0 via TELEM-0 UI  pid=F0
4341455255531D0040020006040B0617132808050000001000F07500007013004930C617423C83
AFSK1200: fm KE6YFA-1 to CQ-0 via TELEM-0 UI  pid=F0
4341455255531D0040020006040B0617140008050000001000F07500007013004930C6174285FE
AFSK1200: fm KE6YFA-1 to CQ-0 via TELEM-0 UI  pid=F0
4341455255531D0040020006040B0617141408050000001000F07500007013004930C617425306
AFSK1200: fm KE6YFA-1 to CQ-0 via TELEM-0 UI  pid=F0
4341455255531D0040020006040B0617142808050000001000F07500007013004930C617423807
AFSK1200: fm KE6YFA-1 to CQ-0 via TELEM-0 UI  pid=F0
4341455255531D0040020006040B0617150008050000001000F07500007013004930C61742E9C9
AFSK1200: fm KE6YFA-1 to CQ-0 via TELEM-0 UI  pid=F0
4341455255531D0040020006040B0617161408050000001000F07500007013004930C617428B68
AFSK1200: fm KE6YFA-1 to CQ-0 via TELEM-0 UI  pid=F0
4341455255531D0040020006040B0617162808050000001000F07500007013004930C61742E069