freedv-gui/USER_MANUAL.html

1223 lines
57 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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 youre 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 computers 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 youre using as well as the serial port its connected to (or
TCP/IP hostname:port). Serial port PTT control requires the serial port
your radio is using as well as whether your radios 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 radios 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 computers sound card as the <em>From Computer To
Speaker/Headphone</em> device.</p>
<p>If you dont 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), its 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-&gt;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
doesnt 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 radios 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 radios 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 wont
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 computers 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 isnt
enabled, or if your radio doesnt 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 radios 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-&gt;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 users
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 youd 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-&gt;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 dont 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-&gt;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-&gt;Options-&gt;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-&gt;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 radios 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-&gt;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-&gt;Options-&gt;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 its 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 doesnt work”, “SSB is
better”, or “On 23 December it didnt 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 -&gt; Loopback: Loopback PCM (hw:1,0)
- Transmit Tab - To Radio select -&gt; 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-&gt;Options-&gt;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
youre 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 radios 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-&gt;Options-&gt;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 youre 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 cant 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 dont 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> Cant 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 wont 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 doesnt 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-&gt;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> Im on Windows and serial
port PTT doesnt 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 youre 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 cant 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 &amp; 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> Im on a Mac and my preferred
audio device isnt 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 &quot;-fmarkdown-implicit_figures -o&quot; \
--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-&gt;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>Dont 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 radios
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 Conservancys 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>