IZ8BLY Hellschreiber

For 32 bit Windows
© 1998-2004 Nino Porcino, nino.porcino@tin.it
http://iz8bly.sysonline.it

Release 4.0


IZ8BLY Hellschreiber is a Windows program for transmitting and receiving Hellschreiber signals on amateur radio bands. To learn more about this fascinating mode, visit the Fuzzy Modes web site. The IZ8BLY Hellschreiber software is based on information from this web site, and on other information from Murray ZL1BPU.


Table of Contents


License

IZ8BLY Hellschreiber is free software. You can copy it and share it, so long as you don't charge any money for it, and you don't modify it. If you pass the software on to others, please pass on the original distribution file. Any commercial distribution without the written permission of the author is strictly prohibited.

If you use the program, please send some feedback, so that the author can be encouraged to make improvements. Donations would of course be welcome, but a friendly e-mail or postcard will suffice. Contact the author at:

email: nino.porcino@tin.it
web: http://iz8bly.sysonline.it

or via snail mail:

Nino Porcino, IZ8BLY
Via dei Tulipani 21
89133 Reggio Calabria
ITALY - EUROPE

(If you want to meet Nino on air, try during weekends (Sat-Sun) in Feld Hell mode, on 14063.5 KHz LSB around 13:00 UTC.)

Thanks go to the following people:
Murray ZL1BPU for all technical information and for this help file
Paul PA0OCD and Vilnis YL2KF for constant on air tests and FB QSOs
Peter G3PLX for help on the PTT routine and for the font file
Koos PA0KDF for original Hellschreiber font information
Lionel G3PPT for a great FFT waterfall display routine
Heinz DJ6SY for German help file translation
Josef OK2WO for Czech help file translation
Raimon EA3EZO for Spanish help file translation
Tapani Juhola OH2LU for French help file translation
Al WD5GNR for his PSKGNR PTT drivers
JA6AQV, JR6FQF and JA4HM of Kamnon-Yamaguchi SSTV Lab
for Japanese help file translation
Bob Furzer K4CY for integration with LOGGER

Hardware Requirements

You will need:

Installation

Since you're reading this, you probably had no problem installing the software! If you want to uninstall it, or install a later version, use the Windows Control Panel. When installing new releases of the program, you MUST uninstall older ones first.

Connect the transceiver audio output to the line-in plug of the sound card. Connect the audio output from the soundcard to the transceiver microphone input, or auxiliary input. Note that some transceivers will not provide VOX operation from the auxiliary input. Isolation circuits between the computer and the transceiver using small line transformers are highly recommended. Use the Windows Control Panel to adjust the input and output levels of your soundcard. The Volume Control applet can be called from inside the program - see later.

If you have internet access, a detailed installation procedure is available at http://www.qsl.net/zl1bpu/FUZZY/IZ8setup.html, on the "Fuzzy Modes" website.

If VOX will not work with your transceiver, you may need to fashion a PTT circuit as well. The transmitter can be controlled by a signal from a serial port, the DTR signal (pin 4) on COM1 to COM4. This is set in the File|Preferences menu. The circuit required is an NPN open collector transistor with a 10k base series resistor and a shunt diode. This is the same as the PTT circuit of a simple "Hamcomm" type interface often used for RTTY or SSTV, so if you already have such an interface, it will save you building the circuit.

The IZ8BLY software uses the transceiver in SSB mode. It does not matter whether you use Feld-Hell with LSB or USB - which you use will depend on your filters and whether you wish to chat to the other operator (helpful when getting started). Some transceivers are easily modified to use a narrow CW flter in SSB mode. If you don't have a suitable narrow SSB filter on your receiver, you may want to operate in split by receiving in CW (with a narrow filter) and transmitting in SSB. If so, you will need to allow for the CW sidetone shift when tuning the RX.

Some modes are sideband dependent. These are C/MT-Hell, FSK-Hell and Duplo-Hell. The convention is to use USB, so the higher tone is sent at a higher frequency.

Configuration

Press CTRL+P or choose "Preferences" from the Menu to access the Preferences window. This window has a series of tabs which you can click on to see various mode related settings and alter them. The settings you choose are stored in the IZ8BLY.INI text file.

General:

PTT:

Modes:

Tools

Operation

