Here we go again...
Long post, very detailed. It may help some to avoid the initial struggles I faced, and give some extra information for those new to the WeatherFax signal on
HF Radio.
To test the Weather Fax plugin on the HF (High Frequency) bands, I used a digital receiver (SDR) hosted by the Univerity of Twente, The
Netherlands.
(BTW, U-Twente is the birthplace of the
concept,
hardware and software of the first WebSDR).
http://websdr.ewi.utwente.nl:8901/ (But wait before jumping there...
)
U-Twente can receive the Weather fax services from the Deutscher Wetterdienst (DWD)
service in Pinneberg,
Germany and the fax
service in Northwood, UK.
(Other WebSDR of various design exists all around the world.)
Emissions schedules :
The schedules and frequencies of all the official fax services worldwide are listed here :
https://www.weather.gov/media/marine/rfax.pdf
DWD and Northwood schedules are pages 46 and 47.
The detailed DWD schedule is here :
https://www.dwd.de/EN/specialusers/s...cationFile&v=1
Why multiples frequencies in the schedule ?
HF propagation is not like your smartphone, but varies a lot and is heavily dependent on time of day,
solar activity, season, radio waves reflection on the ionosphere, the geographic position of the receiver with respect to the emitter... you name it.
Different frequencies behave very differently. Depending on the time of day and your position, one frequency can be "deaf" while another will work.
For the dame reasons, some frequencies are only used at night, other only during daylight. See the schedules.
All active frequencies of a station carries the exact same signal, simultaneously.
You may have to switch frequencies from time to time if you loose the signal or it is too noisy.
The weather fax modulation and demodulation :
The image is sent line by line.
The fax signal is almost always sent in USB (Upper Side Band).
The fax itself appears in the audio band as a sub-carrier which is frequency modulated by the intensity of each pixel in the image (black & white faxes).
The subcarrier frequency is 1900Hz, and the "shift", from "pure white" to "pure black", is +/400Hz, or sometimes +/-450Hz, as used by DWD.
(I used both shift values and didn't see a notable difference on weather faxes.)
Tuning the receiver :
The frequencies given in the schedules are the center frequency of the modulation.
In other word, THIS IS NOT the USB tuning frequency.
The receiver MUST be tuned 1900Hz (1.9kHz) BELOW the published frequency.
(It comes from the
hardware fax receiver originally used onboard
commercial ships, that makes the frequency correction automatically).
As the frequency shift is +/450Hz around the 1900Hz subcarrier, all the useful signal lies between 1350Hz (pure white) and 2350Hz (pure black).
This means that everything outside this band is
noise and
interference ad can be removed by reducing the bandwith to these limits.
In a digital receiver (WebSDR), this is very easily done :
When you switch to "USB" in the WebSDR interface, the bandwidth is initially set to about 300Hz to 2700Kz. This is for voice operation.The yellow line materialize actual bandwidth. It can be reduced by dragging the extremities of the yellow section
Preset memories :
For the convenience of those who wish to use the same WebSDR and Weather Fax services than me for their tests, I made a preset file ("Memories") that can be uploaded in the U-Twente WebSDR.
This is the file "WeatherFax-DL-UK.csv" (see the files section).
To use it, select the "Memories" tab, hit "upload & replace" and select the "WeatherFax-DL-UK.csv" file.
Feeding audio into the plugin :
To connect the audio from the WebSDR (in your web browser) to the WatherFax pluguin, you need a "virtual patch cord".
For Windows & Mac, a well known tool is here :
https://vb-audio.com/Cable/
In
Linux, you need to install the alsa loopback module. Available in all distros..
After that, If you use PulseAudio, the tool "pavucontrol" will offer both a "virtual sink" that you can use to connect the browser output to the plugin input (but you will NOT hear any sound), or use the new "monitor" device to use your usual speakers output as a source for the fax plugin.
This avoids the pain of the otherwise rather obscure alsa loopback direct configuration.
To see the WeatherFax plugin input appear in pavucontrol ("Record" tab), you must have already started a capture in the plugin (plugin menu "Retrieve / Capture").
Identifing the fax starting point
The sound changes from a steady tone to some modulation at the start of a fax, and back to that steady tone at the end.
You will quickly be familiar wit that sound.
Apparently, the plugin can catch in the middle of the
transmission.
Decoding the fax in realtime :
Launch a capture in the plugin ("Retrieve / Capture" menu)... simple.
If you get a "Can't configure ..." error, try changing the audio device number in the plugin's preferences.
If you want to abort, press "Cancel". Simply closing the window won't abort the reception and you will not be able to start a new capture untill you actually "Cancel" the
current one.
If you closed the window during a capture, the only way I found to show the closed window again is to click the "WeatherFax" icon in main the toolbar (!!).
Saving and viewing the Weather map :
After the reception of the fax, you have to click the "Next" button. A new dialog pops up, where you have to add it's geographical extents and projection. You won"t be able to go on until these info are filled.
Personally, as I don"t have the necessary info, I just set X/Y at 1 & 1, and voilà.
This is enough to be able to examine the fax.
After that click "Next" again to go back to the main plugin dialog.
The new fax appears in the central list.
To save it in PNG format, select the fax in the list and use the menu "File / Save As".
Saving a .wav file in the receiver and viewing it :
The WebSDR interface allows you to save the audio to a file in .wav format.
This can be done while decoding the fax in the WeatherFax plugin (in parallel).
Just press the "Audio recording" "Start" button. It changes to "Stop". The recording is in memory at this stage. Press "Stop" to stop the recording.
A "Save" button appears, pressing it will write the recording in a file.
To decode the audio file in the WeatherFax plugin, use the "File / Open" menu and load the .wav file.
If the map doesn't appear, just play with the vertical slider of the window. This should unlock the view...
I noticed that some defects (tear up of the map) you get during the realtime reception are magically cured when you load the same data from the audio file (recorded simultaneously).
Results and comparisons with other WeatherFax softwares :
For comparison, I used Fldigi (an Ham Radio app) and mostly JWX, a dedicated weather fax decoder. JWX was developed by Paul Lutus (of Apple Writer fame).
https://arachnoid.com/JWX/index.html#Radio_Receiver
BTW, on his site, there is a free e-Book he wrote, relating his 4 years
circumnavigation on a 31' William
Crealock designed sailboat.
https://arachnoid.com/sailbook/index.html (I'm at chapter 4 and enjoy the read
).
Methodology : I ran
OpenCPN and JWX in parallel, and recorded the audio at the same time.
Images and .wav files are available (link in the "Files" section)
A first waether map received from DWD:
Note the tearing of the image, which is present in both the OpenCPN and in the JWX
images.
1) OpenCPN realtime receive :
Using the default "out of the box" plugin's settings. The line length is 1024 pixels.
The image is obviously too narrow.
2) The same image received by JWX :
3) The .wav file reloaded into the Weatherfax plugin.
The tearing disappeared !!!
I've set the line length to 2048 pixels.
Skew and border alignment (offset) are adjusted (using the two sliders on the right).
Beautiful result.
Second map from DWD, same comparisons :
1) OpenCPN WeatherFax plugin, realtime reception :
No tearing, but a constant start-of-line offset error.
The plugin remembered the line length setting at 2048 pixels.
2) Same in JWX :
No offset error.
3) .wav file reloaded into the Weatherfax plugin :
After offset and skew adjustmlent :
Files :
https://drive.google.com/drive/folde...Pg?usp=sharing
Enjoy !
Pierre.