Saturday, August 31, 2019

The rise of shortwave broadcasting from China

On recent drive across Australia I was struck by the amount of shortwave broadcasting from China that could be heard.

There is some data available from the HFCC - International Broadcasting Delivery.

The files are fixed width fields which list broadcasts by frequency along with start time, end time, which days of the week, the country, the broadcaster and more.

Countries may have multiple broadcasts on different frequencies at the same time.

To measure output, I calculated the minutes on air of each listed broadcast and multiplied it by the number of days in each week that it's on and aggregated them by country.

Here are the top broadcasters as at August 2019. (Click for larger view).



Here's 2010. It's China, USA, Russia...



Here's 2000. Russia, USA, China. How times have changed.



Here's the changes amongst the top broadcasters now over this period. China is clearly on the rise.



There are many flaws in my simple analysis:

  • Shortwave is used within large countries such as India and China for internal consumption.
  • Different power levels and transmitter site and antenna direction should be taken in to account.
  • The data may not cover all broadcasts "At present about 85 percent of the overall amount of global shortwave frequency requirements used for broadcasting is kept in this database. The missing 15 percent comprises some smaller stations in Africa and Latin America, as well as stations in the so called tropical broadcasting zone that employ shortwave transmissions for local listeners and are not interested in international co-ordination."
  • Some transmitters use more than one antenna system at a time (beaming in different directions), currently I count those as two broadcasts.
  • Radio New Zealand International provides programs which are broadcast in the Solomon Islands and Vanuatu but I'm counting those as broadcasts from the administration countries rather than NZ.
  • Several people have commented that the UK seems under represented in this data.
  • There are, of course, other options including satellite, FM relay, and internet streaming but this post isn't about those.

I note with sadness that in 2010, Australia was placed 12th, in 2019 we are 57th.

Please let me know if someone else has done any analysis in this area. My thanks to HFCC - International Broadcasting Delivery for making this valuable data freely available.

Tuesday, August 27, 2019

WSPR Watch iOS app now reads from PSKReporter

After playing with PSKReporter recently, and being impressed with its speed and features, I've updated the WSPR Watch app so that you can switch between reading WSPRnet and PSKReporter.

There is so much FT8 traffic these days that just listening for CQ calls is a good way to get a reading on the propagation around the world. I note that, compared to WSPR spots, there are many different stations so the map looks busier.


