Thursday, July 16, 2009

Blog Post 7 – EasyPAL—Digital Slow Scan Television software using DRM – Digital Radio Mondiale

Blog Post 7 – EasyPAL—Digital Slow Scan Television software using DRM – Digital Radio Mondiale **

** MAHN-DEE-AL (like DEE rhymes with BEE and AL as in Senator Al Franken)

Wednesday July 22, 2009

This is Curt Black, WR5J with the Educational Radio Net Please standby for a Digital SSTV QST

Before the net. Please download tonight’s software – EASYPAL and set it up according to the blog and WA-DIGITAL instructions.

As we discussed last week with MMSSTV, Slow Scan TV (SSTV) is a way to get the high-information density of visual images shoe-horned into the audio-bandwidth typically used by the human voice of about 2.5kHz. For full motion NTSC video requires a bandwidth of about 4.5MHz or 9.0MHz if you use both sidebands as you transmit– so minimally our shoehorn is working with a ratio of about 2000/1. We accomplish this by using more than 1/30th of a second to transmit our images. In this case 30 to 300 seconds is more typical.

Digital Radio Mondiale or DRM means "Digital World Radio." DRM is a fairly new digital radio standard for use by HF broadcasters. The DRM standard uses a bandwidth from 4.5 KHz and up to and beyond 20 KHz using OFDM modulation. It provides FM quality stereo audio over HF as well as the ability to send data. Dream is a software implementation of a DRM receiver.

The HamDream software is a modified form of Dream by Cesco HB9TLK. HamDream uses only 2.5 KHz bandwidth and is the basis for several 2.5 khz DRM programs. WinDRM replaced HamDream software by Cesco and it uses either 2.3 KHz or 2.5 KHz bandwidth. It also has a digital voice mode. HamDRM is a Windows DLL program by Cesco based on his WinDRM program.

EasyPAL is a piece of software by Erik, VK4AES, that uses DRM encoding and allows us to send images. PAL is just the European standard that corresponds to our NTSC video standard. EasyPAL, just like MMSSTV allows us to fit our image into a standard sideband voice bandwidth. However, instead of audio frequencies corresponding to brightness and colors, images are disassembled pixel by pixel and sent as a digital stream that is decoded and reassembled into our image.

This digital format allows us to send considerable additional information including data on our station, the filename, image data, and ultimately, much more than just images. If you look at the menu bar you will see “LOAD ANY” which is the clue that we can send any type of file on your computer. Just like with FLDIGI, with great power comes great responsibility. We have that same training issue we did with FLDIGI of not sending a megabyte when 2 kilobytes will do.

