Showing posts with label VK4TMZ. Show all posts
Showing posts with label VK4TMZ. Show all posts

Friday, 15 June 2018

PCSAT (NO-84) - Successfully Digipeated (Worked)

Guys,

So after setting up the monitoring of the Satellite APRS/Packet @ 145.825 MHz, I hadn't heard anything in almost 24hrs. My reading indicated that ISS  (ARISS) may be non-operational but there were a few other satellites such as NO-44 (PCSAT) and NO-84 (PSAT) that also provide APRS / Packet digipeating.

So last night I was just before shutting down for the night I took a look at the pass predictions for NO-44 and NO-84 satellites and luckily the NO-84 was about to have a great night pass right over head north - south direction @ 10:35pm  so thought lets see if I can beacon NO-84 and see if anyone is listening and can pick up my digipeated beacon.

Items needed for this little experiment:
  1. Thermal mug of coffee
  2. Android Phone running APRSDroid
  3. Handheld (BaoFeng uv-5rtp) using the vehicle antenna Diamond SG7400 
  4. Warm Jumper and Socks as in OZ is winter and a Low was making its way up from south so it was a little chilli.
Tune Handheld to 145.825 MHz

Setting up APRSDroid for Satellite Digipeating requires that you set the "path" to:
ARISS,WIDE1-1
Interfacing Android Phone to the BaoFeng can easily be done using the "APRS-K2 TRRS CABLE" which adapts the accessory jack on your BaoFeng (or similar) radio to a 3.5MM TRRS (Tablet, Phone, Computer)".   If you wanted to home brew your own take a look at Will Bradley's blog post "Cable for connecting APRSdroid to a Baofeng UV-82 Radio (APRS via RF)".

However!! since my cable is on order from BTECH, I used the coupling method of placing the phones external speaker on top of the Baofeng's mic port, set APRSDroid to use "Ringtone" output and set the ringtone level to about 3/4 volume (IMPORTANT!! use ringtone as this will provide louder audio as to activate the VOX which is set to level 1). This is not optimal as you now have to listen to the Packet burst, but small price to pay to have a little fun.

So all setup in the car @10:30pm on a cold Brisbane evening and waiting!!  Via tablet I was monitoring the pass via "Satellite Tracking for NO-84" and @ 10:35p started sending out manual beacon bursts every 45-60s. During the pass I did not hear anything from the NO-84.  So once LOS was reached I packed heading back into the warm house.

 Once back in the house went to see all "APRS Traffic Heard by NO-84"  and BAM!!!  there I was "VK4TMZ-9" listed as being heard by "VK3KAW-4"

One very happy Camper!! and my very first deliberate RF traffic to and through a Satellite!!!

That's all Folks!!!

73 de VK4TMZ

PS I've include snapshots of the sites showing my call and the raw decode traffic:




Thursday, 14 June 2018

Setting up Satellite APRS/Packet IGate - with OpenWebRx, Direwolf and CDR - Linux

We'll I wanted to see if the ISS APRS / Packet radios actually in operation and being actively used. Based on the information @ ARISS Home Site there is activity in the last 3-7 days.
2018-Jun-25 - In the last 24 hrs I've been reading that there are in fact several other satellites that provide APRS / Packet Digipeater via same frequency 145.825 MHz. Also its looking more and more like the ISS is not functioning correctly or at all. So I'll continue to monitor and see what I can hear.  For now have rename the title of this post from "ISS APRS/Packet IGate" to hopefully more generic "Satellite APRS/Packet IGate"
So with the same method I'm monitoring our local APRS @ 145.175 NFM (see "Setting up an APRS IGate with OpenWebRx, Direwolf and CDR - Linux" ) I've set up the following monitoring of Satellite APRS / Package activity on 145.825 MHz NFM:
       

export SDR_SAMPLE_RATE=5000000
export SDR_GAIN=IFGR=35,RFGR=2
export AUDIO_SAMPLE_RATE=48000
export AUDIO_GAIN=0.32
export FREQ_CENTER=145500000
export FREQ_MON=145825000
export FREQ_MON_BW=12000
export FIR_DISC_FACTOR=`python -c "print float($SDR_SAMPLE_RATE)/float($AUDIO_SAMPLE_RATE)"`
export FIR_DISC_TRANS_BW=`python -c "print float($FREQ_MON_BW)/float($SDR_SAMPLE_RATE)"`
export SHFT_ADD=`python -c "print float($FREQ_CENTER-$FREQ_MON)/$SDR_SAMPLE_RATE"`
export DW_HOME=/home/drifter/sdr/aprs/sat
export DW_CFG=$DW_HOME/direwolf-sat.conf
export DW_LOG=$DW_HOME/logs
 
