Hi gang.
After nearly two years I finally found time to release an update on PocketDigi.
The biggest new feature is DXCC lookup function and distance / bearing calculation. DXCC database from DXLab Suite was converted into a highly compact form and packed into the PocketDigi binary to simplify installation. PocketDigi 1.0.12 is therefore about 200kB bigger than 1.0.11. One could display DXCC information and distance / bearing from the QSO dialog or from RX view popup menu. The distance and bearing information will be more precise if both calls provide maidenhead locator.
I created the first official build for Jornada 680, which is the predecessor of the popular Jornada 720. 680 implements Handheld PC Pro operating system on Hitachi SuperH SH-3 CPU. Handheld PC Pro system does not provide notification on device wake up, therefore the waterfall will not resume after the device falls asleep and wakes up. You have to configure your Joranda 680 not to fall asleep when running PocketDigi. Also the Jornada 680 runs at 133Mhz while other Pocket PCs start at 206MHz, therefore one shall be careful not to open too many multiple channels.
I implemented configuration on waterfall scrolling direction (up/down/left/right). For visual CW it is convenient to let the waterfall scroll from right to left. I extended configuration choice on waterfall speed and resolution. At slow speeds the waterfall frames are averaged to improve resolution. I plan to add the QRSS waterfall speeds in near future.
For the ATS-3b transceiver I added configuration of the PSK31/63 TX waveform timing. The ATS-3b transceiver CW wave has nearly linear on/off ramps. The ramp slope is configured by C42 between source and gate of Q5. The value of 10nF provides transition times about 5ms. Changing C42 to 47nF and setting the PSK31 delay time to 6ms provides a PSK31 signal with IMD 24dB, which is certainly good enough at QRP levels.
I fixed couple of bugs and annoyances:
There was a bug in RTTY baudot table. H letter following a digit was sent as #. The error was inherited from gMFSK.
Saving / restoring parameters of current channel. Next time PocketDigi gets started, the previous frequency, mode / submode and mode parameters are selected.
Trimming of whitespaces in QSO dialog. When a call, QTH, name and other were selected in RX window and inserted into QSO dialog using popup menu, the values contained trailing spaces. These spaces were then transmitted by macros. The leading and trailing whitespaces are removed automatically now.
73, Vojtech OK1IAK, AB2ZA
2009-10-04 17:44:29 UTC by ok1iak
Hi gang.
I released PocketDigi 1.0.11 at http://pocketdigi.sourceforge.net. There are following new features implemented: RSID, PSK63F, PSK125, sampling rate conversion, tx delay/tx tail/ats3 preamble/postamble settings, Handheld PC 2000 improvements, Waterfall FFT optimization and basic Smartphone support.
RSID is the famous Reed Solomon ID of Patrick Lindecker F6CTE. Patrick added this feature into his MultiPSK software year ago. Until now only MultiPSK (and since last week also Cesco's FDMDV?) implemented this feature. Instead of CW ID or Image ID, a sequence of 15 MFSK tones is sent at the beginning of every TX to identify mode and center of frequency of the following data stream. RSID has very high redundancy, so if the RSID is decoded with zero or one error, there is extremely low probability of false detection. The feature is very handy to automatically detect mode and submode of rare modes and therefore encourages experimentation. Also it is easy to tune MFSK16 mode as no tuning is needed at all. I found RSID very useful with ATS-3b transceiver, at it has only narrow not very flat CW filter. Even if the whole digital signal does not fit into the filter, if the mode has high enough redundancy and is strong enough, it will be still decoded if tuned properly. But without seeing the whole spectrum of the signal on waterfall, it is very difficult to tune it. With RSID receive on, one only needs to get the RSID signal into receiver passband to make sure the signal will be tuned correctly.
PSK63F is a nice mode invented by Nino Porcino IZ8BLY. It is a crossbreed between MFSK16 and PSK63. It uses convolution code and varicode of MFSK16, but for hardware layer it uses binary phase shifting at 63.125Bd. PSK63F tries to fight ionospheric flutter by faster phase modulation and forward error correction. It is well known that BPSK31 does not survive polar flutter. BPSK63 is better, but one loses 3dB. For DX work, PSK63F could gain back that 3dB and still show lower sensitivity for polar flutter.
PSK125 is nothing more than 2x faster, 2x wider and 3dB less sensitive BPSK than PSK63.
I finally added sample rate conversion. It took me a bit longer, because it is done in fixed point arithmetic again to make it computationally feasible on Windows CE devices. I have good experience with my iPaq 3630 and Jornada 720, they show very little clock error. But my new laptop shows as high as 4% error on TX and 2% on RX. Even PSK31 did not work at that level of clock error.
With the release of ATS-3b kit by Steve KD1JV, I received reports about having trouble to get the communication interface working. ATS-3b is controlled by Manchester modulation generated by sound card, which is translated to digital levels by a simple slicer. Some sound cards generate ugly transient response at the start and end of sound. I added four new parameters to control the shape of transient response: TX delay, TX tail, ATS3 preamble and ATS3 postamble. The first two are silence intervals. The next two are intervals of Manchester idle tone. The idle tone is shaped by raised cosine function now to minimize clicks, if it is longer than 50msec. Also Jornada 720 generates some ugly click about 200msec after sound output opening. I was not able to find out the cause, but setting TX delay to 250ms either avoids the click or at least shifts the modulation after the click.
Until now, I relied on testing of Handheld PC 2000 build by Helge Tefts. Last month I bought Jornada 720 on e-bay for whooping $40+shipping. I did some user interface improvements on that platform, made some missing features available like context menus on RX/TX windows etc. Jornada 720 has a two LiIon cell accu. I bet ATS-3b may be powered from the handheld's accu.
I replaced complex FFT by a real FFT for waterfall calculation, which lowers current consumption. Now all the DSP calculation uses less current than user interface updates + FEC and certainly less than backlight on my iPaq 3630. This is quite interesting. It shows that for HAM radio digital modems and PDA sized display, DSP CPU will be probably counter-productive as DSP is usually clumsy for general purpose computing. To improve current consumption even more, I would probably need to replace some stock user interface components from Microsoft like RX window by a custom one or get back to a custom design with very small monochrome display and simple user interface.
Ondra OK1CDJ bought himself a Smartphone HTC S710. The device does not have a touch screen and did not show menu in PocketDigi-1.0.10. Smartphone only accepts menu with two main level items. I modified PocketDigi to detect Smartphone and modify menu accordingly. There were some more changes to make it work on Smartphone. Here is a screenshot from Ondra running PocketDigi on Smartphone and FT817.
http://blog.ok1cdj.com/2008/01/ft-817-smartphone-digimdy-prvn-testy.html
In my opinion the non touch screen devices are more suitable for portable hamming as they are more rugged. Also Smartphones are designed for less energy consumption, often using smaller display, slower CPU, having integrated thumb keyboard and handsfree connector.
Ondra's Smartphone runs on Windows Mobile 6.0. He uses a tool to emulate mouse cursor to access tuning on the waterfall and to switch between RX/TX windows. I plan to improve usability to be able to tune by the D-pad. If you have a Windows Smartphone with WM5 and newer (no touch screen), please give it a try. I need feedback as I do not own any. I configured PayPal donations at pocketdigi.sourceforge.net. Please consider donating small amount. From the donations I will buy a Windows Smartphone to develop on.
If you have any problems with the software, if you have suggestions for improvement, please do not hesitate to send me an e-mail.
At the end of this e-mail is a list of changes since 1.0.10.
73, Vojtech OK1IAK
2007-01-01 Vojtech Bubnik <bubnikv@...>
* 1.0.11-pre4
- Added configuration of TX delay, TX tail, ATS3 preamble and ATS3 postamble
- Channels menu split to Channels and Modem to fit on 240 row screens.
- Handheld PC 2000 (Jornada 720 and others): Dialog boxes have OK and X
buttons on title bar now.
- Basic support for Windows Mobile 5.0 Smartphones with at least 240x240
screens.
You will still need a mouse emulator utility to control waterfall and switch
between RX/TX windows.
2007-12-22 Vojtech Bubnik <bubnikv@...>
* 1.0.11-pre2
- Added RSID support. Thanks to Patrick Lindecker F6CTE for Delphi source and
support.
- Default value of TX prefetch buffers set to 3 on behalf of user report.
- Sample rate correction finalized. Automatic sample rate detection based on
user expereince with MultiPSK.
- Added menu accelerators. Very useful when using device with internal or
external keyboard.
Alt-T: tools, Alt-C: channels, Alt-M: Modems, Alt-A: mAcros
- Added F1-F12 function key accelerators to execute macros and Ctrl-F1-F12 to
edit macros.
- Handheld PC 2000 (Jornada 720 and others): Dialog windows are now centered
on the screen.
- Handheld PC 2000 (Jornada 720 and others): Bugfix - menu is displayed again.
- Handheld PC 2000 (Jornada 720 and others): Context menu on RX/TX windows
opens on Alt-Tap or double tap.
- Battery consumption improvement: Waterfall calculation optimized.
2007-11-18 Vojtech Bubnik <bubnikv@...>
* 1.0.11-pre
- Added PSK63F and PSK125 modes
- Mode dependent macros
- Sample rate correction library ported
2008-01-07 01:17:00 UTC by ok1iak
Hi gang.
I put a new release of PocketDigi on Source Forge. I set the version number to 1.0.9, because I sent away lot of 1.0.8-pre already.
I was quite busy the last couple of months by making ATS-3a transceiver talk digitally, which is the reason I did not release updates of PocketDigi since January.
For those who don't know the fabulous ultimate backpacking qrp rig fitted into Altoids tin from Steve Weber KD1JV, look at his page http://kd1jv.qrpradio.com/
For those interested in details of my experiments, look at
http://www.kufr.cz/~ok1iak/temp/PSK-with%20ATS3A-success-on-the-air.html
and http://www.kufr.cz/~ok1iak/temp/bpsk31-ats3-proof-of-concept.htm
The whole setup is shown here: http://www.kufr.cz/%7Eok1iak/temp/xr2211-ats3a.jpg
Currently only BPSK31, BPSK63, QPSK31 and CW are supported by PocketDigi/ATS3a combination, but I am working on other modes, mainly RTTY and MFSK16. If there is enough interest, we may hope Steve will support digital modes by his oncoming ATS-3b kit.
I have a lot of fun with PocketDigi/ATS3. I live in Prague in a high concrete building. I do not have balcony and I am not allowed to string any kind of antenna outside. Last month I set up an indoor magnetic loop for 30m. I am able to do couple of QSOs every evening with that compromise antenna and ATS3 producing only 2 watts. Yesterday I made QSO to London, which is abt. 1000km. I wonder how much energy was radiated and how much of it was used to heat the concrete panels. I think it shows the concept of phase modulation by DDS is viable.
It seems that a lot of Pocket PC devices do not support full duplex, but they do not indicate it either. PSK transmition on that devices was distorted. After I rewrote the sound support routines to half duplex, the problems disappeared.
Couple of HAMs asked me if I would support Jornada 720. This gadget has 640x240 display and a big keyboard, which seems to be ideal for portable digital operation. Unfortunately this kind of device is no more produced, but one may try luck on e-bay. I found out that the development studio I use supports this device, but I needed to do some modifications, mainly in the user interface. Because there is no emulator available, I was dependent on testers. I have to thank Helge Tefs for help. The Jornada 720 binary is packed in the PocketDigi-1.0.9-arm.zip archive with the usual Pocket PC binary.
Some of you asked for keying by serial line. There is a new configuration dialog for switching between no keying, keying by
DTR and RTS pins of serial port and finally ATS3/BELL202. If the ATS3 is selected, PSK modes and CW will generate packet like modem sound, which will be decoded and understand by ATS3. Additionally, there is a frequency control dialog for ATS3.
Some people asked me to add RTTY submodes for meteo broadcasting. It seems that european yachters asked for it, because the signal of German Meteo Service (DWD) is strong in Mediterranean and Adriatic Sea. DWD is not strong enough on my loop indoor antenna, so I was not able to tune the algorithm yet for best reception, but I hope it works. Please bug me if you find it unusable.
For the RX view I use the standard windows edit control. There is one annoyance of the control. It removes selection and scrolls to the end after new text is appended. It was impossible to select text (call, QTH, rst...) or scroll back. I made a workaround. If the RX view has focus, the newly received text is not appended to the RX view immediately, but it is postponed. The text is put into the RX view first after the view looses focus.
There is couple of new bells and whistles. AutoCQ, sound history and PSK sync speed setting, see the changelog. I nearly blew the finals of ATS3 by AutoCQ, hi. The sound history may be used to replay last 5-60 seconds in the current channel. Do not set too long history if your device has slow CPU. Decoding the history may take too long and current signal will be missed.
73, Vojtech OK1IAK
2007-06-10 Vojtech Bubnik <bubnikv@seznam.cz>
* 1.0.9
- Added PTT keying by COM port (DTR & RTS pins)
- Added ATS3/BELL202 support. Currently PSK modes, CW keying and frequency control is supported.
- Bugfix: If the RX view gets focus, receive is suspended until the focus is lost. This way user is able
to scroll back and select call/name/qth by mouse/stylus and context menu. Additionally the focus is set
to TX view most of the time.
- Sound history implemented. Enabled and set to 20sec by default.
- Sound history is configurable from 5 to 60 seconds and it may be switched off if low on memory.
- PSK: Sync was sped up 2x, new selection for sync speed was added. The Slow (DX) mode is equal to the
previous sync value. The Fast is equal to 4x the previous value.
2007-06-03 Vojtech Bubnik <bubnikv@seznam.cz>
* 1.0.8
- AutoCQ feature implemented. Put "$autocq" or "${autocq:secs}" at the start of the macro.
AutoCQ is stopped by any command (for example TX stop) or key press. AutoCQ indication still missing.
ESC key anywhere in the application kills TX.
- Added RTTY submodes HAM 45/170 and 45/200.
- Added RTTY submodes for meteo reception: DWD 50/85 and 50/450, which were requested by yachters.
DWD stands for Deutsche Wetterdienst (German Meteo Service)
50/85 is transmitted 20kW on 147,3kHz
50/450 is transmitted 1kW on 4583, 7636, 11039 and 14467,3kHz, 10kW on 10110,8kHz
2007-01-21 Vojtech Bubnik <bubnikv@seznam.cz>
* 1.0.8-pre4
- BAUDOT unshift on space configurable. It needs to be switched off for SYNOP.
- Bugfix of Handheld PC 2000 build (Jornada 720, UI problems)
- Sound support rewritten from full duplex to half duplex. TX will work correctly on more devices now.
- Fixed missing binary dependency on Windows 95.
2007-06-10 18:07:45 UTC by ok1iak
Hi gang.
This is a new version of PocketDigi. There are two new modems implemented - Throb/ThrobX and Olivia/Contestia/RTTYM. Both of them have not been optimized for best S/N yet, but seem to work well.
The Olivia modem has been adopted from the code by Pawel Jalocha, but simplified. I have removed the receive input processor, which does kind of channel equalization. I actually do not think that Olivia decodes better than MFSK16, but Olivia is much more easier to tune. I wonder whether anyone will ever use the Throb/ThrobX modems.
If the microphone input is overloaded, the waterfall line will be marked by magenta stripes now. I did not know myself that my device gets overloaded by the Warbler TRX until I added this feature. The overload must have added considerable distortion to the signal. If you experience it, add an external resistor divider to the microphone cable.
Please report the bugs, annoyances, whishes etc. If I do not know about the bugs, I would not fix them. Thanks.
Excerpt from ChangeLog:
- Added OLIVIA/CONTESTIA/RTTYM modes. Initial implementation without channel equalization.
- The three new modes tested for compatibility against MULTIPSK 4.1.2
- Known issue of THROB: AFC does not work correctly
- Overload indication. Magenta stripes are drawn over the waterfall if mic input is overdriven.
- Fixed <NULL> bug in RTTY
- Fixed CW TX speed setting problem.
- Fixed problem of hanging CW TX at slow speeds.
- RTTY filters changed from IIR to FIR, which are faster on a fixed point CPU
- Added THROB/THROBX modes
- Enabled reverse for MFSK16
- Premliminary port of Feld Hell. Only TX enabled, paper tabe control is still missing for RX.
- Added setting of TX prefetch sound card buffers. If experiencing rattling sound during TX, increasing number of prefetch buffers may help
- Adding error message boxes to report problems with sound card. It shall clarify, whether some of the OEMs are lazy to support duplex sound input/output
73, Vojtech OK1IAK
2007-01-14 17:23:53 UTC by ok1iak
Hi gang.
This is a new version of PocketDigi. The main highlight is MFSK16 modem. The implementation is pretty efficient, it generates a CPU load comparable to the PSK31 decoder. The decoder is about 1dB worse than Nino's Stream in white noise. All the calculations done in fixed point arithmetics. I hope to get reports on the usability of it.
I know there are lot of things to improve. The winters are long and cold, improvements are to be expected until spring. There will be a gathering of OK-QRP club on 17. November. I hope to manage to presuade some colleges to build a small digital QRP TRX as a companion to PocketDigi. DDS driven MFSK16 transceiver with E-class PA would be a perfect QRP solution and the TRX may not be bigger than my iPaq.
Excerpt from ChangeLog:
- Initial MFSK16 implementation. Tuning arrow shall be pointed to the idle (zero) tone.
- Fixed QPSK31 decoder
- Added squelch to PSK and MFSK16 modes
- All whitespaces of a macro line will be ignored if the macro stays alone on a line
- Bugfix - enters are not duplicated in the RX window anymore
- Added logging to a file. Stored to My Documents\PocketDigi\ChannelXX.log per every channel.
- Clean up of layout on the desktop build.
- Bugfix - waterfall will be resized correctly while changing between portrait and landscape.
- Added left/right buttons to the waterfall. Tapping them is easier than dragging the ruler.
- More precise fixed point logarithm for waterfall.
73, Vojtech OK1IAK
2006-11-05 20:44:45 UTC by ok1iak