Another amazing thing about this software is that we can request “fills” or retransmission of any blocks not received perfectly (hit that BSR button – BAD SEGMENT REQUEST and a message is formatted that reports to the sending station the specific segments numbers that require retransmission. The sending station can collect these reports (Visible with the FIX button) and then select them one at a time to retransmit the needed data for a perfectly received transmission at each station.

OR, if you prefer, you may avoid all this re-transmission stuff. You can Reed-Solomon encode everything you send to increase the probability your information will make it through the first time. Just select the encoding appropriate to the band and mode – for tonight’s demo through an FM repeater, I’ve got “very light” encode on. RS Encoding is controlled by the check box next to the RS1 to RS4. Left click to toggle encoding. Right click to change from light encoding to heavy.

If you choose RS4 – your recipient can loose up to 50% of the data and still put your file back together perfectly without any resending.. That is why you may see the picture (or file) appear before the transmission is done. You may have enough data to assemble a perfect picture even though the progress bar is only ½ of the way through the transmission. Tonight I’m using between 16 and 64 simultaneous data streams. Click the QAM button to set the number of data carriers used 4-16-or-64.

Getting Started

Pull the software off the Yahoo Group Files Section at

Or go to the source at

or or

If you need help, someone on the DIGSSTV newsgroup can probably help you. Be sure to include the version number in any report of a problem. Also keep up to date and use the latest version.

When looking for folks to QSO with, there is our own WA-DIGITAL

Also try for skeds a little farther afield. is a good resource on frequencies and folks to QSO with.

Here are some suggested SSTV frequencies :

-10 Meters : 28.673 28.677 28.680=calling frequency 28.683 28.686 28.690=K3ASI repeater 28.700=ON4VRB repeater
-15 Meters : 21.334 21.337 21.340=calling frequency 21.343 21.346 Avoid SSTV around 21.350 because there is a Phone DX Net running
-20 Meters : 14.230=calling frequency 14.233 14.236 14.239

Avoid SSTV on 14.227 because there is a Phone DX Net running

80% of all SSTV traffic is done on those frequencies so please don't transmit SSTV pictures BETWEEN those suggested frequencies, it will QRM a lot .

3Kc spacing is really a must for not interfering on nearby stations

The Ten Commandments
of Slowscan

by Dave Jones - KB4YZ

1. Use voice before sending SSTV.

2. Wait for voice and SSTV traffic to finish before sending SSTV.

3. Choose an SSTV mode that is proper for the image to be sent, band conditions, and the receive capability of the receiving stations.

4. Announce the SSTV mode used prior to sending.

5. Transmit on frequency as confirmed by calibration of the VFO with WWV.

6. Send straight pictures as confirmed by calibration of the clock timing with WWV.

7. Send quality pictures with call sign on image.

8. Send full frame.

9. Avoid sending a CW ID unless required by regulations.

10. Describe the picture only after it is confirmed that it was properly received.

=============================== Setup

Setup: Initial Setup - Enter/change Callsign, Soundcard, and CommPort.
Click the "OK" or "Apply" button to update/exit.

The setup for CommPort includes options for
"FAC Green". Using an external circuit this
option could be used to mute the speaker while
receiving the digital signal.

It is recommended that you close the program
and re-start after setting up or making changes
to the soundcard settings.

RX Input -
Allows quick access to Recording Control.
Select the input where the received audio comes into the soundcard.

TX Volume -
Allows quick access to Master Volume for soundcard.
All inputs should be Muted except for the Master Volume and Wave.

RX Input and TX Volume are not shown when running under Vista.

BSR Mode Automatic (recommended) -
Will automatically switch the DRM transmit mode required by the Bad Segment Request.

BSR Mode User Select (advanced)
Allows the user to force the DRM transmit mode to a mode other than
that requested by the Bad Segment Request.

Expanded GUI -
EasyPal Full runs in a window that is 925x570.
The user may optionally select the "Expanded GUI" which will
resize the window to fill out the available space on screen.
Generally, this will be a 4x3 aspect ratio but the actual
number of pixels would be determined by the screen resolution.

W/Fall Color -
Allows the user to select the color of the waterfall.
Using "negative" will display black on white line drawings more
effectively provided that the image is made negative prior to
being sent. When the received is viewed in the "negative"
waterfall, it will appear with the proper contrast.

Very Light Encode -
Selects the Encode1 level of RS encoding - ".rs1" file extension.
Transmission time will be increased by 13%.
At least 89% of the segments transmitted must be received.

Light Encode -
Selects the Encode2 level of RS encoding - ".rs2" file extension.
Transmission time will be increased by 31%.
At least 76% of the segments transmitted must be received.

Medium Encode -
Selects the Encode3 level of RS encoding - ".rs3" file extension.
Transmission time will be increased by 54%.
At least 64% of the segments transmitted must be received.

Heavy Encode -
Selects the Encode4 level of RS encoding - ".rs4" file extension.
Transmission time will be increased by 86%.
At least 51% of the segments transmitted must be received.

Encoded files will have interleaved redundancy using Reed-Solomon
error correction. The encoded file with redundant data is
sent so that the original file may be created even though not all
segments were received.

There is no progressive receive in this mode. The received file
will decode after a sufficient number of segments are copied and
the image will appear as soon as the decoding is finished. This
may happen even before the transmission is complete. Receiving
RS encoded files is automatic - no need to select for receive.

Use of Encode may reduce the need for BSR's and FIX'es.
Compatable only with others running EasyPal.
A stand alone decode program is available that will allow those
not using EasyPal to decode the .rs files manually. See:

Default (resolution) -
Will resize down a large image to fit within 640 x 480 pixels.
Small images that are PASTED will be resized larger to fit
within 640 x 480 pixels.

HiRES (Downsize if > 1280*1024) -
Will resize down a large image to fit within 1280 x 1024 pixels.
Small images that are PASTED will be resized larger to fit
within 1280 x 1024 pixels.

HiRES (Best)
Will not resize image.
This is the best setting to use when an external program such as
"sstvPics" is used to resize the image prior to pasting into

The HiRES setting will not affect the image when "LoadAny" is used.

Show RX Screen -
Selects the RX tab to view the RX Screen and RX information line.
Gamma -
Allows for the adjustment of the brightness of the received image.
RX Filename -
The filename of the received image. Note this when selecting
the proper file to select for the "Send Selected Request" BSR.

Click on image to display full screen.
Animated GIF files will not be displayed full screen.

Show TX Screen -
Selects the TX tab to view the TX Screen and TX information line.
Secs -
This is the number of seconds it would take to transmit this image.
K -
This is the file size for the image to transmit. Does not apply
to images loaded using LoadAny.
Slider -
The setting of this slider changes the level of the JPEG-2000
compression that determines the file size.
If the slider has changed position after the image has been loaded,
it will be necessary to click the SET button so that the JPEG-2000
compression can be reapplied.
TX Filename -
The name of the file to be transmitted. The filename will change
when the transmission starts.

TX mode = RX mode -
This provides a way to quickly change the TX mode to match the
DRM mode just received.

Define Additional Save Directory -
Received files will be saved into a user selected folder in addition
to being saved in the "Autosave" folder.
(Not working)

=============================== Action


Send Text -
Turns the TX window into a text editor for the sending of text.
Text may be typed, pasted, and edited prior to transmitting.

Session Log -
Logs the calls and time for current session only.

QuickTxMode -
This screen serves as a quick reminder for what DRM modes are
suitable for different conditions.

USE Repeater -
Show Repeater Commands - Check to enable "Repeater" menu.

============================== LoadPic

Brings up Window for selecting an image file to load, resize,
and convert into JPEG-2000 (JP2) format. When transmitted,
the filename is changed to "############-originalfilename.JP2".
The "############" is a 12 digit number representing the
current year/month/day/hour/minute/seconds.

=============================== LoadAny

Allows for the loading of most any file type to be transmitted.
The file will be renamed but will keep the original extension.
This is useful when sending animated GIF files where
conversion to JPEG-2000 is not desired.

=============================== Copy

Standard image copy to clipboard from the RX or TX screen.

=============================== Paste

Standard image paste from clipboard to the RX or TX screen.
Paste to the TX screen will compress and convert the image
to JPEG-2000 format. The image may be resized based on the
setting for HiRES.

=============================== FIX

Brings up Last FIX Request. Use when the receiving station
requires the same FIX sent again.

After receiving a BSR, you will have a message on the title bar:

it may be a message like this:
"-W9VMT-Requests-63/92 segments for-070707122834-cat1.jp2"
Just click "FIX NOW" to send the FIX.

or it may be a message like this:
"You can repair 63/92 segments in 070707122834-cat1.jp2 for W9VMT"
Just click "FIX NOW" to send the FIX.

or it may be a message like this:
"This BSR is not for you"
You do not have this file.
This BSR request is for another station.
In this case, you will have to get the file repaired
before you will be able to send any fixes.

or it may be a message like this:
'You do not have this file for "K9NP ERIC" to Repair'
You do not have this file.
This BSR request is for another station.
In this case, you will have to get the file repaired
before you will be able to send any fixes.

If there is no message in the title bar and you think that
you received the BSR request OK, and you should be able to
send the FIX, go ahead and send the FIX anyway. It may work!

The FIX sends "FIX" in the waterfall before the data.

Any station running EasyPal that successfully receives an image,
can send the fix for any other station that sends an BSR for that
same image from EasyPal. (The original image may be sent from any
program using a compatable DRM mode.) If the original image was
transmitted with a filename that had spaces within the filename,
it may require the original sender to do the FIX.

There is no need to reload an image to fix someone.

The "Last FIX Request" includes the Call from the station that
sent the BSR, mode, segments, and filename. If the mode details
are in any way different from the mode the file was sent, then the
FIX will not work. Ask for an "Old Type" BSR instead.

=============================== WAV

Brings up the "Play Wave File" list. Selecting a WAV file
and clicking "TX Now" will immediatelly play the audio from this
WAV file. Create the wav files using "WFPic",
"WFTxt" or an external program such as HamPAL or DIGTRX.

These special wave files must be in the main EasyPal folder:
BEACON.wav - repeater sends at preset intervals when "Beacon" is checked.
BEGIN.wav - sent before each DRM file transmission.
BSR.wav - sent before each user initiated BSR transmission.
DELETED.wav - repeater sends this when selected file is deleted.
DIR.wav - repeater sends before the RS Encoded file (repeaterdir.txt.rs2)
in responce to "View Repeater Directory".
FILEFAIL.wav - repeater sends before the BSR.
FILEOK.wav - repeater sends when it successfully receives a file.
FIX.wav - sent before each FIX transmission.
NOTDEL.wav - repeater sends this when selected file is not allowed to be deleted.
NOTEXIST.wav - repeater sends this when selected file is not available for deletion.
PAUSED.wav - repeater sends in responce to "Shutdown ALL/Specific Repeater".
REPFIX.wav - repeater sends before the FIX transmission.
REPLAY.wav - sent before repeater sends out the last received file.
REPLY.wav - repeater sends in responce to "Interrogate Repeater".
RESTART.wav - repeater sends in responce to "Restart ALL Repeaters".
SELECTED.wav - repeater sends in responce to "Send Back Specified File".
TIMEOUT.wav - repeater sends this when selected file is too large to send.
TOOBIG.wav - repeater sends this when selected file is too large to send.
WEBCAM.wav - repeater sends before the current webcam picture.

=============================== WFPic

WFPic: (Waterfall picture)
Transforms the image on screen into a grey scale image that
becomes analog encoded audio to produce a like image in the

=============================== WFTxt

WFTxt: (Waterfall text)
Transforms a user provided text message with the choice of
various sizes and fonts into analog encoded audio to produce
the text as an image in the waterfall.

To make a waterfall ID click "WFTxt". Type your call into the
Waterfall Text window using all caps. You may want to add a space
between each character. Select a plain bold font to make it
easier to read when displayed in the waterfall. Click Save and
use your call as the filename. To send this, click WAV and
select the file, then click "Tx Now".

=============================== Clear

Clears the selected (RX/TX) screen.

=============================== Info Area

Callsign -
The callsign of a transmitting station will appear in the upper
left corner while receiving an DRM transmission.

RX audio level bar graph.
(Higher incoming audio produces more green.)

% -
RX signal quality level bar graph - equivalent to
SNR (Signal to Noise Ratio). There will be more green area with
increased signal quality.

TX -
DRM submode selected for transmit.
Right click mode parameter to toggle through settings.
Any changes to the mode are saved for future sessions
when the program is closed.

Default DRM Mode should be Mode B, Width
2.5 khz, Error HI, QAM 16, and LeadIn 24.
Interleave is always Long and cannot be changed.
These settings are the best choices for general use
on the HF bands.

LeadIn 12 will reduce transmit time by reducing
the number of redundant segments. For very short
transmissions such as Text messages, LeadIn 12
may be too short a time for all stations to
achieve MSC sync before the transmission is
finished. In this case, select LeadIn 24.

RX -
DRM submode received.
FAC must be green before the mode can be detected and the
callsign decoded. In addition to those mode settings that
may be changed on transmit, the RX will also reveal the
interleave setting. Lng for long and Sht for short. The
receive mode settings are automatic and do not require the
operator to make any changes for receiving any DRM mode.

RX mode display: (red/green bars)
MSC - Green light indicates MSC (Main Service Channel) lock.
FAC - Green light indicates FAC (Fast Access Channel) lock.
Frame - Green light indicates Frame Sync.
Time - Green light indicates Time Sync.
IO - Green light indicates Soundcard is active.

Data cannot be decoded until the MSC has a lock. So the MSC
must be green before you will be able to copy anything.

Total -
"Total" is the number of segments in the image file being received.

OK Segs -
"OK Segs" is the number of segments successfully decoded so far.

Position -
"Position" is the segment number that was last decoded.

not processed -
This is the number of segments that still need to be received.

Transmit progress bar indicates the % transmitted.
(Visable only during transmit).

=============================== Buttons

Starts the transmission of the file.

Tune -
Immediatelly sends the three tone tuning tone for 7 seconds.
Green markers in waterfall should match the "Tune" signal
or pilot carriers.

Replay RX -
Replays last received image file. It may be renamed but it
will have the exact same content.

Allows for stopping a picture, WAV, BSR, or FIX transmission.

Encode -
Left click to toggle RS encoding for transmitted files.
Right click to toggle through the four levels of encoding.

ProgRX - Progressive RX
Check to enable viewing image as it is coming in.
Using Progressive RX may slow other processes
such as the waterfall display.

BSR Requests -
Brings up the BSR Requests window.
For those transmissions that have a partial file stored,
there will be a file name listed. The sender's call is
listed first. Click a file name from the list to display
a partial image (if available) and other information.
There may be more than one file for the same image.
If this is the case, you should select the one that has
the fewest number of missing segments. Selecting the
file first is only necessary when using the
"Send Selected Request".

"Send Selected Request" -
This type of BSR is available even after EasyPal has been
closed and restarted. Use when you require a third party
FIX from another station running EasyPal. You must select
the file from the list to be fixed before clicking the
"Send Selected Request" button.

"Old Type BSR (compatable all)"
Use this type BSR when requesting segments from non-compatable
systems. Only the original sender or one that replayed the
file will be able to fix you with this type of BSR.

"Old Type Fast BSR (not compatable)"
This is the normal type of BSR to use when requesting segments
from the original sender that is also running EasyPal.
This type of BSR is a bit different from the BSR format used
in the past. It is called a "Fast BSR" because it uses a form of
shorthand to indicate contiguous segments. This new "Fast BSR"
will send faster because the text file listing the missing
segments is smaller. One drawback to the use of the new
"Fast BSR" is that older programs such as HamPal may not
recognize all the segments required and if there are many,
HamPal may only be able to send fixes for two or three
segments at a time. This is only a problem when pictures are
sent from HamPal to EasyPal.

"Old Type" BSR's do NOT require that you select the filename.

"Old Type" BSR may not be available. You will get the message,
"nothing to fix". This is most likely the case where you have
received a BSR from another station but not copied any of the FIX.
In this case, have the original station send part of the file
and abort. The "Old Type" BSR should now be available.

"Bad Segment Report"
Each type of BSR starts the transmission of a short text file
that lists the segment numbers that were missing on the last
received file (or selected file).
During this transmission, many instances will be sent to ensure
that the information gets through. When many segments are
required, the transmission time for the BSR may be much longer.

You may be better off to simply resend the original file – possibly with

a higher Reed-Solomon error correction setting.

=============================== TABS

RX tab -
Click to view RX screen and RX information line.

TX tab -
Click to view TX screen and TX information line.

View tab -
Click to view thumbnails of Last RX Pictures.
Click to view thumbnails of Last TX Pictures.

Send to TX -
This allows for a replay of the thumbnail image.
Transfers selected thumbnail to TX window. JPEG-2000
compression is applied and filename is changed when
transmitted. Quality is reduced each time this type
of replay is used.

Full Screen -
Displays selected thumbnail to full screen.
Image displayed will always be the original size.
The image is displayed against a black background.
Animated GIF files might not be displayed.
To return to the program screen, click the mouse
or hit the "Esc" key.

Delete to Recycle Bin -
Selected thumbnail will be deleted.
Since not all selected thumbnails will actually be
deleted, it may be necessary to open the "RxFiles"
or the "TxFiles" folder to manually delete these
files. Selecting the very last thumbnail to
delete for the second time may actually delete the

Send to Repeater Directory - ("USE Repeater" checked)
Transfers selected thumbnail to "Repeater" folder.
Additional JPEG-2000 compression is applied based on
setting of slider on the TX window. If "Encode" is
checked, then this level of RS Encoding will be
applied and the filename extension will be changed
to the one for that level of RS Encoding. Quality
may be reduced for this type of conversion.

Thumbnails are standard JPEG (.jpg) images that are
re-compressed copies of the files received and sent.
Image files in the "LastRX" folder may not have the
quality and characteristics as the original files sent.

The original files received are stored in the
"Autosave" folder. These files should be identical to
the quality and characteristics of the original files sent.

=============================== NOTES

The waterfall may be paused - just left click to pause/restart.

When EasyPal is closed, the contents of the "Transient" folder is deleted.
Temp files in other folders are also deleted.

Partially received files (ones with missing segments) will be saved
into the "Corrupt" folder. They are stored here until they are repaired
or manually deleted by the user.

Hints will appear after mouse pointer is placed over selected buttons
and areas.

No comments: