Thursday, May 21, 2015

Multitx User Interface for Review


Hectic user Interface development work is ongoing. Here are the first semi working models. The user interface code (signals) link back to stub functions to the main code. Consider this as a mocup, with some integration already in place.

Please note! This does not remove any of the existing WSJT-X GUI components. This is a new window related to multitx functionality only!

Main Window

Shows the status of:

  • Ongoing QSO
  • Completed QSOs (200 last QSO).
  • Busted QSOs
  • Sponsors in the log.
  • Shows various status messages depending on verbosity level.


  • Working Up / Down (or both).
  • Maximum parallel QSO count.
  • Affinity limit for parallel QSOs (affi limit).


Area Affinity

I have introduced a new concept that I have dreamed of for many years. Affinity to certain calls / geographical areas. The computer picks the right calls from the pileup for processing based on affinity. Higher the affinity level, the more processing priority the call gets.

Note that the Affi limit comes to play here. If affi limit is set to for example 11 “Work Down” and Japan + VKZL affi limit is set to 12 then ONLY JAs and VKZL stations will be worked DOWN from my CQ frequency. Affi limit 0 (Work Up) enables the rest of the world being worked above. This is not exclusive, i.e. JAs and VKZL will be also worked Up with higher priority, but they get very exclusive treatment with this setup.


Call Affinity & Blacklists

What if the operator wants even more fine grained control of what stations to work or what stations NOT to work. The next tab is an effective and simple way to create for example Blacklists. Just set Affi limit to 1 and define Call affinity 0 to certain missbehaving stations. In this case all OH9 stations are blocked and also our local clubstation OH3NE. No qso will be granted to these guys. Sorry!

On the other hand a special treatment will be granted to OH3T, OH3BK and OH1LXF. Note the affinity 50 and affi limit 40 set for “Work Down”.


Remember Your Sponsors

Finally, if you are going to a DX pedition and you have sponsors. A nice way to remember them is to give a special treatment at least at some point of the pedition. Sponsors can be give a special high affinity and they can be worked down even if the “work down” is not checked from the first page.


Comments are welcome!

Thanks, Toni oh3t

Tuesday, May 19, 2015

JT Multi–Developent Update


A lot of code already in place and lots of tests already been run with the new code.

I try to runt tests immediately when piece of functionality is more or less complete. Very agile development method Iloiset kasvot

I have been running test with five parallel QSOs in different phase and start order.

  • All QSOs are maintained in a two-directional dynamic list.
  • QSO objects maintain their respective QSO state and JT9/JT65 transmit tones.
  • Object constructors and destructors maintain the list integrity and order.
  • Logging functionality is also integrated to QSO objects.
  • Busted QSOs are also handled gracefully and removed from the list.
  • Ongoing QSO may QSY at any phase during QSO Iloiset kasvot
  • New QSO is checked against ongoing ones to safeguard ongoing QSO Tx frequency. No QSO overlap is allowed.


Lots of debug printout still left in the code…


Biggest single item still missing is the user interface. Maybe tomorrow I can start working on that.

Thanks for reading!

Toni oh3t

Saturday, May 16, 2015

Please Control The ALC!

This is how a bad case of splatter looks like in JT9 waterfall.


There is very simple solution for this. I have been educating this to everyone who I have introduced to digital modes.

Step 1: If you have option in your rig to turn ALC (Audio Level Compression) off please do so for ALL digital modes!

Step 2: If you can not turn ALC off you need to set the audio level low enough for ALC not activating and power still going out to the antenna system.

I have found that easiest way to control ALC is with the option: MIC GAIN in my rigs.

This is how perfectly set mic gain looks on the ALC and Power meter:



About 20 watt going out, Zero ALC activation. You need to explore what is correct mic gain for your audio level.

Here is the same for Yaesu 1000mp.



You can see no ALC activation on the ALC meter.

Please clean up your signals!


Toni oh3t

Thursday, May 14, 2015

Multi Tx Development Progress


Finally, after several days of work I was able to run the first on-air tests.

Here are some of the screenshots:


In this picture OH3T was calling CQ at 2456 (Hz).

I was remoting OH3NE and replied by clicking the CQ and then immediately moving the Tx freqeuncy to 2161 from the waterfall window. You can see that OH3T keeps on calling CQ on the same time at 2456 throughout the QSO. This is very valuable since, directives can be given and Tx message can be changed from the user interface, while running QSOs on split frequency.

