Some experienced a crash in 3.3.7, especially when changing DSP Buffer Sizes
or during RX/TX transitions. We believe this has been totally resolved.

SIGNIFICANTLY LOWER LATENCY

Receive latency is the time between when RF reaches your antenna and the
corresponding audio is produced in your speaker or headphones.
Similarly, transmit latency is, for example, the time between audio reaching
your microphone and RF being on its way to your antenna. For many SDRs,
especially those with sharp "brick wall" filters, the latency can be much
larger than you might expect. Depending upon the radio design and various
settings, SDR latencies can significantly exceed 100mS. Long latencies can
create problems for the operator in contest operation, high-speed break-in
CW, and even SSB rapid-turnaround VOX operation.

This release incorporates some technologies that allow us to achieve low
latencies in the same category as leading conventional radios.
Furthermore, we can do this with extremely sharp filters.

First of all, a couple basics:

- Sometime ago, we moved CW Transmit from software to the FPGA in the radio
hardware. This means that CW transmit latency was already very low, really
based upon your delay settings which are chosen to avoid any hot-switching
of relays.

- It has always been the case that the Buffer Size setting on the
Setup=>Audio/Primary tab effects latency. The lower the size, the lower the
latency. However, the lower the size, the more CPU cycles are required.
Depending upon the speed of your computer, you may be limited in how low you
can go. Fortunately, this is not likely to have such a large impact on your
latency. For a very rough estimate of the latency due to this buffer,
divide the buffer size by the sample rate. For example, a buffer of size
256, at a sample rate of 192K, contributes only about 256/192000 = 1.33mS.

As of this release, there are some new features and corresponding controls
to allow you to achieve much lower latency:

- Up until this release, "Filter Size" and "DSP Buffer Size" have been the
same and there has only been one setting, called "DSP Buffer Size."
Filter Size determines how sharp your filters are; higher filter size leads
to sharper filters. However, higher DSP Buffer Size leads to more latency
because we must collect enough samples to fill the buffer before the buffer
can be processed. As of this release, DSP Buffer Size and Filter Size are
separate and can be set by mode on the Setup=>DSP/Options tab. So, using a
very low DSP Buffer size minimizes latency and using a high Filter Size
leads to sharper filters. The trade-off here is that using lower DSP buffer
sizes requires somewhat more CPU cycles and using a high Filter Size does as
well. With a reasonably fast computer, you will likely be able to run at a
DSP Buffer Size of 64, the minimum, except, perhaps, for the FM mode. With
filter sizes of 1024 or 2048, the sharpness of our filters rival the best
radios. However, larger sizes, up to 16384, are available if you need them.

- You now have a choice of Filter Type, with two types available:
Linear Phase and Low Latency. In the past, our filters have always been
Linear Phase. Linear Phase filters have the property that all frequencies
are delayed by the same amount of time as the signal is processed through
the filter. This means that the time-domain waveform of a signal that is
totally within the passband will look the same at the input of the filter
and the output of the filter. The Low Latency filter does not strictly
comply with this same type of operation. With the Low Latency filter,
signals at frequencies very near the lower and upper edges of the passband
may experience more delay than signals at other frequencies. Comparing the
two types of filters, beta testers have reported little, if any, difference
in sound quality, no problems with several digital modes that have been
tested, and no significant negative impacts at all from using the Low
Latency filters. However, both filter types are provided for your
comparison and your choice. Of course, the Low Latency filters provide
lower latency. In fact, the latency of Linear Phase filters increases
linearly with Filter Size while the latency of the Low Latency filters is
very low and nearly independent of Filter Size.

Benchmark Comparisons:

- For CW/SSB receive, using minimum Buffer Sizes and Low Latency filters,
our beta testers have measured receive latencies in the 15mS to 20mS range.
Using minimum Buffer Sizes and Linear Phase filters, the latencies are 25mS
to 30mS for a Filter Size of 1024 and 35mS to 40mS for a Filter Size of
2048. Using features such as noise blankers, EQ, and noise reduction will
add some amount to that, depending upon the
feature(s) and settings. These numbers compare with ~65mS and ~120mS using
DSP Buffer sizes of 1024 and 2048, respectively, in prior software releases.