The Menus

Click on a menu item (or select with the normal Windows keyboard ALT selections) to reach these controls:

FILE Menu

MODE Menu

Allows you select between:

TRANSMIT Menu

RECEIVE Menu

MACRO Menu

TOOLS Menu

The Tool Bar

The Paper button is used to start and stop the decoding of Hell signals, which will be displayed in the Receive window. Once the bottom line of text fills, it will be transferred up one line and the recording will start at the beginning of the line again. The same button both starts and stops the "virtual paper".

The Set Input/Output Volume buttons call up the sound card mixer program to set input and output volumes and ports. Make sure that the level does not cause clipping in the transmitter. Setting the level too high will not make the signal any stronger - it will just be harder to read and cause more interference. Linearity is especially important if transmitting grey scale characters or raised cosine shaped signals. Note: With Win95 both buttons generally launch the same Volume Control applet (Set Output Volume), so on this applet use Options/Properties and select Recording to Set Input Volume.

Preferences button calls the configuration window.

Small/Big Letters display button doubles the size of the text on the receive window making it more visible.

DX Mode button. In DX mode, each column of the transmitted characters is sent twice. This halves the text speed, but significantly improves the resistance of the text to noise, and characters will appear to be twice as wide as normal.

Snapshot button will save the current display into a bitmap file. You can use it instead of the "Auto save bitmap snapshot" (see above).

AGC button: turns on/off the AGC improving the readibility on weak signals.The AGC tracks the signal peaks, and keeps the text at the optimum contrast. You can adjust the behaviour of the AGC by moving the slider "AGC response" (see later)

The Filter Bandwidth slider lets you choose the bandwidth of the DSP filter which improves the receiver performance for Feld Hell and CW. A narrow bandwidth can eliminate undesidered signals, but the text will became softer and more blurry.

AGC response let you modify the behaviour of the AGC on weak signals. If the AGC is too fast it may be influenced by impulse noises. If set too slow, you may miss letters when the signal fades quickly. Experiment for best results.

Logbook: opens / closes the logbook window.

Frequency shows the center frequency of Hellschreiber transmitter and receiver. You can modify it directly or by clicking with the mouse on the waterfall display.

RX and TX Windows

The Receive Window displays a series of lines of double-printed text. Each character is printed twice, once above the other. This ensures that the text remains readable since the phase of the received signal is unpredictable.

As a line is completed, the display is scrolled up, beginning with a new line. When close to the right margin of the line, words can often be split in two. To minimize this problem the "line wrapping" option (described in the configuration) can alter the amount of text replicated on the new line.

The Transmit buffer is a single line below the Receive Window, where the characters to be transmitted are typed. Text will be sent whenever a word is completed with a space character. Type ENTER when you finish typing in the TX buffer, or the last word will not be sent and the receiver will not restart. This is especially important at the end of each over. If the "pause mode" is enabled, or you type an asterisk (*) as the first character, you can type during reception, and the text will only be transmitted when the ENTER key is pressed.

You can also type metacommands into the TX buffer. These are general purpose program commands and are denoted by the dollar sign ($). They can be typed directly into the Transmit Window, included in user definable buttons, or put in a text file to be sent via a menu option.

Metacommand Text sent / action taken
$QRZ The station callsign (typed in preferences window)
$OTHER The other party callsign (defined with F11 key)
$OTHERNAME The other party name (defined with F11 key)
$OTHERQTH The other party qth (defined with F11 key)
$OTHERRST The RST received by other party (defined with F11 key)
$RST The RST you have sent to the other party (defined with F11 key)
$CQ Sends standard CQ call
$CWID Sends ID in Morse for countries where this is required
$UTC Time stamp (UTC time)
$TIME Time stamp (local time)
$DATE Date stamp (referred to local time)
$DATEUTC Date stamp (referred to UTC time)
$$ The dollar sign (otherwise not printable)
$TUNE Sends a full volume sinewave for tuning purposes.
Use this to adjust the output volume or set the RF power.
$IMD Sends a two carriers signal for visual intermodulation (IMD) checks
$FELD Switches mode to Feld-Hell
$CW Switches to Morse mode
$CMT Switches to C/MT mode
$FSK105 Switches to FM Hell mode (105 baud)
$FSK245 Switches to FM Hell mode (245 baud)
$DUPLO Switches to Duplo Hell mode
$PSK105 Switches to PSK Hell mode (105 baud)
$PSK245 Switches to PSK Hell mode (245 baud)
$Cnn Sends ASCII character number nn, e.g. $c65 sends "A"
$BUTTONn Sends text assigned to the user definable button n (ranges is from 1 to 12)
$DXON Turns on DX mode (doubled columns)
$DXOFF Turns off DX mode (doubled columns)
$NOQSO Clears other party callsign ($OTHER).
$Pn Sets the output power level (soundcard volume) to n.
The value ranges from 0 (silence) to 255 (full volume).
This metacommand influences the mixer setting.

 