If you have an iOS device, grab the app, (it's free). In settings you can switch to use PSKReporter.


Here's how the list looks now.



My thanks to John Landry, AA7US and Ross, VK1UN for encouragement, ideas, and testing.

Friday, August 23, 2019

PSKReporter could replace WSPRnet

WSPRnet is a great service but frustratingly it's sometimes slow or down. Recently I've discovered that the PSKReporter site provides a similar service and seems to be very reliable. WSJT-X can be set to send reception reports to it very easily and you get a map view like this:


This shows FT8 reception by me here in Sydney on 40m. To enable reporting back to PSKReporter, go to settings and just turn it on.


The site's domain name is PSKReporter but it's much more flexible than that and currently lists a huge number of modes:

FT4, FT8, JS8, CW, SIM31, PSK, PSK31, IFKP, OPERA, JT65, JT, JT65B, OLIVIA-4, RTTY, ROS, PI4, MSK144, OLIVIA 8, OLIVIA, JT9, FM, PSK63, SSB, PSK125, FSK441, JT4, CONTESTI, OLIVIA 4, QPSK31, OLIVIA 1, PSK62, OLIVIA-3, SSTV, WSPR, THOR11, THOR8, MFSK16, PSK32, OLIVIA 3, JT6M, SIM63, OLIVIA-1, MFSK32, THOR, THOR22, THRB, MFSK8, T10, DOMINO, MFSK4, FSQ, FAX, RTTY-45 , FREQCAL, JTMS, HELL, 8PSK125, QRA64, SSS, THOR4, THOR16, PKT, FMHELL, -FT8,

Data can be downloaded in ADIF files that look like this:

This data comes from http://PSKReporter.info 3.0.4http://pskreporter.info$Id: cgi-bin/pskdata.pl $
7.07574012703.8FT8VK2TPMQF56of6220190822021029-1VK4REAustralia150QG62jjNIL1
7.075405229245.7FT8VK2TPMQF56of6220190822031214-18VK1DCAustralia150QF44nt93NIL1

This is Amateur Data Interchange Format. Submissions from software is fully documented and they provide a library for Windows developers.

I'm really impressed with the work done on this site. A very professional job.

I've started work on adding PSKReporter to the WSPR Watch iOS app. They don't have all of the information that's on WSPRnet but enough to be useful.


There is lots of FT8 activity so it's a good data set to view.


I'll have this up on TestFlight in a few days and hopefully in the App Store soon.

Monday, August 12, 2019

Faithful Maytag washing machine gives up after 30 years

Our Maytag washing machine made screeching noises and smelt of burning this morning after 30 years of hard service.

I think we've had it serviced twice in that time. It's been moved a few times and bashed about a bit in the process.

This machine has handled the nappies and clothes from two babies and given reliable service along the way. Recently I put some bleach in the bleach input and noticed that it drained out on the floor.



Do washing machines even have settings for Permanent Press any more? I enquired about repairs and the bloke that took the call laughed and said "you've had a good run". Spares are difficult to get and service people aren't keen to open them up.


Made in Newton Iowa, USA. Max working pressure: 10 bars. I doubt the replacement will last 30 years, mind you.. I may not either.

The replacement has arrived. I wonder if the touch sensitive buttons will last as long as the mechanical knobs did. Great that it shows how long to go.


Where's the permanent press cycle?


Hmm, sounds ominous.

Manly to Spit bridge Sydney walk

It was cool but sunny. A spectacular day to do the walk from Manly to the Spit bridge on Sunday with Peter, VK2EMU.


There are spectacular harbour views along the way. (Click to enlarge).


The city looks great too.


We did the walk pretty quickly and it does involve some steps up and down.


I felt pretty tired and sore the next morning but would recommend this walk to anyone visiting Sydney. A great way to do it is to start by catching the ferry to Manly.

Saturday, August 10, 2019

NSW house sale prices data for free

I have a new interest in the prices that houses in my state have sold for recently. Searching for this data turns up many services that provide it but generally they ask for a fee or even a subscription to give access. It seemed to me that surely this is public information that the government has for stamp duty or other reasons.

The information is available on a weekly basis from Property NSW on the Bulk property sales information page. The data "is available under open access licensing as part of the NSW Government Open Data Policy and is subject to the Creative Commons Attribution 4.0 Licence". Great stuff!

Each of the blue buttons is a zip file of .DAT files with sales data in them, the format is a little inconvenient but is well documented here.

To make use of this data, by loading it into a spreadsheet, I've written a little python 3 program that takes a folder with downloaded zip files, extracts the .DAT files, parses them and outputs tab delimited CSV files that will open in a spreadsheet.

# Read house price data files from: https://valuation.property.nsw.gov.au/embed/propertySalesInformation
# B;001;4229165;5;20190805 01:00;;;86;MAURICE RD;POKOLBIN;2320;1.038;H;20190613;20190725;850000;;R;RESIDENCE;;;;0;AP418234;

# Directory that contains the zip files
DOWNLOAD_DIR = "Downloads"
FIELD_NAMES = ["Record Type",
"District Code",
"Property Id.",
"Sale Counter",
"Download Date / Time",
"Property Name",
"Property Unit Number",
"Property House Number",
"Property Street Name",
"Property Locality",
"Property Post Code",
"Area",
"Area Type",
"Contract Date",
"Settlement Date",
"Purchase Price",
"Zoning",
"Nature of Property",
"Primary Purpose",
"Strata Lot Number",
"Component code",
"Sale Code",
"% Interest of Sale",
"Dealing Number"]

import os
import zipfile

def main():
printFieldHeaders()
files = os.listdir(DOWNLOAD_DIR)
for azipfile in files:
zip_file_path = os.path.join(DOWNLOAD_DIR, azipfile)
archive = zipfile.ZipFile(zip_file_path)
data_file_list = archive.namelist()
for data_file in data_file_list:
if data_file.endswith(".DAT"):
for line in archive.open(data_file):
lineStr = line.decode('UTF-8')
if lineStr.startswith("B"):
fields = lineStr.strip().split(";")
for field in fields:
print("%s\t" %field, end='')
print()


def printFieldHeaders():
for fieldName in FIELD_NAMES:
print("%s\t" %fieldName, end='')
print()

if __name__ == "__main__":
main()