nc -v 127.0.0.1 4951 | csdr shift_addition_cc $SHFT_ADD | csdr fir_decimate_cc $FIR_DISC_FACTOR $FIR_DISC_TRANS_BW HAMMING | csdr fmdemod_quadri_cf | csdr limit_ff | csdr deemphasis_nfm_ff $AUDIO_SAMPLE_RATE | csdr fastagc_ff | csdr gain_ff $AUDIO_GAIN | csdr convert_f_s16 |  direwolf -c $DW_CFG -l $DW_LOG -a 10 -t 1 -n 1 -r $AUDIO_SAMPLE_RATE -b 16 -d aupim -

       
 

Lets see how it goes over the next week or so

73 de VK4TMZ

Setting up an APRS IGate with OpenWebRx, Direwolf and CDR - Linux

G'Day Guys,

In my previous post "Setting up APRS IGate - Windows via SoundCard" I outlined how to straight forward it was to setup and APRS IGate under Windows was using a Soundcard to decode VHF APRS signals.

Well for me I thought this is cool, but hang on a second!!!  I'm currently making available for internet users access to our local 2m VHF spectrum using OpenWebRx and SDRPlay RSP2Pro.  You can tune in to 145.175 MHz and hear the APRS digital signals. So from my experience of OpenWebRx its a great tool which does the following:

  • Using rtl_sdr or rx_sdr tools will start up a session to your SDR what whatever bandwidth you'd like to offer via OpenWebRX.  In my case I've configured the "rx_sdr" to sample and provide a bandwidth of 5MHz which allows me to offer the 2m VHF from 143MHz through to 148 MHz. This feed is then made available via "127.0.0.1:4951"
  • The OpenWebRx application creates a single set of process that then samples the SDR feed and present a fantastic waterfall and means for multiple users to select a frequency and mode to listen via a web interface.
  • When a user finally connects up and mind you there is a limit to the number of concurrent users that can access the portal and individual select any frequency and mode within the allocated frequency range.   When the user connects up OpenWebRx starts a separate set of CSDR processes pipe-lined together to extract and transform the desired frequency and mode and audio outputted to the users browser.
So with that little bit of background on how OpenWebRx works, then I thought hey why can't I start my own CDR pipeline for APRS tuned to 145.175MHz NFM and pipe the audio through to a APRS decoding tool ?

It didn't take me long to come across "Direwolf " via GitHub.  

Dire Wolf is a software "soundcard" AX.25 packet modem/TNC and APRS encoder/decoder. It can be used stand-alone to observe APRS traffic, as a tracker, digipeater, APRStt gateway, or Internet Gateway (IGate). For more information, look at the bottom 1/4 of this page and in https://github.com/wb2osz/direwolf/blob/dev/doc/README.md  
Follow the instructions on the "GitHub" Readme to download, compile and install "direwolf".

Now before I continue I will also assume you have setup OpenWebRx or you have configure a "rtl_sdr" or "rx_sdr" process which is available via network or to be pipped into the CSDR tool.  Take a look at my post "Getting Your RTLSDR Online Using OpenWebRx" :)

Ok!!! what the dickens is this CSDR?  head on over to GitHub  project CSDR by "Simonyi Károly College for Advanced Studies"

csdr is a command line tool to carry out DSP tasks for Software Defined Radio.
It can be used to build simple signal processing flow graphs, right from the command line.
The included libcsdr library contains the DSP functions that csdr makes use of. It was designed to use auto-vectorization available in gcc, and also has some functions optimized with inline assembly for ARM NEON to achieve some speedup by taking advantage of SIMD command sets available in today's CPUs.
Feel free to use it in your projects.
Most of the code is available under the permissive BSD license, with some optional parts under GPL. For additional details, see licensing.
csdr has already been used to build:
  • AM, FM, SSB, CW and BPSK31 demodulators and waterfall display in OpenWebRX,
  • AM, FM, SSB modulators in qtcsdr that can also be used standalone with rpitx,
  • a demodulator for FSK transmissions sent with the CC1111 wireless MCU, and also a standalone RTTY demodulator.
 On the project page there is a document that outlines of the CSDR functions and their parameters and included examples.  The examples are using "rtl_sdr" to start a SDR stream and pipe through the CSDR tools.

GOTCHA #1