This is how it looks in the waterfall. The IMD is caused by receiving rig saturating due to very close proximity to my home QTH.


The implementation is fully scalable with dynamic data structures,  audio mixer, etc. Each QSO can be in different phase. The QSO status is maintained inside a new QSO object structure, and QSO objects are in a dynamic list in frequency order.

Still quite a bit of development to be done before I can go live with this software. For example no user interface yet… Having said that, I think thet the proof is there and this concept is worth developing further.

Hope to CU on the bands!


73s Toni

Friday, May 8, 2015

No I am not a pirate!

Not a pirate!

A friendly HAM sent me an email today kindly noting that someone is pirating my call.

The reason being that on WSJT-X he decoded two transmissions on the same minute from OH3T.

That was not a pirate, that was my development version of WSJTX-multi running one signal on JT65 and another on JT9.

Lets take two steps back..

My Vision

I have university background in signal processing and software sciences. I love digital modes, but I hate RTTY. RTTY is inefficient, breaks easily in congested band, and usually is frustrating mode to work. No pun intended, that mode is just not for me.

I also love working DX. 300+ DXCC in the log.

What if we could make working digital mode DX fun again. I think we can. What I particularly like in JT modes is the structure, powerful encoding in tough band conditions, tolerance to aurora, and the fact that anyone can work DX with JT modes. You do not need massive antennas or linear amplifiers to make a contact with a distant station. This mode is a great equalizer! For example, past 8 days in a row I have logged a VK station on every single day. On the best day 10+ VKs in the log. Most of the stations via long path during the early morning my time.

One of the biggest issues regarding JT9 of becoming de-facto DX digital mode is that it is slow. If we omit sending the grid information we can have one complete QSO in four (4!) minutes. For DX purposes that is way way way too slow QSO rate. Now.. what if we could run multiple QSO at the same time, with one rig?!

I did my first tests roughly 5 months ago. I tediously constructed an audio file of 16 JT9 transmissions. I recorded my CQ calls with virtual audio cable (VAC) and Audacity. I mixed them together in Audacity and then played the audio back to my KX3 and by remoting the local club station OH3NE I was able to see what my transmission looked like. And voila, 16 complete messages decoded. So the concept works.

The maximum simultaneous transmissions so far I have tested the software with (generated by WSJTX-multi) is 40. Again, receiving with the clubstation while the 10 meter band was closed. 10 meter band is a very nice local QSO band here in OH land.

Past few months I have been modifying the JT code and during the past few weeks I have been also testing the software with one transmission only. Now I have added second one, but in another mode. I am trying to avoid confusion, but apparently still generating it. I am sorry for the trouble, but I need to test the software somehow in "production", as software engineers like to say...

Vision Becoming Reality

Still quite a bit of work to be done...

  • Dynamic power output control. 5 watts per signal is reasonable. 20 signals equals 50 watts out. With 200 watt rig or with linear amp the duty cycle is fine. One signal with 50 watt out is bad, so dynamic control is needed.
  • Current user interface is suitable only for one QSO per GUI instance. New user interface is needed for effective multi QSO use.
  • The internal mixer seems to be working fine, but more headroom is needed. Maybe 24bit audio instead of 16bit should be employed.
  • I decided NOT to increase threads in the system. The modulator is looping, generating and mixing the tx signals one by one.
  • Software is prone to errors, the whole QSO concept should be implemented as an object structure to clean up the software semantics.
  • Logging to central DB need to be also included.
  • Better split algorithms needs to be written.

Thanks for reading, CU on the bands!

Toni oh3t

Sunday, May 3, 2015

LoTW Upload 460 QSO since last update

Since last update 460 new JT mode QSOs uploaded to LoTW.

Activity on following bands and antennas:

30m - Moxon at about 16 meter.
20m - 3 el yagi at about 12 meter.
15m - 3 el yagi at about 12 meter.

Thanks again for responding to my CQ calls!

CU on the bands.


Toni oh3t

Monday, April 27, 2015

LoTW Upload


Just uploaded additional 250+ JT mode QSOs to LoTW.

Last QSO in the log:

27.04.15 19:19:00 WB2KEC.

Thank you for all the QSOs over the weekend. Lots of activity!

CU on the bands.


73s, Toni