The user definable buttons are placed below the transmit buffer. You can modify their content, and the name on the button, by right clicking on the desired button. You can store pre-defined phrases and metacommands, then send them later by left clicking on the button or by pressing the CTRL+FKey shortcut as shown above the button itself.

Tune signal sends a full volume sinewave for tuning purposes. Use this to adjust the output volume or set the RF power.

IMD signal sends a two carriers signal for visual intermodulation (IMD) checks. If the sound transmitted is intermodulated the other party will be able to see harmonic images of the two carriers. The more number of harmonics, the more the intermodulation. If sound is set correctly only two pure carriers should be visible.

Tuning Display

The Tuning Display shows a waterfall plot of the received signal, using the Fast Fourier Transform (FFT) technique. The red line shows where the current receive and transmit frequency is. Click with the pointer on the signal you want to tune, or press SHIFT+F12 to tune to the maximum signal. Use right mouse button to reset the frequency to center (1300 Hz). When transmitting, it not recommended to use too low or too high frequencies, as many transceivers do not have a linear response in the audio input.

Note: if you are overdriving the input of your soundcard, the display will turn into red. In this case, use the "Input Volume" button and decrease the "line in" or "mic" volume as necessary.

Technical Data


IZ8BLY Virtual Hellschreiber Machine

General
Modes supported Feld Hell, PSK Hell, FSK Hell, Duplo Hell, C/MT HELL, Morse (transmit only)
Speeds supported Standard speed plus faster and slower by various factors
Sound card mode 8 bit samples at 11025 Hz rate
PTT control Hamcom type interface, VOX or serial radio interface
Receiver
Receive algorithm Gray scale (256 levels)
Filter Type Quadrature detector
Filter Bandwidth Selectable from 75 to 500 Hz
Filter downsampling Divide by 2 (0-5512.5 Hz)
Transmitter
Waveform type sine-wave at 98% of max volume,
zero crossing at each end of the pixel
Signal filterning Raised cosine envelope*
Bandwidth 61.25 Hz* in Feld-Hell mode, 105 Hz in PSK mode
Signal generation Rendered wavetables
Fonts supported Hellschreiber fonts, Windows fonts,
Windows fonts with smoothed edges (greyscale fonts)

* = only when using Hellschreiber fonts

History

25-Dec-98: Version 0.0 - tests with taped signals

01-Jan-99: Version 0.1 - first on-air QSO

[gap in my memory]

21-Feb-99: Version 0.8 - Added CW

28-Feb-99: Version 1.0 - Added C/MT and S/MT Hell, Waterfall display, new user interface

13-Mar-99: Version 1.1 - Added FSK Hell, FeldNar.Fon

20-Mar-99: Version 1.2 - FSK reworked, self installer, Feldwide.fon, fixed lotsa bugs

28-Mar-99: Version 1.3 - FSK: full negative / border only option, raised cosine, two selectable shifts, middle gray value selectable, enabled +/- 3dB buttons; CW: variable speed and correct dash/dot/pause values; INI file: one directory placement bug, self creation with default values; Waterfall: enabled/disable flag (for slow computers); fixed status bar, enabled background rendering of font wavetables.

