Sunday, May 31, 2009

More on VisualQTH

VisualQTH is now essentially complete in its critical features.

A UDP listener is now implemented in order to respond to N1MM 'external broadcast' messages. As N1MM sends XML in the datagram, the actual code to handle the message is only about 4 lines long (Cocoa giveth very nicely in this case). Setting up the UDP socket isn't something Cocoa helps with, but I've done this a few times before, and some old code from my XPlaneCentre app served again very well :-)

So now, you can use N1MM on a machine on the LAN, and with 3 extra lines of code in the .ini file, you can have it send log messages to a machine running VisualQTH. VisualQTH maintains its own database of contacts and stations, thanks to the excellent Core Data, and so you can stop/restart the application and continue where you left off.

I'm now moving into the realm of "nice to have" features - at least for the intended purpose of the club field day. These will include synthesized 'QSL cards' for stations that don't have an image filed with QRZ. I'm thinking of putting up a flag of the country, with some overlaid text showing available address info.

I'd also like to implement some 'stats' in the bottom pane of the display, showing various totals and breakdowns (e.g. a pie chart for country). It would be nice to have a display of more information for the last contact made, if this information is available - perhaps in a pop-up info box in the map, or in the information display. Perhaps enough stations have a bio or website that could be displayed somehow.

After this, it's just a matter of testing it with the club machines to make sure everything works as planned.

Saturday, May 30, 2009

VisualQTH

VisualQTH - the app designed to visualise contacts during the club field day - is making good progress.

I have now implemented:

  • Map 'animation' (panning, then zooming out to show all contacts) when a new contact is registered
  • Voice announcement of the contact call sign and the station's morse ID
  • Loading of the station's image (QSL card) from the QRZ database and presentation of these cards in a column on the right hand side of the display
  • Overlay of the geodesic path from the home to the distant station when the station is announced
  • Overlay of station call, contact time, bearing and geodesic distance to the contact, over the QSL card image


There are still many bells and whistles to add, such as contact statistics (charts of contacts by country/state, by hour etc.).
The next important feature is to get the UDP listener working and to test this with an actual copy of the N1MM logging software.

Wednesday, May 27, 2009

Station Situation Display (part deux)

I've tinkered with the situation display today.

Here's the basic idea:

  • The application maintains a queue of contacts, which is filled as UDP packets are received from the N1MM logging software. I still don't know whether the master station transmits contacts received by its client stations, or whether we have to configure each station to send UDP packets - but that's a detail.
  • The situation display will dequeue a contact and look up the call sign online (at the very least using the QRZ service). It's primary goal is to ascertain the station's lat/lon. This may appear in the QRZ metadata for the station, but if not, Google geocoding is used with any information that we find in the metadata (full address, town, country, county, postcode etc.).
  • Once the station's location is determined, this is handed off to the visualisation (map), which will plot it with a 'pushpin' into a map. Using Google Maps is the easiest thing here.
  • When a new station is added, a short audio tone is played (maybe the station ID in CW), the map moves to show the location of the new contact, with good local resolution (i.e. it zooms), then after a few seconds the map zooms back out to possibly new bounds that shows the entires geographic extent of contacts made. In theory, this view should grow as contacts are made.
  • As contacts are made, specific metrics are computed from the set of contacts received during the session. For instance: totals by country, state, continent, greatest distance etc. These metrics could be shown on a ticker, or summary board along the bottom of the display.
  • Additionally, as contacts are made, if they have a station QSL card which we can retrieve, this will be downloaded, and presented in a column down the right hand side of the display, which will scroll down as new contacts arrive (i.e. the latest contact will appear at the top).


There may be other bells and whistles, but if I get anything like as much as this going for the 'field day' w/e then I think we'll be well served, and the display should serve as a point of interest for club members and visitors alike.

With that, here's the story so far...

We have the basic Google Maps integration. Here, we see it showing the 'starting condition' centred on the 'home station' QTH pin (configurable in a preferences panel):


The basic contacts data model has been created (not exactly a hard one):

This says "A contact has the attribute of occurring at a particular time and involves a single other station", and "a station has a bunch of attributes and may be involved in one or more contacts".

The basic QRZ database querying has also been written. There's also a test/manual contact entry dialog, available from the File menu that accepts a contact call sign and time and will look up QRZ metadata as soon as the call sign is typed in. Here's what it looks like currently:


