1223 lines
57 KiB
HTML
1223 lines
57 KiB
HTML
<h1 data-number="1" id="introduction"><span
|
||
class="header-section-number">1</span> Introduction</h1>
|
||
<p>FreeDV GUI (or just FreeDV) is a GUI program for Linux, Windows, and
|
||
macOS for running FreeDV on a desktop PC or laptop.</p>
|
||
<p>This is a live document. Notes on new FreeDV features are being added
|
||
as they are developed.</p>
|
||
<h1 data-number="2" id="getting-started"><span
|
||
class="header-section-number">2</span> Getting Started</h1>
|
||
<p>This section contains instructions to help you get started.</p>
|
||
<h2 data-number="2.1" id="easy-setup"><span
|
||
class="header-section-number">2.1</span> Easy Setup</h2>
|
||
<p>Upon starting FreeDV for the first time, the Easy Setup dialog will
|
||
appear. This is a streamlined setup process for FreeDV optimized for
|
||
hardware commonly used by amateur radio operators and is divided into
|
||
three sections:</p>
|
||
<ol type="1">
|
||
<li>Sound card configuration,</li>
|
||
<li>CAT/PTT control, and</li>
|
||
<li>Reporting.</li>
|
||
</ol>
|
||
<p>These sections are shown below:</p>
|
||
<figure>
|
||
<img src="contrib/easy_setup.png" alt="Easy Setup dialog" />
|
||
<figcaption aria-hidden="true">Easy Setup dialog</figcaption>
|
||
</figure>
|
||
<p>Note that you can always return to this dialog by going to <em>Tools
|
||
- Easy Setup</em>.</p>
|
||
<h3 data-number="2.1.1" id="sound-card-configuration"><span
|
||
class="header-section-number">2.1.1</span> Sound Card Configuration</h3>
|
||
<p>To configure your sound card(s) using Easy Setup, simply select the
|
||
sound device associated with your radio and the microphone and speaker
|
||
devices you wish to use to hear decoded audio as well as to transmit
|
||
audio. If you’re setting up a receive-only station, you can choose
|
||
“None” for the transmit audio device.</p>
|
||
<p>Additionally, if you are using a Flex 6000 series radio on the
|
||
Windows platform, FreeDV will automatically select the DAX TX sound
|
||
device. It is necessary only to select the correct “slice” for the radio
|
||
sound device and the two devices to use for analog receive and transmit
|
||
(e.g. your computer’s built in microphone and speaker devices).</p>
|
||
<p>Note that some configurations (for example, SDR setups involving
|
||
multiple radio sound devices) may not be able to be configured with Easy
|
||
Setup. For those, you can choose the “Advanced” button and proceed to
|
||
“Advanced Setup” below.</p>
|
||
<h3 data-number="2.1.2" id="catptt-control"><span
|
||
class="header-section-number">2.1.2</span> CAT/PTT control</h3>
|
||
<p>Easy Setup supports three methods of radio control:</p>
|
||
<ol type="1">
|
||
<li>No radio control (e.g. using a VOX audio device such as
|
||
SignaLink),</li>
|
||
<li>Hamlib CAT control, and</li>
|
||
<li>Serial port PTT control.</li>
|
||
</ol>
|
||
<p>Simply select the option that matches your radio setup and the
|
||
required fields will appear. For Hamlib, these are typically the type of
|
||
radio you’re using as well as the serial port it’s connected to (or
|
||
TCP/IP hostname:port). Serial port PTT control requires the serial port
|
||
your radio is using as well as whether your radio’s PTT is triggered via
|
||
the RTS or DTR pin (and the required polarity for either).</p>
|
||
<p>If required, the “Advanced” button in this section will allow you to
|
||
configure PTT input (e.g. for a footswitch) and additional VOX related
|
||
options. The “Test” button will emit a constant carrier on the selected
|
||
radio sound device as well as enable PTT to allow you to adjust your
|
||
radio sound levels (see “Sound Card Levels” below).</p>
|
||
<h3 data-number="2.1.3" id="reporting"><span
|
||
class="header-section-number">2.1.3</span> Reporting</h3>
|
||
<p>While not required, it is recommended to enable reporting so that
|
||
others can see who is currently receiving them. This also allows the
|
||
FreeDV application to control the radio’s frequency and mode. Both sides
|
||
of a contact must have this enabled in order for contacts to be
|
||
reported. To configure reporting, simply enable the feature here and
|
||
enter your callsign and current grid square/locator.</p>
|
||
<p>For more information about the reporting feature, see the “FreeDV
|
||
Reporting” section below.</p>
|
||
<h2 data-number="2.2" id="advanced-setup"><span
|
||
class="header-section-number">2.2</span> Advanced Setup</h2>
|
||
<h3 data-number="2.2.1" id="sound-card-configuration-1"><span
|
||
class="header-section-number">2.2.1</span> Sound Card Configuration</h3>
|
||
<h4 data-number="2.2.1.1" id="receive-only-one-sound-card"><span
|
||
class="header-section-number">2.2.1.1</span> Receive Only (One Sound
|
||
Card)</h4>
|
||
<p>For this setup, you just need the basic sound hardware in your
|
||
computer, for example a microphone/speaker on your computer.</p>
|
||
<ol type="1">
|
||
<li>Open the <em>Tools - Audio Config</em> Dialog</li>
|
||
<li>At the bottom select <em>Receive</em> Tab</li>
|
||
<li>In <em>Input To Computer From Radio</em> select your default sound
|
||
input device (usually at the top)</li>
|
||
<li>In the <em>Output From Computer To Speaker/Headphones</em> window
|
||
select your default sound output device (usually at the top)</li>
|
||
<li>At the bottom select <em>Transmit</em> Tab</li>
|
||
<li>In <em>Input From Microphone To Computer</em> window select
|
||
<em>none</em></li>
|
||
<li>In <em>Output From Computer To Radio</em> window select
|
||
<em>none</em></li>
|
||
<li>Press OK to close the dialog</li>
|
||
</ol>
|
||
<p>When you press Start FreeDV will start decoding any incoming signals
|
||
on the microphone input, playing the decoded audio out of your speaker.
|
||
If no valid FreeDV signals are received, no audio will be played.</p>
|
||
<p>If you connect the microphone input on your computer to your radio
|
||
receiver, you can decode off air signals. If you have a rig interface,
|
||
try configuring that as the <em>From Radio To Computer</em> device, with
|
||
your computer’s sound card as the <em>From Computer To
|
||
Speaker/Headphone</em> device.</p>
|
||
<p>If you don’t have anyone to transmit FreeDV signals to you, try the
|
||
test wave files in the next section.</p>
|
||
<h4 data-number="2.2.1.2" id="transmitreceive-two-sound-cards"><span
|
||
class="header-section-number">2.2.1.2</span> Transmit/Receive (Two Sound
|
||
Cards)</h4>
|
||
<p>For TX/RX operation you need to configure two sound cards, by setting
|
||
up Tools - Audio Config <em>Transmit</em> and <em>Receive</em> Tabs.</p>
|
||
<p>When receiving, FreeDV off-air signals <strong>from</strong> your
|
||
radio are decoded by your computer and sent <strong>to</strong> your
|
||
speaker/headphones, where you can listen to them.</p>
|
||
<p>When transmitting, FreeDV takes your voice <strong>from</strong> the
|
||
microphone, and encodes it to a FreeDV signal in you computer which is
|
||
sent <strong>to</strong> your radio for transmission over the air.</p>
|
||
<table>
|
||
<colgroup>
|
||
<col style="width: 14%" />
|
||
<col style="width: 42%" />
|
||
<col style="width: 42%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Tab</th>
|
||
<th>Sound Device</th>
|
||
<th>Notes</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Receive Tab</td>
|
||
<td>Input To Computer From Radio</td>
|
||
<td>The off air FreeDV signal <strong>from</strong> your radio rig
|
||
interface to your computer</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Receive Tab</td>
|
||
<td>Output From Computer To Speaker/Headphones</td>
|
||
<td>The decoded audio from your computer to your Speaker/Headphones</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Transmit Tab</td>
|
||
<td>Input From Microphone To Computer</td>
|
||
<td>Your voice from the microphone to your computer</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Transmit Tab</td>
|
||
<td>Output From Computer To Radio</td>
|
||
<td>The FreeDV signal from your computer sent <strong>to</strong> your
|
||
rig interface for TX</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h4 data-number="2.2.1.3" id="changing-audio-devices"><span
|
||
class="header-section-number">2.2.1.3</span> Changing Audio Devices</h4>
|
||
<p>If you change audio devices (e.g. add or remove sound cards, USB
|
||
hardware), it’s a good idea to check the Tools/Audio Config dialog
|
||
before pressing <strong>Start</strong>, to verify the audio devices are
|
||
as expected. This is particularly important if any audio devices
|
||
e.g. Headsets, USB Sound Cards, or Virtual Cables have been disconnected
|
||
since the last time FreeDV was used.</p>
|
||
<p>Hitting <strong>Refresh</strong> in the lower left hand corner of the
|
||
Tools/Audio Config will normally update the audio devices list. Keeping
|
||
a screen shot of a known working configuration will be useful for new
|
||
users. Unexpected audio configuration changes may also occur following a
|
||
Windows updates.</p>
|
||
<p>Another solution is to re-start FreeDV and check Tools/Audio Config
|
||
again after changing any audio hardware.</p>
|
||
<h3 data-number="2.2.2" id="catptt-configuration"><span
|
||
class="header-section-number">2.2.2</span> CAT/PTT Configuration</h3>
|
||
<p>The Tools->CAT and PTT Config dialog supports three different ways
|
||
to control PTT on your radio:</p>
|
||
<ul>
|
||
<li>VOX: sends a tone to the left channel of the Transmit/To Radio sound
|
||
card</li>
|
||
<li>Hamlib: support for many different radios via the Hamlib library and
|
||
a serial port (or via TCP/IP for some devices, e.g. SDRs or
|
||
FLrig/rigctld).</li>
|
||
<li>Serial Port: direct access to the serial port pins</li>
|
||
</ul>
|
||
<p>You may also optionally configure an additional serial port for PTT
|
||
input. This can be useful for interfacing devices like foot switches to
|
||
FreeDV. If configured, FreeDV will switch into transmit mode (including
|
||
sending the needed Hamlib or serial commands to initiate PTT) when it
|
||
detects the configured signal.</p>
|
||
<p>Once you have configured PTT, try the <strong>Test</strong>
|
||
button.</p>
|
||
<p>Serial PTT support is complex. We get many reports that FreeDV PTT
|
||
doesn’t work on a particular radio, but may work fine with other
|
||
programs such as Fldigi. This is often a mismatch between the serial
|
||
parameters Hamlib is using with FreeDV and your radio. For example you
|
||
may have changed the default serial rate on your radio. Carefully check
|
||
the serial parameters on your radio match those used by FreeDV in the
|
||
PTT Dialog.</p>
|
||
<p>Also see <a href="#common-problems">Common Problems</a> section of
|
||
this manual.</p>
|
||
<h4 data-number="2.2.2.1" id="hamlib"><span
|
||
class="header-section-number">2.2.2.1</span> Hamlib</h4>
|
||
<p>Hamlib comes with a default serial rate for each radio. If your radio
|
||
has a different serial rate change the Serial Rate drop down box to
|
||
match your radio.</p>
|
||
<p>When <strong>Test</strong> is pressed, the “Serial Params” field is
|
||
populated and displayed. This will help track down any mismatches
|
||
between Hamlib and your radio.</p>
|
||
<p>If you are really stuck, download Hamlib and test your radio’s PTT
|
||
using the command line <code>rigctl</code> program.</p>
|
||
<h4 data-number="2.2.2.2" id="icom-radio-configuration"><span
|
||
class="header-section-number">2.2.2.2</span> Icom Radio
|
||
Configuration</h4>
|
||
<p>If using an Icom radio, Hamlib will use the radio’s default CI-V
|
||
address when connecting. If this has been changed, you can specify the
|
||
correct address in the “Radio Address” field (valid values are 00
|
||
through FF in hexadecimal).</p>
|
||
<p>Note that “00” is the “wildcard” CI-V address. Your radio must have
|
||
the “CI-V Transceive” option enabled in order for it to respond to
|
||
commands to that address. Otherwise, FreeDV must be configured to use
|
||
the same CI-V address as configured in the radio. For best results,
|
||
ensure that there are no other Icom/CI-V capable devices in the chain if
|
||
“00”/“CI-V Transceive” is used.</p>
|
||
<h4 data-number="2.2.2.3" id="changing-com-port-on-windows"><span
|
||
class="header-section-number">2.2.2.3</span> Changing COM Port On
|
||
Windows</h4>
|
||
<p>If you change the COM port of a USB-Serial device in Device Manager,
|
||
please unplug and plug back in the USB device. Windows/FreeDV won’t
|
||
recognize the device on the new COM Port until it has been
|
||
unplugged/plugged.</p>
|
||
<h2 data-number="2.3" id="test-wave-files"><span
|
||
class="header-section-number">2.3</span> Test Wave Files</h2>
|
||
<p>In the installation are audio files containing off-air FreeDV modem
|
||
signals. There is one file per FreeDV mode and are in the following
|
||
locations depending on platform:</p>
|
||
<table>
|
||
<colgroup>
|
||
<col style="width: 13%" />
|
||
<col style="width: 86%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Platform</th>
|
||
<th>Typical Location</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Windows</td>
|
||
<td>C:\Program Files\FreeDV [version]\share\freedv-gui\wav</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Linux</td>
|
||
<td>/usr/share/freedv-gui/wav or /usr/local/share/freedv-gui/wav</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>macOS</td>
|
||
<td>See https://github.com/drowe67/freedv-gui/tree/master/wav</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>To play these files, first select a FreeDV mode and press Start. Then
|
||
choose a file using “Tools - Start/Stop Play File From Radio”. You
|
||
should then hear decoded FreeDV speech.</p>
|
||
<p>These files will give you a feel for what FreeDV signals sound like,
|
||
and for the basic operation of the FreeDV software.</p>
|
||
<h2 data-number="2.4" id="sound-card-levels"><span
|
||
class="header-section-number">2.4</span> Sound Card Levels</h2>
|
||
<p>Sound card levels are generally adjusted in the computer’s Control
|
||
Panel or Settings, or in some cases via controls on your rig interface
|
||
hardware or menus on your radio. In-app adjustments can also be done by
|
||
using the ‘TX Level’ slider at the bottom of the main screen; anything
|
||
below 0 dB attenuates the transmit signal.</p>
|
||
<p>When FreeDV is running, you can observe the sound card signals in the
|
||
main window tabs (From Radio, From Mic, To Speaker).</p>
|
||
<ol type="1">
|
||
<li><p>On receive, FreeDV is not very sensitive to the <strong>From
|
||
Radio</strong> level, adjust so it is mid-range and not clipping. FreeDV
|
||
uses phase shift keying (PSK) so is not sensitive to amplitude.</p></li>
|
||
<li><p>The transmit level from your computer to your radio is important.
|
||
On transmit, adjust your level so that the ALC is <strong>just</strong>
|
||
being nudged. More <strong>is not better</strong> with the FreeDV
|
||
transmit signal. Overdriving your transmitter will lead to a distorted
|
||
transit signal, and a poor SNR at the receiver. This is a very common
|
||
problem.</p></li>
|
||
<li><p>FreeDV 700D and 700E can drive your transmitter at an average
|
||
power of 40% of its peak power rating. For example 40W RMS for a 100W
|
||
PEP radio. Make sure your transmitter can handle continuous power output
|
||
at these levels, and reduce the power if necessary.</p></li>
|
||
<li><p>Adjust the microphone audio so the peaks are not clipping, and
|
||
the average is about half the maximum.</p></li>
|
||
</ol>
|
||
<h2 data-number="2.5" id="audio-processing"><span
|
||
class="header-section-number">2.5</span> Audio Processing</h2>
|
||
<p>FreeDV likes a clean path through your radio. Turn all audio
|
||
processing <strong>OFF</strong> on transmit and receive:</p>
|
||
<ul>
|
||
<li><p>On receive, DSP noise reduction should be off.</p></li>
|
||
<li><p>On transmit, speech compression should be off.</p></li>
|
||
<li><p>Keep the receive audio path as “flat” as possible, no special
|
||
filters.</p></li>
|
||
<li><p>FreeDV will not work any better if you band pass filter the off
|
||
air received signals. It has its own, very tight filters in the
|
||
demodulator.</p></li>
|
||
</ul>
|
||
<h2 data-number="2.6" id="usb-or-lsb"><span
|
||
class="header-section-number">2.6</span> USB or LSB?</h2>
|
||
<p>On bands below 10 MHz, LSB is used for FreeDV. On 10MHz and above,
|
||
USB is used. After much debate, the FreeDV community has adopted the
|
||
same conventions as SSB, based on the reasoning that FreeDV is a voice
|
||
mode.</p>
|
||
<p>As an aid to the above, FreeDV will show the current mode on the
|
||
bottom of the window upon pressing the Start button if Hamlib is enabled
|
||
and your radio supports retrieving frequency and mode information over
|
||
CAT. If your radio is using an unexpected mode (e.g. LSB on 20 meters),
|
||
it will display that mode on the bottom of the window next to the Clear
|
||
button in red letters. When a session is not active, Hamlib isn’t
|
||
enabled, or if your radio doesn’t support retrieving frequency and mode
|
||
over CAT, it will remain grayed out with “unk” displaying instead of the
|
||
mode (for “unknown”).</p>
|
||
<h2 data-number="2.7" id="transceiver-filters"><span
|
||
class="header-section-number">2.7</span> Transceiver Filters</h2>
|
||
<p>For most FreeDV use, your radio’s receive and transmit filters should
|
||
be set to the widest possible (typically around 3 kHz). This allows easy
|
||
switching between analog mode as well as the various FreeDV modes. There
|
||
has not been any testing done to definitively confirm whether narrower
|
||
bandwidths help with reception of FreeDV. Additionally, FreeDV already
|
||
performs its own transmit filtering, so using additional narrow
|
||
filtering on the radio will likely have little benefit (again,
|
||
untested).</p>
|
||
<p>For reference, the channel widths of the currently supported modes
|
||
are below:</p>
|
||
<table>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Mode</th>
|
||
<th>Width (kHz)</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>1600</td>
|
||
<td>1.125</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>700D</td>
|
||
<td>1.000</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>700E</td>
|
||
<td>1.500</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>RADEV1</td>
|
||
<td>1.500</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1 data-number="3" id="voice-keyer"><span
|
||
class="header-section-number">3</span> Voice Keyer</h1>
|
||
<p>The Voice Keyer Button on the front page puts FreeDV and your radio
|
||
into transmit, reads a wave file of your voice to call CQ, and then
|
||
switches to receive to see if anyone is replying. If you press the space
|
||
bar or click the PTT button, the voice keyer stops. If a signal with a
|
||
valid sync is received for a few seconds the voice keyer also stops.</p>
|
||
<p>The Audio tab inside Tools-Options can be used to select the wave
|
||
file, set the RX delay, and number of times the TX/RX cycle repeats.</p>
|
||
<p>Additional options are also available if you right-click on the Voice
|
||
Keyer button:</p>
|
||
<ul>
|
||
<li>“Use another voice keyer file”: Allows you to trigger the voice
|
||
keyer using a different file from the one configured in
|
||
Tools->Options.</li>
|
||
<li>“Record new voice keyer file”: Triggers transmit and records your
|
||
microphone audio to a file that you select. Pushing the Voice Keyer
|
||
button will stop recording.</li>
|
||
<li>“Monitor transmitted audio”: Allows monitoring of audio while
|
||
transmitting the voice keyer file. If enabled, a checkmark will appear
|
||
next to this option.</li>
|
||
</ul>
|
||
<h1 data-number="4" id="monitoring-tx-audio"><span
|
||
class="header-section-number">4</span> Monitoring TX Audio</h1>
|
||
<p>FreeDV has the ability to monitor transmit audio. This can be useful
|
||
for adjusting microphone filters when your radio is plugged into a dummy
|
||
load. To enable this, right-click on the PTT button and choose “Monitor
|
||
transmitted audio”. A checkmark will appear next to this menu option
|
||
when enabled.</p>
|
||
<h1 data-number="5" id="quick-record"><span
|
||
class="header-section-number">5</span> Quick Record</h1>
|
||
<p>To quickly record incoming signals from the radio, a ‘Record’ button
|
||
is provided in the main window. Clicking this button will create a file
|
||
beginning with the name “FreeDV_FromRadio” and containing the current
|
||
date and time. Clicking ‘Record’ again will stop recording.</p>
|
||
<p>The Audio tab inside Tools-Options allows control of where these
|
||
recordings are saved. By default, this is inside the current user’s
|
||
Documents folder.</p>
|
||
<h1 data-number="6" id="multiple-configurations"><span
|
||
class="header-section-number">6</span> Multiple Configurations</h1>
|
||
<p>By default, FreeDV uses the following locations to store
|
||
configuration:</p>
|
||
<ul>
|
||
<li>Linux: ~/.freedv</li>
|
||
<li>macOS: ~/Library/Preferences/FreeDV Preferences</li>
|
||
<li>Windows: Registry (HKEY_CURRENT_USER\SOFTWARE\freedv)</li>
|
||
</ul>
|
||
<p>If you’d like to store the configuration in another location (or
|
||
store multiple configurations), FreeDV accepts the -f (or –config)
|
||
command line arguments to provide an alternate location. An absolute
|
||
path is recommended here; however, if only a relative path is provided,
|
||
it will be relative to the following locations:</p>
|
||
<ul>
|
||
<li>Linux: ~/</li>
|
||
<li>macOS: ~/Library/Preferences/</li>
|
||
<li>Windows: C:\Users\[username]\AppData\Roaming</li>
|
||
</ul>
|
||
<h2 data-number="6.1"
|
||
id="executing-freedv-with-a-different-configuration-windows"><span
|
||
class="header-section-number">6.1</span> Executing FreeDV With a
|
||
Different Configuration (Windows)</h2>
|
||
<p>On Windows, you can create shortcuts to FreeDV with different file
|
||
names for the “-f” command line option as described above. To create a
|
||
shortcut, right-click on the Desktop or in File Explorer and choose
|
||
New->Shortcut. Click on Browse and navigate to one of the following
|
||
paths:</p>
|
||
<ul>
|
||
<li>C:\Program Files\FreeDV [version]\bin\freedv.exe</li>
|
||
<li>C:\Program Files (x86)\FreeDV [version]\bin\freedv.exe (if the 32
|
||
bit version is installed on a 64 bit machine)</li>
|
||
</ul>
|
||
<p>Click Next and give the shortcut a unique description (e.g. “FreeDV
|
||
IC-7300”). Then push Finish to create the shortcut.</p>
|
||
<p>Once the shortcut has been created, right-click it and choose
|
||
Properties. Find the Shortcut tab in the resulting dialog box and add
|
||
“-f” followed by the desired filename to the end of the text in the
|
||
Target field. Do not add any other quote marks.</p>
|
||
<p>For example, to use a file called IC7300.conf stored in the Hamradio
|
||
directory on the C drive the Target field should appear as follows:</p>
|
||
<p>“C:\Program Files\FreeDV [version]\bin\freedv.exe” -f
|
||
C:\Hamradio\IC7300.conf</p>
|
||
<h1 data-number="7" id="freedv-reporting"><span
|
||
class="header-section-number">7</span> FreeDV Reporting</h1>
|
||
<p>FreeDV has the ability to send FreeDV signal reports to various
|
||
online spotting services by enabling the option in Tools-Options (in the
|
||
Reporting tab) and specifying your callsign and Maidenhead grid square.
|
||
When enabled, this causes FreeDV to disable the free form <strong>Txt
|
||
Msg</strong> field and only transmit the <strong>Callsign</strong>
|
||
field. As this uses a different encoding format from the free-form text
|
||
field, both sides of the contact must have this enabled for the contact
|
||
to be reported.</p>
|
||
<p>FreeDV validates the received information before submitting a
|
||
position report. This is to ensure that FreeDV does not report invalid
|
||
callsigns to the service (e.g. ones that don’t exist or that correspond
|
||
to real non-FreeDV users). However, if the reporting function is
|
||
disabled, all received text will display in the main window even if it
|
||
has errors.</p>
|
||
<p>The following services are currently supported and can be
|
||
individually enabled or disabled along with the reporting feature as a
|
||
whole:</p>
|
||
<ul>
|
||
<li><a href="https://pskreporter.info/">PSK Reporter</a> (using the
|
||
“FREEDV” mode)</li>
|
||
<li><a href="https://qso.freedv.org/">FreeDV Reporter</a> – also
|
||
accessible via the Tools->FreeDV Reporter menu option.</li>
|
||
</ul>
|
||
<p>The frequency that FreeDV reports is set by changing the “Report
|
||
Frequency” drop down box in the main window. This is either in kilohertz
|
||
(kHz) or megahertz (MHz) (configurable by going to
|
||
Tools->Options->Rig Control and checking or unchecking “Frequency
|
||
entry in kHz”) and will turn red if the entered value is invalid. If
|
||
Hamlib support is also enabled, this frequency will automatically remain
|
||
in sync with the current VFO on the radio (i.e. if the frequency is
|
||
changed in the application, the radio will also change its frequency).
|
||
Double-clicking on users in the Tools->FreeDV Reporter window will
|
||
also cause this frequency to change to match the other user.</p>
|
||
<p><em>Note: in some setups (such as when using ALE), it is not
|
||
preferred to have the reporting frequency automatically be in sync with
|
||
the radio. For example, in the case of ALE, the radio’s frequency
|
||
changes multiple times per second while waiting for a contact, which is
|
||
faster than FreeDV can pull the latest from the radio (every five
|
||
seconds). This can be disabled by enabling “Manual Frequency Reporting”
|
||
in Tools->Options.</em></p>
|
||
<p>FreeDV will also show the callsigns of previously received signals.
|
||
To view those, click on the arrow next to the last received callsign at
|
||
the bottom of the window. These are in descending order by time of
|
||
receipt (i.e. the most recently received callsign will appear at the top
|
||
of the list).</p>
|
||
<h1 data-number="8" id="multiple-mode-support"><span
|
||
class="header-section-number">8</span> Multiple Mode Support</h1>
|
||
<p>FreeDV can simultaneously decode the following modes when selected
|
||
prior to pushing “Start”:</p>
|
||
<ul>
|
||
<li>700D/E</li>
|
||
<li>1600</li>
|
||
<li>RADEV1</li>
|
||
</ul>
|
||
<p>In addition, FreeDV can allow the user to switch between the above
|
||
modes with the exception of RADEV1 for transmit without having to push
|
||
“Stop” first. These features can be enabled by going to
|
||
Tools->Options->Modem and checking the “Simultaneously Decode All
|
||
HF Modes” option. Note that this may consume significant additional CPU
|
||
resources, which can cause decode problems.</p>
|
||
<p>By default, FreeDV will use as many threads/cores in parallel as
|
||
required to decode all supported HF modes. On some slower systems, it
|
||
may be necessary to enable the “Use single thread for multiple RX
|
||
operation” option as well. This results in FreeDV decoding each mode in
|
||
series and additionally short circuits the list of modes to be checked
|
||
when in sync.</p>
|
||
<p>Additionally, the squelch setting with simultaneous decode enabled is
|
||
relative to the mode that supports the weakest signals (currently 700D).
|
||
The squelch for other modes will be set to a value higher than the
|
||
slider (which is calculated by adding the difference between the “Min
|
||
SNR” of 700D and the mode in question; see “FreeDV Modes” below). For
|
||
example, the squelch for 700E when the squelch slider is set to -2.0
|
||
becomes 1.0dB. This is designed to reduce undesired pops and clicks due
|
||
to false decodes.</p>
|
||
<p>When using RADEV1, the squelch settings in the main window are
|
||
ignored. Instead, FreeDV only passes decoded audio if it’s able to
|
||
synchronize with the incoming signal.</p>
|
||
<h1 data-number="9" id="freedv-modes"><span
|
||
class="header-section-number">9</span> FreeDV Modes</h1>
|
||
<p>The following table is a guide to the different modes, using analog
|
||
SSB and Skype as anchors for a rough guide to audio quality:</p>
|
||
<table>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Mode</th>
|
||
<th style="text-align: center;">Min SNR</th>
|
||
<th style="text-align: center;">Fading</th>
|
||
<th style="text-align: center;">Latency</th>
|
||
<th style="text-align: center;">Speech Bandwidth</th>
|
||
<th style="text-align: center;">Speech Quality</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>SSB</td>
|
||
<td style="text-align: center;">0</td>
|
||
<td style="text-align: center;">8/10</td>
|
||
<td style="text-align: center;">low</td>
|
||
<td style="text-align: center;">2600</td>
|
||
<td style="text-align: center;">5/10</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>1600</td>
|
||
<td style="text-align: center;">4</td>
|
||
<td style="text-align: center;">3/10</td>
|
||
<td style="text-align: center;">low</td>
|
||
<td style="text-align: center;">4000</td>
|
||
<td style="text-align: center;">4/10</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>700D</td>
|
||
<td style="text-align: center;">-2</td>
|
||
<td style="text-align: center;">4/10</td>
|
||
<td style="text-align: center;">high</td>
|
||
<td style="text-align: center;">4000</td>
|
||
<td style="text-align: center;">3/10</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>700E</td>
|
||
<td style="text-align: center;">1</td>
|
||
<td style="text-align: center;">7/10</td>
|
||
<td style="text-align: center;">medium</td>
|
||
<td style="text-align: center;">4000</td>
|
||
<td style="text-align: center;">3/10</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>RADEV1</td>
|
||
<td style="text-align: center;">-2</td>
|
||
<td style="text-align: center;">8/10</td>
|
||
<td style="text-align: center;">medium</td>
|
||
<td style="text-align: center;">8000</td>
|
||
<td style="text-align: center;">7/10</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Skype</td>
|
||
<td style="text-align: center;">-</td>
|
||
<td style="text-align: center;">-</td>
|
||
<td style="text-align: center;">medium</td>
|
||
<td style="text-align: center;">8000</td>
|
||
<td style="text-align: center;">8/10</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>The Min SNR is roughly the SNR where you cannot converse without
|
||
repeating yourself. The numbers above are on channels without fading
|
||
(AWGN channels like VHF radio). For fading channels the minimum SNR is a
|
||
few dB higher. The Fading column shows how robust the mode is to HF
|
||
Fading channels, higher is more robust.</p>
|
||
<p>The more advanced 700D and 2020 modes have a high latency due to the
|
||
use of large Forward Error Correction (FEC) codes. They buffer many
|
||
frames of speech, which combined with PC sound card buffering results in
|
||
end-to-end latencies of 1-2 seconds. They may take a few seconds to sync
|
||
at the start of an over, especially in fading channels.</p>
|
||
<h2 data-number="9.1" id="freedv-700d"><span
|
||
class="header-section-number">9.1</span> FreeDV 700D</h2>
|
||
<p>In mid 2018 FreeDV 700D was released, with a new OFDM modem, powerful
|
||
Forward Error Correction (FEC) and optional interleaving. It uses the
|
||
same 700 bit/s speech codec as the deprecated 700C mode. It operates at
|
||
SNRs as low as -2dB, and has good HF channel performance. It is around
|
||
10dB better than FreeDV 1600 on fading channels, and is competitive with
|
||
SSB at low SNRs. The FEC provides some protection from urban HF
|
||
noise.</p>
|
||
<p>FreeDV 700D is sensitive to tuning. To obtain sync you must be within
|
||
+/- 60Hz of the transmit frequency. This is straightforward with modern
|
||
radios which are generally accurate to +/-1 Hz, but requires skill and
|
||
practice when used with older, VFO based radios.</p>
|
||
<h2 data-number="9.2" id="freedv-700e"><span
|
||
class="header-section-number">9.2</span> FreeDV 700E</h2>
|
||
<p>FreeDV 700E was developed in December 2020 using lessons learned from
|
||
on air operation of 700C and 700D. A variant of 700D, it uses a shorter
|
||
frame size (80ms) to reduce latency and sync time. It is optimized for
|
||
fast fading channels channels with up to 4Hz Doppler spread and 6ms
|
||
delay spread. FreeDV 7000E uses the same 700 bit/s codec as FreeDV 700D.
|
||
It requires about 3dB more power than 700D, but can operate reliably on
|
||
fast fading channels.</p>
|
||
<p>The 700E release also includes optional compression (clipping) of the
|
||
700D and 700E transmit waveforms to reduce the Peak to Average Power
|
||
Ratio to about 4dB. For example a 100W PEP transmitter can be driven to
|
||
about 40W RMS. This is an improvement of 6dB over previous releases of
|
||
FreeDV 700D. Before enabling the clipper make sure your transmitter is
|
||
capable of handling sustained high average power without damage.</p>
|
||
<p>Clipping can be enabled via Tools-Options.</p>
|
||
<p>On good channels with high SNR clipping may actually reduce the SNR
|
||
of the received signal. This is intentional - we are adding some
|
||
pre-distortion in order to increase the RMS power. Forward error
|
||
correction (FEC) will clean up any errors introduced by clipping, and on
|
||
poor channels the benefits of increased signal power outweigh the slight
|
||
reduction in SNR on good channels.</p>
|
||
<h2 data-number="9.3" id="freedv-radev1"><span
|
||
class="header-section-number">9.3</span> FreeDV RADEV1</h2>
|
||
<p>RADE is a new mode with state-of-the-art performance, it is a
|
||
contraction of Radio AutoencoDEr so-named because the modulation
|
||
encoding uses a Machine-Learning method where the modulation and
|
||
demodulation are achieved by training on a large number of speech
|
||
samples over a modelled radio channel with typical propagation
|
||
disturbances in phase and amplitude as found in HF radio. The speech is
|
||
synthesised using the FARGAN neural vocoder (Frame-wise Auto-Regressive
|
||
GAN) where GAN is a Generative Adversarial Network).</p>
|
||
<p>Unlike the previous FreeDV modes which all use QPSK modulation, the
|
||
RADEV1 modulation produces an analog phase-amplitude output without
|
||
defined constellation points. It has been chosen as it offers a
|
||
combination of high speech quality together with reduced RF bandwidth
|
||
and good resistance to fading and multipath HF radio channels.</p>
|
||
<h1 data-number="10" id="tools-menu"><span
|
||
class="header-section-number">10</span> Tools Menu</h1>
|
||
<h2 data-number="10.1" id="tools---filter"><span
|
||
class="header-section-number">10.1</span> Tools - Filter</h2>
|
||
<p>This section describes features on Tools-Filter.</p>
|
||
<table>
|
||
<colgroup>
|
||
<col style="width: 26%" />
|
||
<col style="width: 73%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Control</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Noise Suppression</td>
|
||
<td>Enable noise suppression, de-reverberation, AGC of mic signal using
|
||
the Speex pre-processor</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>700D Auto EQ</td>
|
||
<td>Automatic equalization for FreeDV 700D/E Codec input audio</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>Auto EQ (Automatic Equalization) adjusts the input speech spectrum to
|
||
best fit the speech codec. It can remove annoying bass artifacts and
|
||
make the codec speech easier to understand.</p>
|
||
<p>Bass/Mid/Treble (for both microphone and speaker) can also be
|
||
adjusted here, either with the arrow keys or your mouse. A graph
|
||
displaying the frequency response of the signal based on your current
|
||
settings will display in this window as well.</p>
|
||
<ul>
|
||
<li><a href="http://www.rowetel.com/?p=6778">Blog Post on Auto EQ Part
|
||
1</a></li>
|
||
<li><a href="http://www.rowetel.com/?p=6860">Blog Post on Auto EQ Part
|
||
2</a></li>
|
||
</ul>
|
||
<h2 data-number="10.2" id="tools---options"><span
|
||
class="header-section-number">10.2</span> Tools - Options</h2>
|
||
<h3 data-number="10.2.1" id="modem-options"><span
|
||
class="header-section-number">10.2.1</span> Modem Options</h3>
|
||
<table>
|
||
<colgroup>
|
||
<col style="width: 28%" />
|
||
<col style="width: 71%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Control</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Clipping</td>
|
||
<td>Increases the average power. Ensure your transmitter can handle high
|
||
RMS powers before using!</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>TX Band Pass Filter</td>
|
||
<td>Reduces TX spectrum bandwidth</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1 data-number="11" id="helping-improve-freedv"><span
|
||
class="header-section-number">11</span> Helping Improve FreeDV</h1>
|
||
<p>If you have an interesting test case, for example:</p>
|
||
<ol type="1">
|
||
<li>FreeDV working poorly with a particular person or microphone.</li>
|
||
<li>Poor over the air performance on a fast fading channel.</li>
|
||
<li>Problems with sync on strong signals.</li>
|
||
<li>A comparison with SSB.</li>
|
||
</ol>
|
||
<p>Please send the developers an off air recording of the signal. FreeDV
|
||
can record files from your radio using Tools-Record File from Radio. A
|
||
recording of 30 to 60 seconds is most useful.</p>
|
||
<p>With a recording we can reproduce your exact problem. If we can
|
||
reproduce it we can fix it. Recordings are much more useful than
|
||
anecdotes or subjective reports like “FreeDV doesn’t work”, “SSB is
|
||
better”, or “On 23 December it didn’t work well on grid location XYZ”.
|
||
With subjective reports problems are impossible to reproduce, cannot be
|
||
fixed, and you are unlikely to get the attention of the developers.</p>
|
||
<h1 data-number="12" id="multiple-panes-in-gui-window"><span
|
||
class="header-section-number">12</span> Multiple Panes in GUI
|
||
window</h1>
|
||
<p>It is possible to have multiple panes opened within the GUI window
|
||
for example, to observe both the Waterfall and Spectrum Tabs. New panes
|
||
may be added above, below, left or right of existing panes.</p>
|
||
<p>A new visible pane is created by hovering the cursor over the
|
||
required Tab, click and hold the left mouse button and drag the Tab to
|
||
the required position and releasing the mouse button. If currently two
|
||
panes are stacked vertically a third pane may be added either beside
|
||
either pane or to the left/right of both panes. If the Tab is required
|
||
adjacent to both panes then it must be dragged to the left/right of the
|
||
junction of the existing Tabs.</p>
|
||
<p>As the Tab is dragged into position a faint blue/gray image will show
|
||
the position to be occupied by the pane. Panes may be relocated back to
|
||
the menu bar by a similar process.</p>
|
||
<p>Tabs can be resized as required by hovering the cursor over the
|
||
border and clicking and holding the left mouse button and dragging to
|
||
required size.</p>
|
||
<p>By default, the tab layout is not saved. However, by enabling
|
||
experimental features (see “Advanced/Developer Features”), experimental
|
||
support for saving and restoring the tab layout will be enabled. This
|
||
has not been well tested and may have hidden bugs or other issues.</p>
|
||
<figure>
|
||
<img src="contrib/multiple_panes.png" alt="Multiple Panes" />
|
||
<figcaption aria-hidden="true">Multiple Panes</figcaption>
|
||
</figure>
|
||
<h1 data-number="13" id="advanceddeveloper-features"><span
|
||
class="header-section-number">13</span> Advanced/Developer Features</h1>
|
||
<h2 data-number="13.1" id="stats-window"><span
|
||
class="header-section-number">13.1</span> Stats Window</h2>
|
||
<p>Located on the lower left hand side of the main screen.</p>
|
||
<table>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Term</th>
|
||
<th>Notes</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>Bits</td>
|
||
<td>Number of bits demodulated</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Errs</td>
|
||
<td>Number of bit errors detected</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Resyncs</td>
|
||
<td>Number of times the demodulator has resynced</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>ClkOff</td>
|
||
<td>Estimated sample clock offset in parts per million</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>FreqOff</td>
|
||
<td>Estimated frequency offset in Hz</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>Sync</td>
|
||
<td>Sync metric (OFDM modes like 700D/E)</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>Var</td>
|
||
<td>Speech encoder distortion for 700D (see Auto EQ)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>The sample clock offset is the estimated difference between the
|
||
modulator (TX) and demodulator (RX) sample clocks. For example if the
|
||
transmit station sound card is sampling at 44000 Hz and the receive
|
||
station sound card 44001 Hz, the sample clock offset would be
|
||
((44000-44001)/44000)*1E6 = 22.7 ppm.</p>
|
||
<h2 data-number="13.2" id="timing-delta-tab"><span
|
||
class="header-section-number">13.2</span> Timing Delta Tab</h2>
|
||
<p>This indicates the symbol timing estimate of the demodulator, in the
|
||
range of +/- 0.5 of a symbol. With off air signals this will have a
|
||
sawtooth appearance, as the demod tracks the modulator sample clock. The
|
||
steeper the slope, the greater the sample clock offset.</p>
|
||
<ul>
|
||
<li><a href="http://www.rowetel.com/?p=6041">FreeDV 1600 Sample Clock
|
||
Offset Bug</a></li>
|
||
<li><a href="http://www.rowetel.com/?p=2433">Testing a FDMDV
|
||
Modem</a></li>
|
||
</ul>
|
||
<h2 data-number="13.3" id="sound-card-debug"><span
|
||
class="header-section-number">13.3</span> Sound Card Debug</h2>
|
||
<p>These features were added for FreeDV 700D, to help diagnose sound
|
||
card issues during development.</p>
|
||
<h3 data-number="13.3.1" id="tools---options-dialog"><span
|
||
class="header-section-number">13.3.1</span> Tools - Options dialog:</h3>
|
||
<p>Debug FIFO and PortAudio counters: used for debugging audio problems
|
||
on 700D. During beta testing there were problems with break up in the
|
||
700D TX and RX audio on Windows.</p>
|
||
<p>The PortAudio counters (PortAudio1 and PortAudio2) should not
|
||
increment when running in TX or RX, as this indicates samples are being
|
||
lost by the sound driver which will lead to sync problems.</p>
|
||
<p>The Fifo counter outempty1 counter should not increment during TX, as
|
||
this indicates FreeDV is not supplying samples fast enough to the
|
||
PortAudio drivers. The results will be resyncs at the receiver.</p>
|
||
<p>Check these counters by pressing Start, then Reset them and observe
|
||
the counters for 30 seconds.</p>
|
||
<p>If the PortAudio counters are incrementing on receive try:</p>
|
||
<ol type="1">
|
||
<li><p>Adjusting framesPerBuffer; try 0, 128, 256, 512, 1024.</p></li>
|
||
<li><p>Shut down other applications that might be using audio, such as
|
||
Skype or your web browser.</p></li>
|
||
<li><p>A different sound card rate such as 44.1kHz instead of
|
||
48kHz.</p></li>
|
||
</ol>
|
||
<p>If the outempty1 counter is incrementing on transmit try increasing
|
||
the FifoSize.</p>
|
||
<p>The txThreadPriority checkbox reduces the priority of the main txRX
|
||
thread in FreeDV which may help the sound driver thread process
|
||
samples.</p>
|
||
<p>The txRXDumpTiming check box dumps timing information to a console
|
||
that is used for debugging the RX break up problem on 700D. Each number
|
||
is how many ms the txRXThread took to run.</p>
|
||
<p>The txRXDumpTiming check box dumps the number of samples free in the
|
||
TX FIFO sending samples to the TX. If this hits zero, your TX audio will
|
||
break up and the RX will lose sync. TX audio break up will also occur if
|
||
you see “outfifo1” being incremented on the “Fifo” line during TX. Try
|
||
increasing the FifoSize.</p>
|
||
<h2 data-number="13.4" id="full-duplex-testing-with-loopback"><span
|
||
class="header-section-number">13.4</span> Full Duplex Testing with
|
||
loopback</h2>
|
||
<p>Tools - Options - Half Duplex check box</p>
|
||
<p>FreeDV GUI can operate in full duplex mode which is useful for
|
||
development or listening to your own FreeDV signal as only one PC is
|
||
required. Normal operation is half duplex.</p>
|
||
<p>TX and RX signals can be looped back via an analog connection between
|
||
the sound cards.</p>
|
||
<p>On Linux, using the ALSA loopback module:</p>
|
||
<pre><code> $ sudo modprobe snd-aloop
|
||
$ ./freedv
|
||
|
||
In Tools - Audio Config - Receive Tab - From Radio select -> Loopback: Loopback PCM (hw:1,0)
|
||
- Transmit Tab - To Radio select -> Loopback: Loopback PCM (hw:1,1)</code></pre>
|
||
<h2 data-number="13.5" id="experimental-features"><span
|
||
class="header-section-number">13.5</span> Experimental Features</h2>
|
||
<p>Occasionally there are some features that may be unstable or
|
||
otherwise not ready to officially be released. To experiment with these
|
||
features, you can go to Tools->Options->Debugging and enable
|
||
“Enable Experimental Features”. Note that if you have problems after
|
||
enabling this setting, it is recommended to disable it again to verify
|
||
that an experimental feature is not causing trouble. (Additionally, if
|
||
you’re able to confirm that an experimental feature is causing problems,
|
||
please file a bug report!)</p>
|
||
<h1 data-number="14" id="tips"><span
|
||
class="header-section-number">14</span> Tips</h1>
|
||
<ol type="1">
|
||
<li>The space bar can be used to toggle PTT.</li>
|
||
<li>You can left click on the main window to adjust tuning, the vertical
|
||
red line on the frequency scale will show the current center frequency.
|
||
FreeDV will automatically track any drift once it syncs.</li>
|
||
</ol>
|
||
<h1 data-number="15" id="common-problems"><span
|
||
class="header-section-number">15</span> Common Problems</h1>
|
||
<h2 data-number="15.1" id="freedv-sets-radio-to-wrong-mode"><span
|
||
class="header-section-number">15.1</span> FreeDV Sets Radio To Wrong
|
||
Mode</h2>
|
||
<p>By default, FreeDV attempts to set the radio’s mode to DIGU/USB-D (or
|
||
LSB equivalent for 40 meters and below). Some radios do not support data
|
||
modes and only have USB and LSB. For these, you can go to
|
||
Tools->Options->Rig Control and check the “Use USB/LSB instead of
|
||
DIGU/DIGL” option. This will cause FreeDV to use the standard USB and
|
||
LSB modes for rig control instead.</p>
|
||
<p>Note that for best results, your radio should have all processing
|
||
disabled if you’re using the standard USB/LSB modes. This disabling of
|
||
processing typically takes place when using data mode.</p>
|
||
<h2 data-number="15.2" id="overdriving-transmit-level"><span
|
||
class="header-section-number">15.2</span> Overdriving Transmit
|
||
Level</h2>
|
||
<p>This is a very common problem for first time FreeDV users. Adjust
|
||
your transmit levels so the ALC is just being nudged. More power is not
|
||
better with FreeDV. An overdriven signal will have poor SNR at the
|
||
receiver. For FreeDV 700D/700E operation with the clipper, make sure
|
||
your transmitter can sustain high average power levels without damage
|
||
(e.g. 40W RMS on a 100W PEP radio).</p>
|
||
<h2 data-number="15.3"
|
||
id="i-cant-set-up-freedv-especially-the-sound-cards"><span
|
||
class="header-section-number">15.3</span> I can’t set up FreeDV,
|
||
especially the Sound Cards</h2>
|
||
<p>This can be challenging the first time around:</p>
|
||
<ol type="1">
|
||
<li><p>Try a receive only (one audio card) set up first.</p></li>
|
||
<li><p>Ask someone who already runs FreeDV for help.</p></li>
|
||
<li><p>If you don’t know anyone local, ask for help on the digital voice
|
||
mailing list. Be specific about the hardware you have and the exact
|
||
nature of your problem.</p></li>
|
||
</ol>
|
||
<h2 data-number="15.4"
|
||
id="hamlib-does-not-work-with-my-icom-radio"><span
|
||
class="header-section-number">15.4</span> Hamlib does not work with my
|
||
Icom radio</h2>
|
||
<p>The most common issue with Icom radios is that the CI-V address
|
||
configured in FreeDV does not match the address configured in the radio.
|
||
Ensure that the CI-V address in both FreeDV and on the radio are the
|
||
same. If “00” is used on the FreeDV side, ensure that the “CI-V
|
||
Transceive” option is enabled on the radio or else the radio will not
|
||
respond to requests directed to that address.</p>
|
||
<p>On newer radios (e.g. 7300, 7610), you may also need to set “CI-V USB
|
||
Echo Back” to ON as this may be set to OFF by default.</p>
|
||
<h2 data-number="15.5"
|
||
id="i-need-help-with-my-radio-or-rig-interface"><span
|
||
class="header-section-number">15.5</span> I need help with my radio or
|
||
rig interface</h2>
|
||
<p>There are many radios, many computers, and many sound cards. It is
|
||
impossible to test them all. Many radios have intricate menus with
|
||
custom settings. It is unreasonable to expect the authors of FreeDV to
|
||
have special knowledge of your exact hardware.</p>
|
||
<p>However someone may have worked through the same problem as you. Ask
|
||
on the digital voice mailing list.</p>
|
||
<h2 data-number="15.6" id="cant-hear-anything-on-receive"><span
|
||
class="header-section-number">15.6</span> Can’t hear anything on
|
||
receive</h2>
|
||
<p>Many FreeDV modes will not play any audio if there is no valid
|
||
signal. You may also have squelch set too high. In some modes the
|
||
<strong>Analog</strong> button will let you hear the received signal
|
||
from the SSB radio.</p>
|
||
<p>Try the Test Wave Files above to get a feel for what a FreeDV signal
|
||
looks and sounds like.</p>
|
||
<h2 data-number="15.7"
|
||
id="the-signal-is-strong-but-freedv-wont-get-sync-and-decode"><span
|
||
class="header-section-number">15.7</span> The signal is strong but
|
||
FreeDV won’t get sync and decode</h2>
|
||
<p>Do you have the correct sideband? See USB or LSB section.</p>
|
||
<p>Is it a FreeDV signal? SSTV uses similar frequencies. To understand
|
||
what FreeDV sounds like, see the Test Wave Files section.</p>
|
||
<h2 data-number="15.8" id="trouble-getting-sync-with-700d"><span
|
||
class="header-section-number">15.8</span> Trouble getting Sync with
|
||
700D</h2>
|
||
<p>You need to be within +/- 60 Hz on the transmit signal. It helps if
|
||
both the TX and RX stations tune to known, exact frequencies such as
|
||
exactly 7.177MHz. On channels with fast fading sync may take a few
|
||
seconds.</p>
|
||
<h2 data-number="15.9"
|
||
id="ptt-doesnt-work.-it-works-with-fldigi-and-other-hamlib-applications."><span
|
||
class="header-section-number">15.9</span> PTT doesn’t work. It works
|
||
with Fldigi and other Hamlib applications.</h2>
|
||
<p>Many people struggle with initial CAT control and PTT setup:</p>
|
||
<ol type="1">
|
||
<li><p>Read the “CAT/PTT Configuration” section above.</p></li>
|
||
<li><p>Try the “Test PTT” button inside Tools->CAT and PTT
|
||
Config.</p></li>
|
||
<li><p>Check your rig serial settings. Did you change them from defaults
|
||
for another program?</p></li>
|
||
<li><p>Linux version: do you have permissions for the serial port? Are
|
||
you a member of the <code>dialout</code> group?</p></li>
|
||
<li><p>Ask someone who already uses FreeDV to help.</p></li>
|
||
<li><p>Contact the digital voice mailing list. Be specific about your
|
||
hardware, what you have tried, and the exact nature of the
|
||
problem.</p></li>
|
||
</ol>
|
||
<h2 data-number="15.10"
|
||
id="im-on-windows-and-serial-port-ptt-doesnt-work-with-my-usb-to-serial-adapter."><span
|
||
class="header-section-number">15.10</span> I’m on Windows and serial
|
||
port PTT doesn’t work with my USB to serial adapter.</h2>
|
||
<p>Please verify that you are running the correct drivers for the USB to
|
||
serial adapter that you’re using. Information and download links for the
|
||
drivers used by the most common devices can be found <a
|
||
href="https://www.miklor.com/COM/UV_Drivers.php">here</a>.</p>
|
||
<p>While it is preferred to use devices that use authorized/original
|
||
versions of the various USB to serial chipsets, it is possible to use
|
||
some cloned devices with older drivers. When doing this, you may also
|
||
need to force Windows to use an older version of a driver instead of
|
||
automatically updating the driver on reboot. See <a
|
||
href="https://wethegeek.com/how-to-disable-automatic-driver-updates-in-windows-10/">here</a>
|
||
for instructions on doing so in Windows 10. For Windows 8:</p>
|
||
<ol type="1">
|
||
<li>Search for “Change device” in the Windows 8 Start menu.</li>
|
||
<li>Click on where it says “Change device installation settings”.</li>
|
||
<li>Select the “No, let me choose what to do” option.</li>
|
||
<li>Check the “automatically get the device app” option, then click Save
|
||
changes to save the settings you just chose.</li>
|
||
</ol>
|
||
<h2 data-number="15.11"
|
||
id="i-installed-a-new-version-and-freedv-stopped-working"><span
|
||
class="header-section-number">15.11</span> I installed a new version and
|
||
FreeDV stopped working</h2>
|
||
<p>You may need to clean out the previous configuration. Try Tools -
|
||
Restore Defaults. Set up your sound cards again with Tools - Audio
|
||
Config.</p>
|
||
<h2 data-number="15.12" id="freedv-crashes-when-i-press-start"><span
|
||
class="header-section-number">15.12</span> FreeDV crashes when I press
|
||
Start</h2>
|
||
<p>Have you removed/changed USB audio devices? If you remove/change USB
|
||
audio devices without pressing Tools - Audio Config, FreeDV may crash.
|
||
See Changing Audio Devices above.</p>
|
||
<h2 data-number="15.13"
|
||
id="freedv-cant-be-opened-on-macos-because-the-developer-cannot-be-verified"><span
|
||
class="header-section-number">15.13</span> FreeDV can’t be opened on
|
||
macOS because the developer cannot be verified</h2>
|
||
<p>From January 2020 Apple is enforcing notarization for all macOS
|
||
applications. The FreeDV developers do not wish to operate within the
|
||
Apple ecosystem due to the cost/intrusiveness of this requirement.</p>
|
||
<figure>
|
||
<img src="contrib/osx_notarization1.png" alt="Notarization Error" />
|
||
<figcaption aria-hidden="true">Notarization Error</figcaption>
|
||
</figure>
|
||
<p>Security & Privacy shows the Open Anyway option for FreeDV:</p>
|
||
<figure>
|
||
<img src="contrib/osx_notarization2.png" alt="Security and Privacy" />
|
||
<figcaption aria-hidden="true">Security and Privacy</figcaption>
|
||
</figure>
|
||
<figure>
|
||
<img src="contrib/osx_notarization3.png" alt="Open FreeDV" />
|
||
<figcaption aria-hidden="true">Open FreeDV</figcaption>
|
||
</figure>
|
||
<p>Or you can use command line options:</p>
|
||
<pre><code>xattr -d com.apple.quarantine FreeDV.app</code></pre>
|
||
<p>or</p>
|
||
<pre><code>xattr -d -r com.apple.quarantine FreeDV.app</code></pre>
|
||
<h2 data-number="15.14"
|
||
id="im-on-a-mac-and-my-preferred-audio-device-isnt-appearing"><span
|
||
class="header-section-number">15.14</span> I’m on a Mac and my preferred
|
||
audio device isn’t appearing</h2>
|
||
<p>macOS has a longstanding issue that prevents certain audio devices
|
||
from appearing. More info <a
|
||
href="http://www.w1hkj.com/files/fldigi/AppleAudioCodec.html">here</a>.</p>
|
||
<h1 data-number="16" id="converting-this-document-to-pdf"><span
|
||
class="header-section-number">16</span> Converting this document to
|
||
PDF</h1>
|
||
<p>For the Linux inclined:</p>
|
||
<pre><code>$ pandoc USER_MANUAL.md -o USER_MANUAL.pdf "-fmarkdown-implicit_figures -o" \
|
||
--from=markdown -V geometry:margin=.4in --toc --highlight-style=espresso</code></pre>
|
||
<h1 data-number="17" id="glossary"><span
|
||
class="header-section-number">17</span> Glossary</h1>
|
||
<table>
|
||
<colgroup>
|
||
<col style="width: 7%" />
|
||
<col style="width: 93%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>Term</th>
|
||
<th>Notes</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>AWGN</td>
|
||
<td>Additive White Gaussian Noise - a channel with just noise and no
|
||
fading (like VHF)</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>FEC</td>
|
||
<td>Forward Error Correction - extra bits to we send to protect the
|
||
speech codec bits</td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td>LDPC</td>
|
||
<td>Low Density Parity Check Codes - a family of powerful FEC codes</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h1 data-number="18" id="release-notes"><span
|
||
class="header-section-number">18</span> Release Notes</h1>
|
||
<h2 data-number="18.1" id="v2.0.1-tbd-2025"><span
|
||
class="header-section-number">18.1</span> V2.0.1 TBD 2025</h2>
|
||
<ol type="1">
|
||
<li>Bugfixes:
|
||
<ul>
|
||
<li>Reduce latency when going between TX->RX with Hamlib configured.
|
||
(PR #893)</li>
|
||
<li>Reduce usage of non-real time safe code. (PR #900)</li>
|
||
<li>FreeDV Reporter: Force explicit background color (avoids unwanted
|
||
mouseover highlights on Linux). (PR #911)</li>
|
||
<li>Fix compiler errors when using wxWidgets 3.0. (PR #914)</li>
|
||
<li>Unit tests: Increase sleep time before killing recording to resolve
|
||
macOS test failures. (PR #917)</li>
|
||
<li>Fix typo causing RX radio device to remain open. (PR #918)</li>
|
||
<li>Fix WASAPI errors on some machines by supporting audio mix formats
|
||
other than 16-bit integer. (PR #919)</li>
|
||
<li>Reduce CPU usage of FreeDV Reporter window by only re-sorting if we
|
||
actually get new data from the server. (PR #915)</li>
|
||
<li>FreeDV Reporter: Fix issue with first column not being aligned
|
||
properly with other columns. (PR #922)</li>
|
||
<li>FreeDV Reporter: Work around Linux bug preventing some flag emojis
|
||
from being fully deleted on backspace. (PR #931)</li>
|
||
<li>Fix GTK+ assertion after FreeDV Reporter has been open for a long
|
||
time. (PR #929)</li>
|
||
<li>Easy Setup: Use card names instead of device names for generating
|
||
device list. (PR #932)</li>
|
||
</ul></li>
|
||
<li>Documentation:
|
||
<ul>
|
||
<li>Add missing dependency for macOS builds to README. (PR #925; thanks
|
||
<span class="citation" data-cites="relistan">@relistan</span>!)</li>
|
||
<li>Add note about using XWayland on Linux. (PR #926)</li>
|
||
</ul></li>
|
||
<li>Build system:
|
||
<ul>
|
||
<li>Update Hamlib to 4.6.3 (macOS/Windows). (PR #930)</li>
|
||
<li>Reload current Git hash every time it changes. (PR #935)</li>
|
||
</ul></li>
|
||
</ol>
|
||
<h2 data-number="18.2" id="v2.0.0-june-2025"><span
|
||
class="header-section-number">18.2</span> V2.0.0 June 2025</h2>
|
||
<p>This version contains the first official release of the RADE V1 mode
|
||
previously trialled over several preview releases. Radio Autoencoder
|
||
(RADE) technology is a new approach to sending speech over HF radio. It
|
||
combines Machine Learning (ML) with classical DSP to send high quality
|
||
speech over HF radio at SNRs as low as -2dB in a bandwidth of 1500 Hz.
|
||
More information about Radio Autoencoder can be found at <a
|
||
href="https://freedv.org/radio-autoencoder/">https://freedv.org/radio-autoencoder/</a>.</p>
|
||
<ol type="1">
|
||
<li>Bugfixes:
|
||
<ul>
|
||
<li>Fix bug preventing saving of the previously used path when playing
|
||
back files. (PR #729)</li>
|
||
<li>Fix bug preventing proper time display in FreeDV Reporter on macOS.
|
||
(PR #748)</li>
|
||
<li>Hamlib: Improve behavior with Icom rigs, serial port PTT. (PR
|
||
#875)</li>
|
||
<li>Fix various audio dropout issues, especially on Linux. (PR
|
||
#761)</li>
|
||
<li>Fix issue preventing non-ASCII text from appearing properly in
|
||
FreeDV Reporter messages. (PR #812)</li>
|
||
<li>Don’t adjust Msg column width when user disconnects. (PR #828)</li>
|
||
<li>Fix issue preventing suppression of the Msg tooltip for
|
||
non-truncated messages. (PR #829)</li>
|
||
<li>Preserve Hamlib rig names on startup to guard against changes by
|
||
Hamlib during execution. (PR #834)</li>
|
||
<li>Fix dropouts related to virtual audio cables. (PR #840)</li>
|
||
<li>Report “unk” for mode on Hamlib disconnect. (PR #851)</li>
|
||
<li>Fix deadlocks and crashes while using Play/Record buttons in Audio
|
||
Options window. (PR #871)</li>
|
||
<li>Fix issue causing PTT button to remain active after pushing it. (PR
|
||
#871)</li>
|
||
<li>Fix rendering issue causing random spikes in From Mic plot. (PR
|
||
#871)</li>
|
||
</ul></li>
|
||
<li>Enhancements:
|
||
<ul>
|
||
<li>Show green line indicating RX frequency. (PR #725)</li>
|
||
<li>Update configuration of the Voice Keyer feature based on user
|
||
feedback. (PR #730, #746, #793)</li>
|
||
<li>Add monitor volume adjustment. (PR #733)</li>
|
||
<li>Avoid modifying the audio device configuration without the user
|
||
explicitly doing so. (PR #735)</li>
|
||
<li>If provided by user, add config file to titlebar. (PR #738)</li>
|
||
<li>Minor adjustments to spectrum/waterfall tooltips. (PR #743)</li>
|
||
<li>Implement new logging framework. (PR #773)</li>
|
||
<li>Windows: Detect whether microphone permissions have been granted and
|
||
display error if not. (PR #790)</li>
|
||
<li>Add rig control option to prevent auto-adjustment of the radio’s
|
||
current mode. (PR #809)</li>
|
||
<li>Update default 80 and 160m calling frequencies. (PR #831)</li>
|
||
<li>Shorten PulseAudio/pipewire app name. (PR #843)</li>
|
||
<li>Hamlib: support CAT PTT via the Data port instead of Mic (needed for
|
||
some older radios). (PR #875)</li>
|
||
<li>macOS: Show /dev/tty.* devices in CAT/PTT options. (PR #883)</li>
|
||
<li>Remove pre-PTT interrogation of frequency/mode to improve TX/RX
|
||
switching time. (PR #898)</li>
|
||
</ul></li>
|
||
<li>Build system:
|
||
<ul>
|
||
<li>Allow overriding the version tag when building. (PR #727)</li>
|
||
<li>Update wxWidgets to 3.2.8. (PR #861)</li>
|
||
<li>Update Hamlib to 4.6.2. (PR #834)</li>
|
||
<li>Use optimal number of parallel builds during build process. (PR
|
||
#842)</li>
|
||
</ul></li>
|
||
<li>Miscellaneous:
|
||
<ul>
|
||
<li>Add issue template for SW bugs. (PR #759)</li>
|
||
<li>Fix typos in user manual and code. (PR #859; thanks <span
|
||
class="citation" data-cites="dforsi">@dforsi</span>)</li>
|
||
<li>Removed deprecated modes: 700C, 800XA, 2020, 2020B (PR #889)</li>
|
||
</ul></li>
|
||
</ol>
|
||
<p><em>Note: Official Windows releases are now signed using Software
|
||
Freedom Conservancy’s code certificate. To validate that the installers
|
||
and binary files are properly signed, right-click on the file, choose
|
||
Properties and go to the ‘Digital Signatures’ tab.</em></p>
|
||
<h2 data-number="18.3" id="earlier-than-v2.0.0"><span
|
||
class="header-section-number">18.3</span> Earlier than V2.0.0</h2>
|
||
<p>See <a
|
||
href="https://github.com/drowe67/codec2/blob/master/CHANGELOG_OLD.md">this</a>
|
||
for more information about changes in versions prior to v1.9.0.</p>
|
||
<h1 data-number="19" id="references"><span
|
||
class="header-section-number">19</span> References</h1>
|
||
<ul>
|
||
<li><a href="http://freedv.org">FreeDV Web site</a></li>
|
||
<li><a
|
||
href="https://github.com/drowe67/codec2/blob/master/README_freedv.md">FreeDV
|
||
Technology Overview</a></li>
|
||
<li><a
|
||
href="https://groups.google.com/forum/#!forum/digitalvoice">Digitalvoice
|
||
mailing list</a></li>
|
||
</ul>
|