5-Apr-99: Version 1.4 - Bugfix on shapshot saving and on Waterfall display (you'll not see the "ripple" effect anymore). Added waterfall update refresh rate. Added new section for S/MT (still testing sorry). Added FELD-DX.FON and FELDLITL.FON. Added new palette files. Little code improvement.

11-Apr-99: Version 1.5 - Added FELDREAL.FON, font used by real Hellschreiber machines (thanks to Koos PA0KDF for the source); added new palette files (compressed and expanded gamma cyans and a "swedish" one from YL2KF); FSK: fixed bug on "border" fsk and added the option "silence on idle" wich will not transmit the white tone on idle or space character (so the TRX can have a breath); increased the height of the waterfall display so it is easier to tune in FSK; fixed the "downhill" bug wich caused the text becaming hardly slanted on some situations; fixed bug in CW so dit and dash now have the same pitch value even in lower speeds; reprogrammed and eliminated most of filter files: now Feld-Hell filters are fixed at 150 taps and you can choose the bandwidth from a slider control in the window; filter and palette settings are now saved in the config file; the TX buffer have been reprogrammed so it behaves better when you are sending words.

18-Apr-99: Version 1.6 - Selected font and bias value are now saved on config file; bias isn't resetted anymore if bandwidth changed; bandwidth changing speeded up on slow computers; added (sort of) cw decoder (for testing purposes only). Added menu option "Send opening phrase" (key F12) wich will fill the buffer with "RRR RRR DE ..." (so it has something to send while you're typing in the buffer).

28-Apr-99: Version 1.7 - Six user definable buttons where you can put your own text to send or command to act (see $metacommands). A digital AGC wich will track signal peaks and will make the text darker if fading or RX desensitivity. CW decoder improvements with signal amplitude plot and variable thereshold. Metacommands ($) for beacon operations and other specialistic usage. A new font set "FELDLOW.FON" which is bold in the vertical direction for minimum bandwidth and more visibility in DX. Special funny graphics characters on some fontsets (I will not tell you where they are, it's an hidden function I use for on-air jokes). "Idle character" option, lets you define your own character to be sent when the TX is idle (typically when you are completing a "word" from the keyboard). The old "%%" shortcut option have been eliminated. Added new speeds (4x and 8x slower). Waterfall display is +6dB darker. Eliminated a bug in the config file when bolded fonts was used.

7-May-99: Version 1.8 - Added two more user definable buttons (for total of 8, anyway at least 800x600 resolution is needed to show them all). Added shortcut keys to "tune signal" and "CQ" (F8 and F9 respectively). Added "Clear TX buffer" (CTRL+C key) function. Corrected errors in some fontsets, and made them loadable under Windows NT4.0. The maximum height of a loadable font is now limited to 14 pixels. Fixed bugs in the $metacommand routine and added $button1, $button2, ... commands to send text defined by user definable buttons. Added a hidden pop-up menu for sending the special characters contained in the FELDLOW fontset. The "Send file" command now keeps trace of last file sent in the config file; it will also clear the file from line feeds/carriage returns. Added a field for waterfall display bias value in the preferences window. Reworked the C/MT routine which is almost EVM compatible (not yet ready anyway). +/- 3dB button now works in MT modes too. Added "Scope display" function (key F6) which shows about 6 KHz of activity for monitoring several channels at a time. Added a button for instant snapshot of the current display into bitmap file. Reworked icons and fixed a bug in DX mode with FSK. Added cache technique for font rendering: it will not render fonts at startup, but only when they are changed. Added callbook database file (callbook.txt) and a nice "who is" function directly via the menu.

19-May-99: Version 1.9 - Fixed bug on CW-ID. Autosave bitmaps now defaults off. C/MT Hell almost completed with five different speeds and bandwidth (one of which is EVM compatible); it can send "smoothed fonts" as for Feld-Hell and +/-3dB buttons now works in this mode too. Fixed link to new Murray's Hellschreiber website. New fontsets for S/MT Hell (SMTHELL.FON and SMT2.FON). Changed the callbook file format so it can work with the html file downloadable from the website. "Computer Speed" option in preferences lets you choose the appropriate filter for your machine speed; the new 300 taps filter set has very sharp edges and a -100dB attenuation. Added a slider control for the waterfall "zoom". DX mode (doubled columns) does not render fonts anymore and has been added for C/MT Hell too. There are two new metacommands: $DXON and $DXOFF for controlling the DX mode via definable buttons or send-file. German help file translation (V1.8) by DJ6SY Heinz.

13-Jun-99: Version 2.0 - Added a new fuzzy mode: "MFSK Hell"! Shaped the output signal with a raised cosine envelope when using fonts of the "Feld" family. Added new font files "Feld Modern" and "FeldVert". Changed the standard font file "FeldHell.fon" by G3PLX so it will not conflict with the EVM Hellschreiber program anymore. Improved the AGC routine, which is now more "fluid". Small improvements in some fontsets. Fixed a bug for which it was not possible to send characters like "{" and "}". The flag "Append pause character" is now saved in the config file. Added Czech help file (translation by Josef OK2WO). First version of the "Frequently Asked Questions" (FAQ) file. Added the "Detect slow Typing" option. Added slanting correction for inaccurate soundcards.

06-Jul-99: Version 2.1 - Bugfixes: Deleted old option "Full Duplex soundcard" and "Display own output". Bias won't go to zero in some circumstances; CWID won't always return to previous transmit mode - only to Feld-Hell; DX mode properly fixed for new Duplo Hell mode; cursor positioned to last char when pressing user definable buttons in "pause mode" (the mode with *); filter now "on" by default. Slant correction won't now generate noise when transmitting; the "Load filter" option removed. "Append pause character" more simply renamed "pause mode". Corrected a buffer problem with "Detect slow typing" option. It is not possible anymore to render fonts while transmitting (causing program crash). It won't send the Idle character in CW mode anymore. It won't hang if one tries to send $C0 character. New features: New fuzzy mode "Duplo Hell" (definitive version). It will remember the window position and the maximized state after each run (useful if you have other applications like loggers etc.). AGC on/off button directly on the tool bar; single button for start/stop of the virtual paper. New CW decoder with explanation in the help file. Line wrapping option: you can avoid broken text when the paper reaches the right margin and a new line is generated. A small portion of the rightmost text will be replicated on the new line. Slant correction tool with tuning to standard time and frequency stations (like WWV). F10 hotkey for CW-ID. Option "Beep when PTT off" - a short "beep" from the computer's internal speaker when the PTT has to be switched off (useful if you are switching it manually - tells you the precise instant). Italian help file translation. Option for calling your own prefered log program via menu option. Other party callsign hot-key facility (F11/F12) with automatic open/close standard phrase. Speeded-up by letting the user select what wavetables to load at startup. Better executable as it is compiled with the new 4.0 release of the C++ Builder compiler :-).