NOTE
You WILL need to reset your database.
This release will build a new wisdom file on first time use. Depending on
your system, it may take a very long time to complete. Please be patient.

MINOR CHANGES
The following list of values and states where added to the TX Profiles
- selection for mic in or line in
- 20dB mic boost
- line in gain
- CESSB state
- PureSignal state

- Added a completely new MIDI mapping interface from Andrew, M0YGG. This new
interface is called Midi2Cat and replaces the DJ Console midi controller
interface. It has the ability to map any midi device. We want to give Andrew
a huge thanks for sharing this very nice project.
The User Guide for MidiCat is located in the PowerSDR program folder or can
be downloaded from the Yahoo Apache Labs group files folder. Look for
'Midi2Cat_Instructions_V3.pdf'. One change to note that has changed since
the user guide was written is the Midi Interface is located on the 'CAT'
page within the Setup Form.

- Our Spectral Noise Reduction, NR2 has some significant audio improvements.
If you haven't tried it in a while, please take a moment to do so. Just as
a reminder, Noise Reduction is for Random Noise, which we all have. Also,
be sure to set your AGC Gain properly when using noise reduction —- AGC is
the "enemy" of noise reduction if the gain is set too high, i.e., if the
green "G" line is set too low.

- MNF, the Multi-Notch Filter, is now functional on transverter frequencies.

There are some enhancements and changes to the Display controls.

- First, you'll find that you can now set averaging and choice of detector
separately for the panadapter and the waterfall.

- There is now a choice of "detectors." For a digital "spectrum analyzer"
like your SDR display, a "detector" can be defined as the algorithm used to
convert FFT bins into the values displayed for the pixels across the screen.
The "Peak" detector (default) is best for signals; however, it consistently
overstates noise. If you're interested in noise measurements (band noise,
phase noise, etc.), the "Average" detector would be the optimum choice and I
recommend one of the larger FFT sizes. A "Sample" detector and "Rosenfell"
detector are also provided. To learn more about detectors, see Agilent
Application Note 150, "Spectrum Analyzer Basics," which you can find with
Google's help.
- Multiple averaging modes are provided. For general signal display and
operation, the "Log Recursive" mode (default) may be your favorite choice as
it has a visual appearance of being very responsive. For noise
measurements, you should choose one of the other modes for accuracy,
probably the "Recursive" mode is optimum. The "Log Recursive" mode will NOT
be accurate for noise measurement.
- For convenience, when either the Average or Sample detector is selected
for doing noise measurements, checking the "1 Hz BW: Av / Sa" box will
automatically normalize the displayed result to that of a 1 Hz bandwidth,
i.e., this yields the "dBm/Hz" level. This check box has no effect if
either the Peak or Rosenfell detector is selected.

Several changes to the RAForm were made to this release.
- fixed signal level discrepancies between PowerSDR S-meter readings and RA
utility readings.
- corrected the signal averaging code to take the logarithm of the averaged
power values instead of the incorrect average of the logarithms of the power
values
- added global region support to make file read/write functions operate
correctly in all country regions
- increased the maximum number of data points limit to 2,000,000 for each of
the time, RX1, and RX2 data arrays
- increased the maximum selectable value for x-axis display range to 100,000
seconds
- the above two new limits permit more than 27 hours of continuous data
recording
- added control value updates on file read/write for the
"numericUpDown_mSec_between_measurements" control and the
"numericUpDown_measurements_per_point" control
- added display of Date/Time and Comment information on file READ

Other additions and fix that were added are:
- While PowerSDR is running, the Windows system timer will be set to a 1mS
precision. On exiting PowerSDR the system timer will revert back to its
previous setting.
- The 60m band frequency for the Netherlands region was changed to allow
transmit between 5.35MHz and 5.45MHz.
- Removed the DJ Console project.
- Removed the transmit low filter cutoff restriction.
- Corrected a problem when using CTUN when Stereo Diversity (SD) is enabled.
- Added a Keyboard mapping for Transmit and Receive.
- Corrected several issues with the Waterfall display.

