Sunday, July 20, 2014

JT65A Sandbox Environment

After working with JT65A on HF now for a couple of weeks I wanted to better understand it, and explore some of it limits, particularly how weak a signal can be and the effects of poor time synchronization. I set out to connect up a simple sandbox environment. I wanted the environment to be independent of the Internet so that meant I needed a local time source using NTP. The sandbox environment has two (2) PC stations running WinXP and JT65 HF v1.0.9.3 HERE and a Meinberg NTP client HERE. Theses are connected to each other via a passive audio mixer. In addition a third PC is running Linux with NTP and Audacity. All the PC are on a common LAN. The following drawing shows the basic layout:


The first step is to configure the NTP server on the Linux PC to act as a time source. The main point here is to provide a common time source for the two WinXP PCs to sync their clocks with to within +/- 1 second per the JT65A requirements. They don't have to be sync'd to the "real" time just a time. The NTP package used is the standard Linux NTP. The /etc/ntp.conf file just needs a simple addition. The following two lines need to be added the the /etc/ntp.conf file:




server  127.127.1.0
fudge   127.127.1.0 stratum 10

 


Once this change is made the NTP server will need to be restarted or you can just restart the Linux PC. Now with the time server on the network the two WinXP PCs will need to know about it so the ntp.conf file on each PC will need the time server name or IP address added to the the current list of time servers. The Meinberg NTP application has a shortcut to edit the file just by going to Programs>Meinberg>Network Time Protocol>Edit NTP Configuration. Just add the following line:




server  mytimeserver iburst

 


After this edit you will need to restart NTP which is available via Programs>Meinberg>Network Time Protocol>Restart NTP. Now you can use the Meinberg NTP status command via Programs>Meinberg>Network Time Protocol>Quick NTP status. You should see your NTP server listed with a delay, offset and jitter values well under 1000. These are in milliseconds, so you should see values under 200-600 milliseconds for the offset. If all values are zero, something is wrong and your NTP client is not seeing your NTP server or your NTP server is not running or configured correctly.

Now you are almost ready to use the sandbox environment. Next you will need to simulate the band noise. I am using Audacity on the Linux PC as noise source. I just start up Audacity then I generate 30 seconds of noise which is a built-in function of the tool. Then I loop that noise in the player which will keep playing over and over until you stop it. Look at the Audacity web site for details and tutorials HERE. Next we get JT65 HF running on both WinXP PCs and adjust the noise level so that both are adjusted to 0 db in the JT65 HF client using a combination of its level controls and the passive mixer. The passive mixer has is just a resistor network. Each mixer channel is a 50k ohm potentiometer followed by a 50k ohm resistor. The input comes from the audio out of one PC and the output of the mixer goes to the mic input of the other PC. Below is one channel of the mixer. 


All the the outputs of the passive mixer are tied together to go to all the mic inputs. So for this environment three channels are needed (one for each PC plus the noise source), see the basic layout drawing above.

With this setup, I have been able to simulate signal levels from -3 db to -22 db. I may use this environment to demonstrate JT65A and other digital modes like PSK31, RTTY, FELD HELL and others.

No comments:

Post a Comment