4-Aug-99: Version 2.2 - Spanish help file translation (by Raimon EA3EZO); Hotkey (CTRL+G) for log program; F11 Key copies the other party callsign to clipboard for pasting later in the log program; $NOQSO metacommand for clearing other party callsign; Definable soundcard mixer program; Redesigned "Scope mode" for CW meteor scatter

7-Aug-99: Version 2.3 - Fixed a bug that caused an "audio buffers" error when in CW mode

9-Aug-99: Version 2.4 - Added actual frequency calculator

13-Aug-99: Version 2.5 - $Pn metacommand for controlling the output power (useful in beacon mode); $DATEUTC metacommand - will send the date referred to UTC time; Fixed a bug in the actual frequency calculator; Added spanish Ñ (egne) character on CW decoder (receive only); Stand-by option - will release the com port and the soundcard for switching to another program (i.e. PSK31); G3PPT's Slowfeld mode receiver; Option for viewing the local copy of the Hellschreiber callbook; Date and UTC time displayed in the status bar

16-Aug-99: Version 2.6: PTT support for WD5GNR drivers for PSKGNR; Options for quick loading the PSK31 program; Czech help file updated

25-Sep-99: Version 2.7: New features: New mode "PSK-Hell", using polar reversal shift keying at 105 baud rate. New tone detection algorythm using "quadrature detector" in place of FIR filters. This give us also variable filter bandwidth.Redesigned C/MT Hell using a 5x5 character matrix. Now is fast and clear to see. New AGC routine that keeps constant the contrast of the text, with selectable response. New working sample rate of 11025 Hz on transmit and 5512.5 Hz on receive for minimal CPU load. Faster "refresh" of the RX display. Option "force uppercase letter" for writing in uppercase regarderless of the caps lock state. Improved the waterfall display with also smooth and negative colors (for a PSK31 like display). New fontsets: Feld7x7 and Feld7x7n.fon. Define button "on the fly" with four more buttons. Bugfixes / small updates: Faster CTRL+C key (clear TX buffer). Preference shortcut button on the toolbar. Changed the +/- 3db buttons into a "RX Gain" slider control. DX mode now always off by default. Japanese help file translation. Spanish help file updated. Scope display at 2048 points resolution fixed. CW decoder removed (eventually split into another program).