The first gotcha that almost drove me bonkers was that the "rtl_sdr" and "rx_sdr" tool command line arguments are fairly similar. Since my OpenWebRX was configured to use rx_sdr I made a stupid very STUPID assumption / did not pay attention to the fact the CSDR examples used "rtl_sdr" and the very first CSDR function was to conbert to U8_f which caused the sample rate to be 4 times what I needed it since the OpenWebRx passed CF32 option !!  BIG DOH!!!  So basically I just had to exclude the "csdr convert_u8_f" command and leave it as C32F for the next CSDR command.
Once I had that little gem sorted, then everything worked as expected, but the CSDR notes where not 100% clear to me for some of the CSDR function paramters but I was able to reverse the values and work them out.  So below I have used variable to hold important values and results of calculation that help clearly show how the arguments to these CSDR function are calculated.  It also allows you to quickly and safely alter / play with values.

The first actually passes the stream to "mplayer" to allow you to hear it. The second is example of passing the stream to "Direwolf"

Example 1: MPlayer

       

export SDR_SAMPLE_RATE=5000000
export SDR_GAIN=IFGR=35,RFGR=2
export AUDIO_SAMPLE_RATE=48000
export AUDIO_GAIN=0.32
export FREQ_CENTER=145500000
export FREQ_MON=145175000
export FREQ_MON_BW=12000
export FIR_DISC_FACTOR=`python -c "print float($SDR_SAMPLE_RATE)/float($AUDIO_SAMPLE_RATE)"`
export FIR_DISC_TRANS_BW=`python -c "print float($FREQ_MON_BW)/float($SDR_SAMPLE_RATE)"`
export SHFT_ADD=`python -c "print float($FREQ_CENTER-$FREQ_MON)/$SDR_SAMPLE_RATE"`
 
nc -v 127.0.0.1 4951 | csdr shift_addition_cc $SHFT_ADD | csdr fir_decimate_cc $FIR_DISC_FACTOR $FIR_DISC_TRANS_BW HAMMING | csdr fmdemod_quadri_cf | csdr limit_ff | csdr deemphasis_nfm_ff $AUDIO_SAMPLE_RATE | csdr fastagc_ff | csdr gain_ff $AUDIO_GAIN | csdr convert_f_s16 |  mplayer -cache 1024 -quiet -rawaudio samplesize=2:channels=1:rate=$AUDIO_SAMPLE_RATE -demuxer rawaudio -

       
 


Example 2: Direwolf

       

export SDR_SAMPLE_RATE=5000000
export SDR_GAIN=IFGR=35,RFGR=2
export AUDIO_SAMPLE_RATE=48000
export AUDIO_GAIN=0.32
export FREQ_CENTER=145500000
export FREQ_MON=145175000
export FREQ_MON_BW=12000
export FIR_DISC_FACTOR=`python -c "print float($SDR_SAMPLE_RATE)/float($AUDIO_SAMPLE_RATE)"`
export FIR_DISC_TRANS_BW=`python -c "print float($FREQ_MON_BW)/float($SDR_SAMPLE_RATE)"`
export SHFT_ADD=`python -c "print float($FREQ_CENTER-$FREQ_MON)/$SDR_SAMPLE_RATE"`
export DW_HOME=/home/drifter/sdr/aprs/noniss
export DW_CFG=$DW_HOME/direwolf-local.conf
export DW_LOG=$DW_HOME/logs
 
nc -v 127.0.0.1 4951 | csdr shift_addition_cc $SHFT_ADD | csdr fir_decimate_cc $FIR_DISC_FACTOR $FIR_DISC_TRANS_BW HAMMING | csdr fmdemod_quadri_cf | csdr limit_ff | csdr deemphasis_nfm_ff $AUDIO_SAMPLE_RATE | csdr fastagc_ff | csdr gain_ff $AUDIO_GAIN | csdr convert_f_s16 |  direwolf -c $DW_CFG -l $DW_LOG -a 10 -t 1 -n 1 -r $AUDIO_SAMPLE_RATE -b 16 -d aupim -

       
 


You can substitute the "nc -v 127.0.0.1 4951" with the one of the following if testing outside of OpenWebRx:

For RTL SDR Dongles (just remember to adjust the SDR_SAMPLE_RATE to something more suitable for the RTL SDR ie 2400000):

rtl_sdr -s $SDR_SAMPLE_RATE -f 145000000 -g 44 - | csdr convert_u8_f 

For SDR configured and available via RX_SDR:

8Bit examples:

rx_sdr -F CU8 -s $SDR_SAMPLE_RATE -f $FREQ_CENTER -g $SDR_GAIN - | csdr convert_u8_f 