You WILL need to reset your database.

PowerSDR/OpenHPSDR mRX PS v3.3.6 has been released (November 16, 2015)

This release includes another tool for your Noise/Interference Toolbox.
This particular tool, Multi Notch Filter (MNF), allows you to specify up to
1024 notches. The notches are specified by RF frequency and width and will
be invoked, as needed, when they overlap the passband. This feature is
useful for those who have interference that consistently appears on specific
frequencies.

To avoid phase distortion, the notches are implemented with linear phase.
Also, they introduce no additional processing delay nor do they consume any
additional CPU cycles once you're on frequency and the notches are set up.
This is all accomplished by simply "cutting" the notches into the existing
bandpass filters rather than adding additional filters.

Sorry, there's currently no fancy on-panadapter UI for this. If you have
programming talents and would like to write one, please let us know.

To enter notches, in Setup, go to the new DSP / MNF tab. To Add a notch,
click Add then enter the Center Frequency and Notch Width and click Enter.
Once multiple notches are in the database, you can scroll back and forth
through them using the up/down arrows on the "Notch #"
control. When you add a new notch, it will be added immediately after the
notch being viewed. You can Edit notches by clicking Edit, making your
changes, then clicking Enter. You can Delete a notch by scrolling to the
notch and clicking Delete. If you were to enter very narrow notch widths
(less than 200Hz with default filter settings), you might not achieve the
full attenuation of >100dB. By leaving "Auto-Increase width" checked, if
your specified width is not enough to achieve >100dB notch depth, it will be
automatically increased for you when the filter is cut in the passband.
When you are entering a new notch, rather than typing in the Center
Frequency, you also have the option to tune VFO-A to the desired frequency
and then click the VFOA button.

- fixed open collectors not functioning during transmit
- fixed the problem with crashing using Split mode
- removed the German console language translation, ToolTip translation
remains
- added a colon to the LED fonts

You will not need to reset the database if you have already did so for
release v3.2.28. You DO need to reset the database if you have a release
prior to v3.2.28 installed.

Following the release of new Noise Reduction technology, NR2, earlier this
year, this release includes another new tool for your "Noise
Toolbox": SNB, a Spectral Noise Blanker. There are many different types of
noise/interference and so having an assortment of tools at your disposal is
of great benefit. The Spectral Noise Blanker is of a very different type
than our Wideband blankers, NB and NB2, and will address some additional
impulse noise issues. It can be used along with NB/NB2 when beneficial. It
also plays quite nicely with NR/NR2 to address both Impulse Noise (SNB) and
Random Noise (NR/NR2) simultaneously.

SNB currently restricts audio bandwidth to roughly 300Hz to 5400Hz.
This was a design tradeoff which will be revisited as faster processors
become available.

To turn this blanker on, simply click the "SNB" button on the main console.
(Note that NB and NB2 have now been moved to the same
button.) In Setup, there are a couple threshold adjustments, "Threshold 1"
and "Threshold 2". However, the algorithm is self-adjusting and you
probably will not be able to achieve much improvement by fine tuning these.

Summary of your current Noise-Interference Toolbox:

Impulse Noise

NB (Wideband)

NB2 (Wideband)

SNB (Spectral)

Random Noise

NR (Variable-Leak LMS Algorithm)

NR2 (Signal/Noise Power Density Algorithm)

Carriers & Similar

ANF (Automatic Notch Filter - Variable-Leak LMS)

Noise / Interference Null

Diversity Reception [Requires a radio model with two ADCs]

Peaking Filters

Audio Peaking Filter [for CW]

Dolly Filter [for RTTY]

Various Bug Fixes and features
- added the ability to split the open collector outputs between VFOA (1-4)
and VFOB (5-7). To use, click on the "4x3 Split" checkbox on the
Setup=>General=>(Penny/Hermes/ANAN Ctrl) page.
- added a 'mask' field to the static IP address feature. This allows using
the correct broadcast address for the specific port the radio is on. This
corrected a problem when using a static ip address when multiple adapters
are present. See the Setup=>General=>Hardware Config page.
- added multilingual for ToolTip comments
- fixed the 6m panadapter display reading for the Anan-10E
- fixed a problem with PowerSDR crashing on startup when the Disable PA for
HF/VHF is enabled
- fixed an intermittent issue with diversity

You will now find the FocusMaster feature on the Setup/CAT Control/CAT

tab. This feature is aimed primarily at contest operation and automatically
restores Windows "focus" back to your logging (or other) window after you
make an adjustment in PowerSDR. There are three modes to specify a window to
which you would like focus restored: (1) if you use the N1MM+ Logger, just
select this Mode and PowerSDR will automatically find the input window, (2)
Select by Click - choose this mode and then next Click within the window to
which you'd like focus restored, and (3) Enter Window Title - type in the
text of the window titlebar EXACTLY as it appears. You can also specify a
Delay time, the time between interaction with PowerSDR and return of focus
to the selected window.

For the N1MM+ Logger mode to function, PowerSDR must receive information
from the N1MM+ Logger program identifying the input window. To enable the
N1MM+ program to send this information, a few lines must be added to the
file N1MMLogger.ini . These can be added/modified with a text editor, e.g.,
Notepad, and should read:

Windows Firewall may ask you if it's OK to allow communication between
N1MM+ and PowerSDR to which, of course, you should respond that it is.

Note also that, to allow you sufficient time to configure the FocusMaster,
focus will NOT go to your selected program as long as the Setup/CAT
Control/CAT tab is open.

Several operators recently reported problems using PureSignal

Auto-Calibrate with their amplifier chains. Based upon very detailed
feedback from a few people, some significant improvements have been made in
the way PureSignal deals with "challenging" amplifier chains. If you were
having difficulty with PureSignal Auto-Calibrate, we encourage you to try
this latest software release.

John, K5IT has shared his recent code changes that reduces latency using

the VAC feature.
Here is more information about those changes:

The 120ms minimum latency for VAC output has been removed.

Many users on current versions of windows can achieve much lower latency
than the default 120ms; however, if you can get frequent drop-outs setting
the value too low. 50ms is a reasonable starting point. There is a lot of
variability, so experiment to find what works best in your setup.

The VAC input and output audio buffers are now dynamically scaled in based

on the latency, buffer size, and sample rate.

The VAC buffer is sized to hold a maximum of twice the number of samples
required to maintain the specified average latency. For example with 48000
sample rate and 50ms latency, the buffer will hold
48000 samples/sec * 0.050 sec * 2 = 4800 samples. The buffer is then rounded
up to the next multiple of the audio buffer size. In this example if we have
selected 1024 as the audio buffer size the VAC buffer will be 4800 rounded
up to the nearest multiple of 1024: 5120 samples. The minimum VAC buffer
size is two audio buffers.

These changes are made ahead of properly implementing a variable rate
resampler which will properly and accurately match the radio's samplerate
with the audio hardware (real or virtual). The buffer scaling has been
included now after receiving favorable reports of latency improvements from
early testers.

The 'BYPASS on Tx', 'Ext 2 on Tx', and 'Ext1 on Tx' work correctly when
using the "Disable BYPASS' feature.

You WILL need to reset your database.

PowerSDR/OpenHPSDR mRX PS v3.2.25 has been released.

This release contains the following changes:

Further Advancement for NR2. NR2 has been further enhanced with a new

"Gamma" gain method. While the change from the previous NR2 is small, this
further advance has been demonstrated to slightly further reduce background
noise and also to reduce certain audio artifacts of the noise reduction
process. After a database reset, this will become your default gain method
—- so no need to worry about selecting it.

PureSignal Auto-Attenuate. One of the more difficult parts of PureSignal

setup has been adjusting the attenuator during TX to optimize performance.
There is now an option (selected by default, on the Linearity window) to set
the attenuator automatically for you. When PureSignal begins a calibration,
if the attenuator is not set correctly, it will calculate a new value, turn
itself OFF, apply the new value, and turn itself back ON. In the event that
the initial condition is one of too much attenuation, the new value should
be correctly calculated and applied in a single step. In the event there is
not enough attenuation and the ADC is in overload, multiple steps may be
required.

Protection for External Linear Amplifiers. Some external amplifier

manufacturers caution users that they must connect "ALC" from the amplifier
to the exciter so that the exciter will reduce drive to protect the
amplifier in the event of certain types of faults, e.g., over-current, arc,
high-SWR, etc. This has not previously been an option with openHPSDR
exciters since no connection has been provided on these exciters. Clyde,
K2UE, has led a project to develop an appropriate hardware interface for
this. Software support has been added to enable the use of this interface.
Documentation will soon be posted and the location announced. While you can
certainly build your own hardware interface from this documentation, also
stay-tuned for a possible future announcement on availability of hardware.

Workaround for using the Ext1/2/XVTR ports on the rev24 PA board with

receive only antennas. To use a receive only antenna with the 100W ANAN
radios shipped since Feb 2015 you will need to check the "Disable BYPASS"
box located near the bottom of the Setup=>General=>Ant/Filters=>Antenna
page. Please do not use this with previous versions of the PA boards.

As usual, several bug-fixes and clean-up items.

NR2 - MORE INFORMATION

NR2 has received particularly positive feedback since its introduction a few
weeks ago. While all noise reduction algorithms tend to have some audio
artifacts, the NR2 algorithm has been reported to be quite effective in
reducing background noise without the tiring sound of typical LMS
algorithms. Several people have reported that they leave it enabled all the
time. There have also been a few questions on usage; so, we'll provide some
clarification here.

Activation: NR2 is selected using the same button as NR. From the OFF
state, click once to get NR (the normal SDR LMS type algorithm) and click
again to get NR2 (a very different type of algorithm). Clicking a third time
will get you back to the OFF state.

Noise Reduction and AGC: AGC, if not properly adjusted, is the enemy of
noise reduction algorithms! The reason is simple - AGC's job is to adjust
gain to bring things to the same level, whether those things are two
different signals or a signal and the noise during the speech pauses. So,
when NR/NR2 is trying to reduce noise, if AGC is trying to restore it, they
are in conflict. For proper operation, there are two things to observe:
(1) Set your AGC gain properly, and (2) if you experience AGC-pumping of the
noise level when using NR/NR2, try selecting the "Pre-AGC" use of NR/NR2
rather than having it "Post-AGC".
- AGC gain can most easily be correctly adjusted by displaying the green "G"
line on the panadapter and pulling it up to be a few dB above the noise
floor - experiment and you'll see how it works. To display the line, see
Setup/DSP/AGC-ALC. To move it, "grab" the green square at the left side
using your left mouse button.
- To select Pre-AGC, see Setup/DSP/NR-ANF.

Other Settings: You will note that there are other settings for NR2
available on the Setup/DSP/NR-ANF tab. I recommend you select "Gamma"
as the gain-method, either "OSMS" or "MMSE" as the NPE-method, and leave
AE-Filter checked. These settings match the default settings. In other
words, there's nothing you need to do here. On the other hand, if you wish
to experiment, and if you find some different combination that works better
in some special situation, please let us know! That will be helpful for
future developments.

- A new algorithm for Noise Reduction has been added. This algorithm belongs
to a different class than the other NR algorithm and we encourage you to
give it a try. In many situations, you may find it much more effective and
a more pleasant listening experience. The "NR"
buttons to enable the RX1 and RX2 Noise Reduction are of course on the main
console. To save screen real estate, these buttons are now tri-state
buttons. Click once to get the 'NR' algorithm, click again to get the new
'NR2' algorithm, and click again to turn NR2 OFF.

Tip on using Noise Reduction: Always be sure to properly set the "AGC
Gain". The simplest way to do so is to position the green "G" line just a
few dB above the noise floor on the panadapter. If you do NOT do this, the
AGC will be working to counteract the Noise Reduction. Note also a couple
facts about Noise Reduction algorithms: (1) They cannot make something out
of nothing —- they have limitations. (2) They all have some audio
"artifacts" of one kind or another.

As we continue moving toward implementation of a new software-hardware
communication protocol, we have now also made a change in the sample rates
at which the DSP internals operate. In particular, the DSP internals now
always operate at the following rates:

Receivers: 48K for all modes except FM, 192K for FM.

Transmitter: 96K for all modes.

Do not confuse these "internal DSP rates" with the selectable sample rate on
the Setup/Audio/Primary tab. You can still select 48K/96K/192K/384K as you
previously have on the Audio/Primary tab. That selection will determine the
sample rate at which the hardware returns data to the software and will
determine the panadapter width as it has in the past. So, why do the
"internal DSP rates" matter to you? They matter because the filters within
the DSP obviously operate at the internal DSP rates and their "sharpness" is
determined by the combination of sample rate and DSP Buffer Size (see
Setup/DSP/Options for buffer sizes). Recommended buffer sizes are now:

Receivers: >= 1024 except for, FM >= 4096.

Transmitter: >= 2048.

Note that before this release, if you changed the sample rate on the
Setup/Audio/Primary tab, it was also advisable to change the DSP buffer size
to compensate to provide the same filter "sharpness". That is no longer
necessary.

For the NR and ANF functions, default values of "Taps" and "Delay" have also
been changed per the new DSP internal sample rates.

Note that when using PureSignal, on the Setup/Audio/Primary tab, you must
select 192K as your sample rate, just as before.

- A "NR2" control for the DJ Console was added for the new noise reduction
feature.

This release is to fix a bug that was introduced in version 3.2.21 that
caused the program to crash when opening the XVRT Form.

A feature added to release allows the RIT to control both VFOA and VFOB when
the VFOSync is enabled.

PowerSDR/OpenHPSDR mRX PS v3.2.21

Changes to this release are:

- CESSB (Controlled Envelope Single SideBand):
Dave Hershberger, W9GR, published an interesting article on "CESSB" in the
November/December 2014 issue of QEX. The intent of his algorithm is to
increase "talk-power" by bringing the average power/speech level closer to
the peak level. This is also the algorithm that Flex chose for
incorporation in their recent 6000 series transceivers. The algorithm can
be viewed as comprising two series-connected blocks: (1) the "baseband RF
Speech Clipper," and (2) the filter overshoot control.
The first block, the "baseband RF Speech Clipper" is what we've used for
speech processor ("COMP") functionality for the last three years or so.
(Phil used this in KISS even before that.) This release adds the "filter
overshoot control" block which can be optionally enabled in Setup on the
DSP/Options tab. Note that block (2) will NOT function unless "COMP" is
enabled. However, COMP will function as before whether or not (2) is
enabled. In our implementation, this functionality is available for ALL
voice modes, not just SSB. We are grateful to several members of our group
who have tested and provided feedback on this addition! Note that not
everyone has gotten the same results by enabling item (2); this may depend
upon voice characteristics and other settings.

- RX2 DSP Buffer Size bug:
Jack, K1VT, reported what we believe to be a long-standing bug that resulted
in the DSP Buffer Size for the second receiver, RX2, to be set to the
default value rather than the database-saved value when PowerSDR was opened.
This resulted in noticeably different delays through RX1 and RX2 when
listening to the same station with both receivers. This has been fixed.

- Squelch Tail Length Control for NON-FM (SSB/AM/CW/…) modes:
This new control has been added in Setup on the DSP -> AM/SAM tab.

- In the Diversity form the 'Enable' button text was changed to 'Enabled'
with a green background when ON and 'Disabled' with a red background when
OFF.

- The Bar meter (Original) can now be used in the 'Collapse' display.

- A problem with the 'Disable PA' control not taking effect immediately is
fixed.

- Shortcut Keys were added that allows the CWX memories to be called without
the CWX form being open. To use, press <CNTRL> + F1-F10 in CW mode. This
change was submitted by Roberto, IK4JPN