23-dec-99: Version 2.8: Hotkey for switching to MT63. Spanish help file updated

24-Jan-200: Version 2.9: CTRL+FKeys macro buttons (and with menu). CQ Button on front panel. New waterfall display (some option of the old one no longer exists). Old "scope display" eliminated. Rearranged some options in setup window. Small code improvements. BlockLenMultiplier variabile in .ini file for controlling/reducing the CPU load (and program "fluidity" response).

04-Feb-2000: Version 3.0 beta: Big waterfall display, variable sidetone frequency, point-and-click operations. Logbook window with export ADIF files (.adi). $OTHERNAME metacommand. Raised cosine envelope on FSK, DUPLO, CW. Raised cosine envelope even on non Feld-Hell fonts. Improved the readability of DUPLO. C/MT Hell mode compatible with the EVM Version (requires fast cpu). No more "rendering" of wavetables. Enlarged labels above macro buttons. Small code improvements. What have been eliminated: Variable speeds, 490 Hz shift on DUPLO and PSK, PSK Clarifier, "Bias" control, Old 5 tones C/MT Hell.

23-Feb-2000: Version 3.0 final. Communication with Logger program by Bob Furzer K4CY. Improved sensitivity of PSK-Hell. Improved "docking" of logbook window. Bugfixes from 3.0e.

28-Feb-2000: Version 3.1: CQ button definable; "Send open/close phrase" is now called "Send pre/postamble phrase"; Preamble and postamble string definable (F12 key); Updated spanish and czech help files; PSK-Hell (245 baud) available in menu "mode" (this mode finished the its test phase);

16-Mar-2000: Version 3.2: User interface improvements. Button for sending a two carriers signal for visual IMD checks. Added foreign language characters (in Feldnarr.fon only). Fixed space between letters of CW-ID and made CW signal less "smooth". Fixed menu item PSK245 baud and eliminated the old option "reduce power on idle". Added metacommand $IMD and $PSK245

17-Mar-2000: Version 3.3: New mode Duplo PSK.Changed the behaviour of "idle character": now if there are at leat four characters in the TX buffer they will be sent instead of waiting for a word to be completed (this helps if you are writing quite long words). Font in use displayed in the status bar. Better contrast of own transmission in RX display

1-Apr-2000: Version 3.4: Waterfall display Logarithmic or Linear (coloured respectively white on black and black on white). Minimun number of character in TX buffer selectable. SSB-PSK Hell (experimental modes). Minor bugs removed

8-Apr-2000: Version 3.5a: Reorganization of Hell modes. Duplo-PSK has been deleted (didn't show significant improvements). FSK-Hell replaced by the experimental SSB-PSK wich is now called FM-Hell (both 105 and 245 baud versions are provided).

01-May-2000: Version 3.5b: [omitted]

03-May-2000: Version 3.5c: [omitted]

05-Aug-2000: Version 3.6: New user interface (more similar to Stream program) with more usable space and self-sizing macro buttons. Option for calling the Stream program without closing the program (CTRL+H). Flag in the preferences window for having ADIF logfile's date/time in UTC format rather than local format. Customizable sidetone center Frequency (right mouse click). Satellite full duplex mode. FM-Hell shift tester. Better default FFT resolution. Actual frequency calculator reads the current sidetone value.

19-Jan-2001: Version 3.7: Added french help file. Added option for meteorscatter operations (5X and 9X speed). 

23-Mar-2001: Version 3.8: Reitroduced 1/8X speed for troposcatter QSOs. New meteorscatter mode 10X speed featuring a special version of the Duplo-Hell. 

[a long 3 years pause]

2-Feb-2004: Version 4.0: A new updated version which runs under Windows XP. Soundcard selectable for both transmit and receive. Waterfall display sizeable with a "splitter" control.


IZ8BLY Hellschreiber for 32 bit windows platform
© 1998-2004 Nino Porcino,
nino.porcino@tin.it