Next steps are to write the contact queue and perform the map updating as new contacts are handled.
Watch this space...

Tuesday, May 26, 2009

Station Situation Display

At the NSARC HF meeting this evening, an interesting off-the-cuff suggestion was made that it would be nice to have a realtime projection of the contacts that the club station is making during the upcoming field day weekend (which this year is being held in the North Shore Emergency Management Office, where the club's permanent radio room is located).

It occurred to me, whether or not software already existed for this, that creating a realtime view of contacts made would not be too difficult endeavour, providing a few prerequisites can be established. These are:

  1. Obtaining near-realtime logging data for contacts being made (from the N1MM software the club uses)
  2. Obtaining position information as this data is received, from at least one call sign database


It appears that the N1MM software supports contact broadcasting via UDP, which is perfect for our requirements. This way, we can have the machine that is generating the contact visualisation receive contact data in real-time. Here's the reference I found.

Next, is the problem of obtaining position information for a call sign. The question here was whether there was a programmatic interface to a major call sign database, and indeed it appears that QRZ supports this via http, so long as you have a subscription. Clearly, any given query on this database for a given call sign is not guaranteed to provide lat/long info (if the owner of the call hasn't entered it), so it might be nice to use address info (at least state/province/county/town info) to derive an approximate lat/long. This might be possible via other web services such as Google, but will need further research.

So, it looks like we can cover the prerequisites for an application to work - at least at a minimum level. The next steps are to try out the QRZ look-up and build a call sign to lat/long class. If this works, another experiment should indicate whether N1MM stations can be configured to broadcast reliably to a 'visualisation machine'. If that also works, then things then the fun can really begin :-)

Monday, May 25, 2009

RS232 to USB

While I wait for confirmation that indeed, as I suspect, the 7800 has no way currently to get characters into the onboard PSK and RTTY utilities except via a directly connected USB keyboard, I have been looking for a suitable device to emulate a USB keyboard and drive key codes on the USB port form an RS232 (or other USB) port.

A device that looks promising is the Vetra Systems 331 USB protocol converter.



Such a device would certainly fit the bill, and allow me to use the internal utilities' presumably excellent radio integration with some home brew software that will do all the fancy text handling conveniences, including substitution macros and logging.

I shall probably order one of these (they're relatively cheap, and get even cheaper in OEM version without packaging). This also gives me the motivation to get cracking on my software, knowing that by hook or by crook I shall be able to use it as intended.

Saturday, May 23, 2009

IC-7800 PSK utility interface again

So far, no response on Icom Elmer (an Icom user's help site) regarding whether there's a way to scroll back through the text buffer of the PSK31 (or RTTY) tool built into the 7800. It strikes me that I'm either being dumb, or nobody knows of a way either but can't say categorically that one doesn't exist, or perhaps my question is too specific for many people to have any idea. Anyway, I'll keep monitoring for a few more days to see if anyone has anything useful to say on the subject.

In a related matter, I had a mind the other day to write a light-weight computer application for the IC-7800 to provide a richer PSK client for radio (e.g. including substitution macros and some logging capability). The idea was to continue to use the internal modulation/demodulation for PSK (or RTTY), which is presumably rather well integrated with the radio (e.g. correct drive level, filtering, AFC etc.), and to provide nothing more than a rich terminal client. My plans looked promising when I saw that the radio's RS232 interface can be configured to send decoded characters out... but there's no mention of receiving characters for transmission in the same fashion.

Assuming there's no way to inject characters into the PSK utility other than via a directly connected USB keyboard, there's still the option of building/obtaining a keyboard emulator and driving this to send appropriate keyboard key presses. This seems rather "round the houses" when one of the first things the PSK utility will do is convert key presses back to characters... but it might be the only way to achieve the desired ends. More research needed...

Wednesday, May 20, 2009

Update on Yaesu VX-8R charging cradle problem

As previously noted I have experienced a battery discharging issue when the radio is left turned on in its fast charging station.
This problem seems to be reproducible, as I have now experienced it multiple times with two batteries (regular and high capacity). Of course, it's simple enough to remember not to leave the radio on like this, and instead to plug the power adapter directly into the radio if you want to leave it on. The radio's trickle charge circuitry seems to work perfectly fine in this regard.

Nevertheless, I feel that this issue with the fast charge shoe should either be fixed or documented - assuming that it isn't unique to my unit. Given that my unit works perfectly to charge batteries when the radio is off however it would seem that the basic charge circuitry is working - and perhaps this is indicative of a general design flaw/limitation, rather than my unit being broken in general. I suppose though it is possible that my unit is incorrectly configured to charge correctly when there's a concurrent load on the battery, but the fast charger is extremely compact and probably designed for simplicity without an fancy configuration of this sort. It would be interesting to learn from other VX-8R owners with a fast charger whether they have had a similar experience.

Tuesday, May 19, 2009

PSK31 software on the IC-7800

All in all operating PSK31 on the Icom 7800 is quite a pleasant experience. As noted previously, the built-in software may not have all the features of external software - particularly substitution macros for stored messages and auto-logging, but it does a fine job at the business end of pulling the signal out the aether and of basic message transmission.

One question that's currently dogging me though is how to scroll back up the message buffer in the 7800's PSK decoder to review the QSO. I'm still a bit fumbly operating at the moment, and managed to forget another stations call after he sent a long 'brag' message. I simply wanted to scroll back briefly to remind myself of his call, but discovered that I didn't know how to do this! The manual is quite silent on the subject in both the RTTY and PSK31 sections, though it's possible that scrolling is a general feature that is dealt with somewhere in another part of the user manual (though I've been through this several times now for general background).

I'm assuming this is possible, but I just haven't figured it out yet. I shall ask around on some forums and check with my friend and Icom-expert Adam Farson. Without scrolling, I would certainly consider the decoder tool to be somewhat deficient - so hopefully it's in there somewhere!

Monday, May 18, 2009

First QSOs - 10W low power test, 30W SSB

With the R8 finally operational and connected to my IC-7800, it was time to properly commission the 7800 and start to open the envelope of the radio-antenna combination, not to mention time to start getting to know this monster rig.

The MFJ 259B analysis demonstrated that the antenna was basically functioning on all bands (despite the non-optimality of 10m), but it's another thing to see what it will do bringing in signals and usefully radiating the power fed to it. For reasons of curiosity, low-power requirements and relative simplicity w.r.t. radio configuration, I decided to try my hand at a PSK31 QSO to christen the HF station.

The 7800 has an RTTY and PSK31 terminal built right into its operating software, so there's no need to set up any esoteric computer connections, nor install/learn any other software. While the 7800 software environment for these purposes is quite simple by the standards of the latest PSK/digital mode software, it certainly covers the basics. Beyond straightforward typed transmission and reception on a given centre frequency, the radio software adds a simple 8-message memory facility. It also takes advantage of being tightly integrated in the radio by adding frequency lock-on features for RX and TX (known as AFC and NET modes, respectively). Presumably the integration must also extend to nicely tuned modulation, for a clean PSK signal - something that would otherwise need to be configured to achieve the proper modulation drive from an external AFSK audio signal.

Before setting out for a QSO, I edited the 7800's 8 message buffers to serve roughly for CQ, end of over, brag and signoff messages. A lot of PSK31 computer software seems to support message macros, complete with substitution for the other station's call, operator name etc. The 7800 does not have such a facility, presumably partly because without a mouse interface, the operator workload would be too great to set values for these elements in mid-QSO (most software simply has you click on pertinent pieces of received text to set these). Nevertheless some automated messages are useful, and you get to program the keyboard's F1 through F8 keys accordingly.

Having done basic prep, I hit the 20m waterfall, and found a little space for my CQ call. After only 2 automated CQ calls, I managed to 'scare up' a Minnesota station, KX0O, who I worked for a very brief QSO (I was interrupted by the XYL, so had to cut it short!). Still, the signal reports were 599 in each direction and I had my first BPSK31 contact under my belt!
All in all, my first experience of working PSK 21 was very pleasant. Using the mode is a quite a visual experience - the bandwidth being small enough to allow you to easily scan over many ongoing calls/QSOs and quickly move potentially interesting signals into the waterfall passband to investigate them. As mentioned, the 7800 has an excellent features (AFC and NET) to snap to the nearest strong signals, and holding down the appropriate function key, fully tunes the radio to the signal centre for the best possible copy. Working PSK31 for the first time unsurprisingly required more thinking about procedure than I'm sure it takes with practice, and I had to refamiliarise myself with some CW abbreviations to boot. In the heat of the 'battle' one is (overly) conscious about pauses, and because the radio is also new, I did not use the pre-programmed messages at all aside from the CQ call in this first QSO, nor any subsequent ones so far. No doubt, I will experiment with these over time and get them configured exactly how I want them - including some partial messages that require manual entry of the other stations details with the automated parts.

With some early PSK success, I increased the power a little to 20W and worked some other stations. At this power, my computer speaker system noticeably reproduced the "thrum thrum" of the PSK waveform - suggesting either poor electromagnetic immunity in its amplifier, or transmission along the mains. At this point the 7800 case is not separately earthed, so this seems like a good thing to try. PSK of course drives the transmitter at essentially 100%, so the effect is likely to be more noticeable than equivalent power 'average' SSB.

Finally, I decided to try my hand at 20m SSB with about 30W of power dialled in. The band was pretty noisy, but a number of stations were audible coming in from about a 1200 mile radius SSE to SE, from the US. Using the 7800's spectrum scope, I found a station calling CQ, and managed to work K6AER very successfully for a very pleasant 40 minute QSO, with a good report (he was coming in at 599+20dbs!). The computer speaker system seemed quiet while operating SSB (and I had compression off, so average power would be way down from 30W).

All in all, a very pleasant Victoria Day long weekend of playing radio and finally getting to play with (and learn) some of the 7800's features - including use of passband filters, notch filter and Noise Reducer, all of which worked amazingly well. The Digital Selector feature remains a bit of a mystery and will need some more experimentation to find when it can help pull a signal out of noise (I couldn't make it seem to improve matters, but that might be because it is mutually exclusive with the preamplifier).

As well as messing around with the radio, I got set up with eQSL ready to work the world!

My new Ham 'career' is shaping up nicely :-)

Sunday, May 17, 2009

Into the wild blue yonder...



... up where she belongs.

The extra wall bracket has been installed today, providing better security for the tower in the event of any unusually high forces (i.e. wind). The antenna has also been analysed for resonance/SWR on each band, in its installed location. The results are as follows:



All in all not too shabby. 40m, which was a little off when the antenna was tested 10' off the ground is now spot on where it was tuned according to the assembly instructions.

The only oddity is 10m. The 10m stub was installed per instructions and rechecked prior to raising the antenna. This has resonance at the absolute bottom of the band, and SWR creeps up over the band - still useable, but not quite where I think it should be.

With the antenna installed, I can turn more attention to configuring the radio.

Saturday, May 16, 2009

The R8 has cleared the tower...

...and now stands proudly at a height of about 12 metres at the top of its tower and mast.





Thanks to a posse of 9, mostly from the North Shore Amateur Radio Club, we were able to get the 21 metre long hunk of metal, consisting of triangular tower plus mast, plus R8, from the horizontal to the vertical. Thanks guys!

I would especially like to thank John White VA7JW, who's expertise in matters radio, and indeed the practicum of raising antenna towers, has been invaluable. John arranged the day, rounded up the help, provided invaluable advice and tips, and directed the actual lifting. As a brand new member to the club I've been truly impressed by the generous welcome back to the hobby.