32Bit Example:

rx_sdr -F CF32 -s $SDR_SAMPLE_RATE -f $FREQ_CENTER -g $SDR_GAIN -

That's All Folks, Hope this helps you out with you APRS and any other digital decoding project you be having in conjunction with your OpenWebRx portal.

73 de VK4TMZ

Wednesday, 13 June 2018

Setting up APRS IGate - Windows via SoundCard

APRS is a very useful aspect of the amateur radio hobby. If you haven't heard of APRS (Automatic Packet Reporting System) then check out Eric (KJ4YZI) from HamRadioConcepts . As Eric points out the main point of APRS is MORE than just vehicle tracking its about linking and sharing information via radio.

For me to get started I used the YAESU FT991A which has the onboard sound card so its ready to go. Around the world different regions will use different frequencies for APRS so for Australia we will be tuning into 145.175MHz. But please lookup and use the appropriate APRS frequency for your region.

There are multiple tools to decode APRS as well as pushing all the decoded APRS messages up to APRS servers to share this is were you act as a IGate.  

AFSK1200 decoder for APRS 

  • Once you have the sound level right the APRS messages should start appearing.

Setting up an IGate - Windows 

  • If you which to partake an become an IGate and upload the APRS messages you are decoding then again there are many options however for this article I will focus on using "APRSIS32" (APRS UI and IGate application) and "AGWPE" (TNS/Packet Engine that can decode APRS signals via Soundcard).
  • Download the "free" version of the AGWPE and review the following information for installing and configuring AGWPE via SoundCard - "Basic AGWPE Program Configuration".
  • To publish APRS messages you need to request a "passcode".  There is a online passcode generator that I found afterwards. But I'd recommend you follow the process of requesting as it does not take long for them to response with the code.

That's All Folks!

Stay tuned for my next post where I integrate "Direwolf" linux based KISS/TNS tool to decode APRS traffic from a feed tied into my SDRPlay RSP2PRo which is available online via SDR.hu call VHF (2m Amateur band) - Brisbane, Australia (VK4TMZ)(OpenWebRx).

73 de VK4TMZ

Thursday, 4 January 2018

Getting Your RTLSDR Online Using OpenWebRx

Over the Christmas break a few like minded folk including myself monitor and share each others HF/VHF comms of the Sydney To Hobart Yacht Race (S2H) via the internet.  This year we were missing someone to help cover the NSW south / mid coast. Searching the web I stumbled onto "SDR.HU" which has a heap of online KiwiSDRs plus a few RTLSDR online and free to access.  (Note: the KiwiSDR project has forked code from a project known as "OpenWebRx").

The KiwiSDRs allows a bandwidth of 30MHz which covers the HF spectrum and allow (depending on processing power) up to 4 concurrent users to each have a virtual RX and tune to any frequency within the 30MHz.  This is a fantastic feature as most other online receivers  either only a single user can tune the spectrum (ie GlobalTuners), or most of the Multi user WebSDR ones are fixed to a set of bands usually the Ham bands which means does not cover the 4483 / 6516 kHz which are the frequencies used during the S2H yacht race.

On the SDR.HU site there was about 6 online KiwiSDR's online located in (SA, VIC, NSW and TAS).  Fortunately 2 of the Kiwi had fairly good antennas connected and in good locations:

  1. SDRTAS - Launceston, Tasmania
  2. Tecsun Radios Australia - Goulburn NSW
The Tecsun KiwiSDR was fantastic and we had great coverage of the start of the race until the yachts got near Bass Strait / Tasmania were the Tasman KiwiSDR and our groups coverage took over.

For Christmas Santa had brought me a SDRPlay RSP2Pro and I loved the idea of this this online, so I took a look at what was involved and had it online fairly quickly.  This post is not about the SDRPlay and I'll cover that in another post.  This post is about getting your RTLSDR online.  You do not need to register it under SDR.HU if you wish to have it private, but why not! the more the merrier right!

Even thought you the bandwidth of the  RTLSDR is around 2.048 MHz (without too much stress on CPU or loss of quality) and  if like me you have more than one it can put each one online and provide coverage of  a single large or even multiple band segments.

There are many useful HOW-TOs out there that can get you quickly up and running such as:

  1. Getting RTLSDR and OpenWebRx installed and running.
  2. Compile and installign SoapySDR and SoapyRTLSDR libraries and utilities.
  3. Compile and install RX_Tools and SoapySDR 

From the above sources of HOW-TOs I've put together a single script / set of commands that is needed to install the (Development Tools, OpenWebRx, Rx_Tools, SoapySDr, SoapRTLSDR etc)

Download - "install_openwebrx_rtlsdr.sh"

Testing RTLSDR device

Once you have installed the necessary libraries etc, you can now plug in your RTLSDR(s) .  The following are example commands to (find / probe) the RTLSDR dongles.

rtl_test -t



SoapySDRUtil --probe



SoapySDRUtil --find



If you do not successfully see your RTLSDR listed, then please go back over the HOW-TOs and my script to see where the error may have occurred or step omitted and apply corrective actions.

Setting up OpenWebRx

If you have used my install script there is a folder "~/sdr/openwebrx" which contains the OpenWebRX project.  You can copy / clone and rename as many of these folders as you need for each RTLSDR you wish to run.

I will not be going into any detail about each of the config items but I have included two versions of the config files that I use when running my 2 RTLSDRs on the same PC.

  1. NooElec (see photo) - config_webrx.pl (configured to Monitor UHF Satellite and Repeater Output segments 436.9 - 439 MHz) 
  2. UV_HF (see photo) - config_webrx.pl (Configured to Monitor VHF Marine Simplex 156-158 MHz)
(FYI: I actually originally wanted to monitor the whole UHF Ham Satellite and Repeater Ouput 435 - 439 MHz but the UV_HF seems a little deaf on UHF even with the RF gain set to 49.6, note to self get another SDR to replace the UV_HF. On another note and not to be greedy, but another RTLSDR (or SDRPlay) would nice to monitor the Maritime Repeater Output between 160-162 MHz)

What I will make note of is that in both config files the "rtl_sdr" and "rx_sdr" config sections are valid and working.  I do have them currently on "rx_sdr" as I like it better because unlike the "rtl_sdr" were I can only specific a device number via the "-d" option, the "rx_sdr" allows you to specify a query so in my case its the "serial number".  This means if I unplug one of the devices the correct devices will be found and the issue of the ordering device number changing does not come into play.

Helpful hint: Tor working out what waterfall max/min level values to use go via your browser hit the button to auto-adjust the via the browser debugger looks at the values stored in "waterfall_min_level" and "waterfall_max_level" and update your config file accordingly.

That's all folks!! Hope the above get you online and sharing your RTLSDRs!
73
Mark (VK4TMZ)

Wednesday, 1 November 2017

Setting up ALE^Stat to work with PCALE

ALE^Stat is a great tool that can monitor PC-ALE / MARS-ALES activity and will post events (ie "soundings" received) upto HFLink or relevant web portal.

Head over the PC ALE Support Site and download the latest version of "ALE^Stat".   Install was easy and the documentation and configuration is fairly straight forward.

What had me initially stumped, was where was the "telnet" config option under PC-ALE ?  Well I found it but for some reason its not document under the "PC-ALE User Manual" or even ALE^Stat documentation.

Open  PC-ALE and under "Configuration->SWALE"  put in your PC IP and port number (63023) and check the "Interace Enabled".  If "ALE^Stat" was running you will see that it will "connection".  Then any activity decoded my PCALE will be reported to HFLink assuming you have enabled HFLink Reporting and entered you HFLink details correctly.

Load the same QRG file you have used for PCALE under ALE^Stats "frequency" menu.  Then ensure you have ticked the frequency under HFLink column that you wish to report / upload events to HFLink.

Not much more to say here! Have fun

73!!
de VK4TMZ

Tuesday, 31 October 2017

Introduction - de VK4TMZ

de VK4TMZ my name is Mark and I enjoy Amateur Radio (aka Ham Radio) and dabbling in with electronic. I've been into SWL since grade 8 back in 1990 when my English / Science  teacher introduced me to the world of radio.  Its taken me nearly 25 years of enjoying SWL and the fact I'd turned 40 yrs old I finally bit the bullet and start of 2017 I got my Foundation Call and the call sign VK4FMAX.   Within 5 months I then rose up the ranks to  my Advanced Call VK4TMZ so 2017 has been the year of the "radio" so to speak for me.

VK4TMZ Advice #0001  -  DO NOT WAIT 25 years to go for your radio license! Hook up with a local radio club and they will help you work you way into radio.

This blog site is a place were I can put some posts about my adventures into this funtastic (fun and fantastic) hobby of Radio (antennas projects, digital mode, software etc), Computers and Electronics.

Disclaimer!!
Hope you enjoy the content I put up, BUT!!! please keep in mind, I'm not responsible for any damage to self or equipment that my occur while following my blogs and attempting to reproduce the activities.

73!!
de VK4TMZ