The main concerns in relation to this particular antenna raising project, were the relative proximity of various power and communications lines. The tower is installed at the back of the property, and the while this is a very convenient location, it is nevertheless also close to where the service lines arrive into the property from an easement directly behind the QTH. A simple rotation of the antenna with the tower base at its footing would not have allowed the top of the R8 to clear coaxial lines for cable TV/internet. Additionally, it was essential that the tower not over-rotate, or swing away from the house, lest it become entangled with the service cables to the house.

In practice, the common method of lifting from the middle of the tower and then walking the base in toward its footing served well. A pulley arrangement relatively high in the eaves, hung from threaded eye bolts into the wall worked effectively, though the weight of the tower required 3 men on this lifting rope, and eventually also an improvised rope anchor (the kids' wooden climbing frame!). With the assistance of the anchor, the lifting rope could be locked while the base was lifted and walked in, which otherwise put considerable extra dynamic strain on those manning this rope. Besides the lifting rope, other ropes were utilised to pull the tower out from the eaves (important to avoid it touching the roof/shingles prior to landing on its standoff bracket as it reached the vertical).

With the tower up and raising team left to enjoy the rest of their Victoria Day long weekend, the next task was to create an cable entry point through the wall of the 'shack'. Then came time to finish running the feed line down the tower and in through the wall, and finally the fitting of the PL-259 plug ready for connection to a radio.

As a Brit, I'm still not completely used to the method of house construction here - but it certainly has its benefits when all you have to do is take a bore to your wall, then fit a length of PVC pipe through the hole to establish a little tunnel for coax. The biggest challenge of this task was planning the location of the hole!

So, at this point, I now have an installed R8 with a completed feed line, ready for testing. I still have a number of 'completion' tasks to undertake on the tower (install an extra wall bracket) and at the coax ingress point (exterior weather proofing and a temporary fill in the tunnel to keep out the weather/bugs). However, now at last the actual radio fun can begin!

Monday, May 4, 2009

R8 testing (analysis) and further prep

The R8 is now close to being ready to raise on the tower.

Adam Farson (VA7OJ) visited this week to give a quick test with his mobile HF rig and power meter. This was while the R8 was lying on its side and without radials. The results demonstrated some sort of resonance on all bands except 40m and 30m. The conclusion was that this was probably the best one could get with the R8 in that condition.

This weekend I endeavoured to perform a proper test having borrowed the club's MFJ Antenna Analyser. This involved adding the capacitance hat radials at the base of the R8, which having a diameter of over 2m certainly changes the handling of the antenna. Initially, I was at a loss as to where I could rig up a 9m long antenna with a 2m diameter effective base. Then I spied our 'wheelable', water ballasted basketball net. This was a perfect prop to lean the antenna up against, and bungie it relatively securely at some height, while the radials were added and for testing with the analyser.

Testing in this condition revealed that all the bands were now displaying some sort of resonance, though the 40m band in particular was resonant at a much lower frequency than it was supposedly tuned for. It turns out that this band is the most sensitive to ground proximity (and the antenna was sitting on the ground at this point). The theory was that raising the antenna a good 8' or so off the ground would raise the resonant frequencies somewhat and flatten the VSWR curves. Indeed, the manual for the R8 makes it abundantly clear that the antenna will not perform in close proximity to the ground. Luckily I had a spare 2" mast, so the plan was to jack the antenna up another 9'-10' and re-analyse.

Getting the R8 down from being strapped to the basketball net was relatively straightforward, though now, the base had to be propped up on a ladder to allow for the long radials. Equally easy was attaching the mast. The fun came with raising the antenna again with its extra 10' of length. The entire, top heavy R8 is now springing around 10 or 11 meters higher than you can reach to steady it. Similarly, getting this whole caboodle safely into the vertical from a horizontal start is somewhat hairy, and the thing was creaking and 'pinging' under its own weight as it was slowly raised by brute force to the vertical by me and my 17 year old daughter. We used the bottom of the garage wall to anchor the base (which otherwise would be tending to 'lift' until the antenna is beyond 45 degrees), and then had to walk the whole thing in the vertical to where it could once again be strapped to the basketball net. Walking something of that height is something best done very slowly and gingerly - a foot or so at a time, and in as coordinated a way as possible. It's tough to keep antenna and mast vertical while simultaneously moving the base. Looking up to judge the vertical doesn't work too well as you can see the antenna bouncing around, but have very little context (just the sky and a few trees in peripheral vision). Looking down at the last meter or so of mast close to the ground is better, relying on feel and the occasional glance upward to help 'rebalance' the antenna after every shift in position along the ground.

To cut a long story short, the antenna was eventually re-bungied to the basketball net, and retested with the analyser. The resonances were much improved, though still a little low in 40m and 10m compared to the tuned and expected results. The VSWR curves seemed flatter on most of the bands in which anything of a difference was noticeable over the band range. There might be some room for a little tweaking, though there might also still be a little improvement still with the R8 properly installed well over 8 foot above the apex of the roof.

I will make some final checks of the lengths of the radiators/tuning elements at 40m and 10m particularly, and may tweak just a little by shortening for these bands.

The next step (besides this checking) is to prepare the coax and attach it at the antenna's matching box, with appropriate weather proofing of the connection with silicone grease, electrical tape and "coax-seal". After this, the R8 can be attached to the tower mast and rigged for raising with ropes.

Here's a picture of the R8 on top of the 10' mast, bungied to the basketball net.