¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

NanoVNA-Saver 0.1.1


 

I just released 0.1.1:



This version adds a first version of an analysis mode, which will analyse
low-pass, high-pass and band-pass filters for you. Give it a go, and tell
me how it fails ;-)

Also added is easy sweeping of bands (selectable within Sweep settings),
unwrapping of the phase chart, floating point min/max values for data for
charts, and deleting of calibration standard sets.

The release also includes a display option allowing you to select whether
Return Loss should be presented as a positive or negative value.

This version should behave better with multi-segment sweeps using NanoVNA
firmware 0.2.2. It's slower, though. I suggest users upgrade to 0.2.3, and
the next version of NanoVNA-Saver will start using the "scan" command added
in edy555's firmware to get around these issues.

This version should work with NanoVNA-F, though I have had no way to test
it - I look forward to hearing if it does.

I thank the testers who have been quick, found several bugs that I have
managed to fix, and who have come up with a whole list of items that got
added to the backlog!

As ever, I look forward to hearing your feedback! Please be gentle ;-)

Enjoy,
--
Rune / 5Q5R


 

Hi Rune,
first impression is outstanding!
If you take a look at the BP-Filter I can't find the value of the width for the bandpass in respect to the -3dB points. Same for the -6dB BW.
LP&HP analysis looks good.
For the narrow band SFZ450F BP-Filter we have two problems: If you go higher than 1 segment you can't set a marker (same problem I already reported).
If you select 1 segment, you can set a marker, but due to the fact that the filter is not matched to 50 ohm the analysis doesn't find the correct BW because only one peak is analyzed.
General remark: In order to find the -3dB points correctly the calibration needs many points. Depending upon the filter type you might need more than 20 segments.

Rune, this a large step ahead! Very well done!
Thank you very much for all the work you have done!

Kind regards
Norbert, DG1KPN


 

Hello Norbert,
Thank you very much! :-)

The "span" value is the -3 dB bandwidth - assuming the -3 dB points get
placed correctly.

The setup currently analyses as follows:

1) From the marker 1 frequency, search up and down in frequency to find
initial -3 dB points.
2) Find the peak value between those two points, and set that as the
passband dB value
3) Search up and down in frequency from the peak value point to new, final
-3 dB points

I don't know if this method is any good - I'm open to other methods, and
the code is quite modular, so it's easy to implement new types. :-)

Again, thank you for all the kind words! :D
--
Rune / 5Q5R

On Tue, 8 Oct 2019 at 15:19, <norbert.kohns@...> wrote:

Hi Rune,
first impression is outstanding!
If you take a look at the BP-Filter I can't find the value of the width
for the bandpass in respect to the -3dB points. Same for the -6dB BW.
LP&HP analysis looks good.
For the narrow band SFZ450F BP-Filter we have two problems: If you go
higher than 1 segment you can't set a marker (same problem I already
reported).
If you select 1 segment, you can set a marker, but due to the fact that
the filter is not matched to 50 ohm the analysis doesn't find the correct
BW because only one peak is analyzed.
General remark: In order to find the -3dB points correctly the calibration
needs many points. Depending upon the filter type you might need more than
20 segments.

Rune, this a large step ahead! Very well done!
Thank you very much for all the work you have done!

Kind regards
Norbert, DG1KPN





 

Hi Rune,
if you would change the word "Span:" to "BW:" that's more comprehensive.
Please add a -6dB BW as well because SSB chrystal filters are usually characterized with their -6dB BW.
If you don't set a marker from where the search starts, and let the software find the -3dB points of the BP-filter instead, then the software can also calculate the correct center frequency of the BP-Filter. This is very helpfull while adjusting a homebrew filter, because you would get from sweep to sweep an update of the CF. If I understand the current method correctly, I will set the CF with the marker visually. Correct me if I am wrong.
For HP- and LP filters this method would work as well. If you search for lowest attenuation first and set this value as reference, next search for the -3dB point starting at reference.

What do you think about that?

Kind regards
Norbert, DG1KPN


 

I just released 0.1.1:


[]
This version should work with NanoVNA-F, though I have had no way to test
it - I look forward to hearing if it does.
[]
Enjoy,
Rune / 5Q5R
===================================

Rune,

A basic test with the NanoVNA-F works as expected - just testing a filter response (as on my earlier Tweet).

73,
David GM8ARV
--
SatSignal Software - Quality software for you
Web:
Email: david-taylor@...
Twitter: @gm8arv


 

Rune,
Just tried the new version 0.1.1 analysis feature on a highpass and low pass filter that I had handy (see attachments). Looks like the search algorithm finds the nearest value in the data point array. If for instance two adjacent points are -2.7dB and -3.2dB it goes with the -3.2 value because it is closest to -3.0. I can live with that, but ideally the -3.0dB interpolated frequency between -2.7dB and -3.2dB would be preferred. As Norbert suggested, the better term for "span" would be -3dB bandwidth (BW) and -6dB BW. (high cutoff frequency - low cutoff frequency)/2 would give you the BPF center frequency if you wanted to provide that info.

Thanks again for you continued contribution to the community.

Herb


 

Hi Herb,
I provide the BPF center frequency as the geometric mean, as that's how I
was taught. ;-)

You're right that the analysis picks the nearest point that's *at least* -3
dB - generally, for this app, I don't want to interpolate: There are
provisions available to get as many points as required, so my design
philosophy has been that it's up to the user to set the required frequency
resolution. If the -3 dB point is found below -4 dB, a warning is displayed
to the user.

I will rename "span" in the next release, and probably include the -6 dB
bandwidth as well. :-)

The analysis framework is set up to be relatively self-contained, and
anyone who wants to contribute additional analysis types is very welcome!
:-)

--
Rune / 5Q5R

On Tue, 8 Oct 2019 at 18:35, hwalker <herbwalker2476@...> wrote:

Rune,
Just tried the new version 0.1.1 analysis feature on a highpass and low
pass filter that I had handy (see attachments). Looks like the search
algorithm finds the nearest value in the data point array. If for instance
two adjacent points are -2.7dB and -3.2dB it goes with the -3.2 value
because it is closest to -3.0. I can live with that, but ideally the
-3.0dB interpolated frequency between -2.7dB and -3.2dB would be
preferred. As Norbert suggested, the better term for "span" would be -3dB
bandwidth (BW) and -6dB BW. (high cutoff frequency - low cutoff
frequency)/2 would give you the BPF center frequency if you wanted to
provide that info.

Thanks again for you continued contribution to the community.

Herb




 

This is a very good point...
Mike WY6K


"... somewhere in the distance, there's a tower and a light, broadcastin' the resistance, through the rain and through the night..."

On Tuesday, October 8, 2019, 10:53:35 AM CDT, norbert.kohns@... <norbert.kohns@...> wrote:

Hi Rune,
if you would change the word "Span:" to "BW:" that's more comprehensive.
Please add a -6dB BW as well because SSB chrystal filters are usually characterized with their -6dB BW.
If you don't set a marker from where the search starts, and let the software find the -3dB points of the BP-filter instead, then the software can also calculate the correct center frequency of the BP-Filter. This is very helpfull while adjusting a homebrew filter, because you would get from sweep to sweep an update of the CF. If I understand the current method correctly, I will set the CF with the marker visually. Correct me if I am wrong.
For HP- and LP filters this method would work as well. If you search for lowest attenuation first and set this value as reference, next search for the -3dB point starting at reference.

What do you think about that?

Kind regards
Norbert, DG1KPN


 

Rune,

With all of the recent versions of nanoVNASaver (0.0.11, 0.0.12, 0.1.0, 0.1.1) I have been occasionally getting a pure white screen on the nanoVNA while making measurements using nanoVNASaver. I can continue to get good data from the device in nanoVNASaver once this happens; however, I see just a white screen on the display of the nanoVNA itself. I do not see this with other software that communicates with my device. I am not sure where the problem may be. This may be a bug in my firmware "NanoVNA-H__900_ch_20190924.dfu." Has anyone else reported this?

To restore the real-time screen on the nanoVNA I have to disconnect nanoVNASaver, restart nanoVNA, and then reconnect nanoVNASaver to the device.

--
Bryan, WA5VAH


 

Hi Bryan,
I'm not entirely sure *why* it happens - but I believe edy555 has fixed the
issues in his latest firmware versions. I don't know about Hugen's firmware
versions.

The next version of NanoVNA-Saver will detect the firmware version, and, if
applicable, use the "scan" command edy555 has implemented, which freezes
the display while scanning, but should provide data faster and more
reliably to the PC application.

Speaking of which, since you run a NanoVNA-H version: Could you connect to
it via serial, and run the "version" and "info" commands, and get back to
me with the output of those? I need a sort of database of the different
firmware versions and how to detect them ;-)

--
Rune / 5Q5R

On Tue, 8 Oct 2019 at 21:46, bryburns via Groups.Io <bryburns=
[email protected]> wrote:

Rune,

With all of the recent versions of nanoVNASaver (0.0.11, 0.0.12, 0.1.0,
0.1.1) I have been occasionally getting a pure white screen on the nanoVNA
while making measurements using nanoVNASaver. I can continue to get good
data from the device in nanoVNASaver once this happens; however, I see just
a white screen on the display of the nanoVNA itself. I do not see this
with other software that communicates with my device. I am not sure where
the problem may be. This may be a bug in my firmware
"NanoVNA-H__900_ch_20190924.dfu." Has anyone else reported this?

To restore the real-time screen on the nanoVNA I have to disconnect
nanoVNASaver, restart nanoVNA, and then reconnect nanoVNASaver to the
device.

--
Bryan, WA5VAH




 

Rune,

Here you go:

ch> version
0.1.1.1-5-gd609fb2

ch> info
Kernel: 4.0.0
Compiler: GCC 8.2.1 20181213 (release) [gcc-8-branch revision 267074]
Architecture: ARMv6-M
Core Variant: Cortex-M0
Port Info: Preemption through NMI
Platform: STM32F072xB Entry Level Medium Density devices
Board: NanoVNA-H
Build time: Sep 20 2019 - 17:31:03

--
Bryan, WA5VAH


 

Rune,
I spent the day verifying unknown filters in my ham shack and documenting their performance using your new "Analysis" module (Tks !). I attached files earlier for typical high pass and low pass filter analysis screenshots . A typical BPF analysis screenshot is attached. There are four filter types I am familiar with: LPF, HPF, BPF and BSF (Band stop or Band reject), I tried selecting BPF analysis for the BSF chart but of course the parameters were out of bounds and no analysis was performed (see attachment).

I can do a low pass and high pass analysis on the BSF to derive the data for the cutoffs and bandwidth, but it would be more convenient if you would add BSF to your analysis module.

Best regards,

Herb


 

Hello Rune,

From

ChibiOS/RT Shell
ch> version
0.2.3
ch> info
Kernel: 4.0.0
Compiler: GCC 8.2.1 20181213 (release) [gcc-8-branch revision 267074]
Architecture: ARMv6-M
Core Variant: Cortex-M0
Port Info: Preemption through NMI
Platform: STM32F072xB Entry Level Medium Density devices
Board: NanoVNA
Build time: Oct 7 2019 - 13:27:48

73, Rudi DL5FA


 

Thank you for the data, Bryan :-) It's a great help.

--
Rune

On Wed, 9 Oct 2019 at 00:04, bryburns via Groups.Io <bryburns=
[email protected]> wrote:

Rune,

Here you go:

ch> version
0.1.1.1-5-gd609fb2

ch> info
Kernel: 4.0.0
Compiler: GCC 8.2.1 20181213 (release) [gcc-8-branch revision 267074]
Architecture: ARMv6-M
Core Variant: Cortex-M0
Port Info: Preemption through NMI
Platform: STM32F072xB Entry Level Medium Density devices
Board: NanoVNA-H
Build time: Sep 20 2019 - 17:31:03

--
Bryan, WA5VAH




 

Herb,
thank you for the suggestion of a band stop mode! I have been aware of it,
but I still need to figure out exactly how it should be done. It's on the
list :-)

--
Rune / 5Q5R

On Wed, 9 Oct 2019 at 01:50, hwalker <herbwalker2476@...> wrote:

Rune,
I spent the day verifying unknown filters in my ham shack and documenting
their performance using your new "Analysis" module (Tks !). I attached
files earlier for typical high pass and low pass filter analysis
screenshots . A typical BPF analysis screenshot is attached. There are
four filter types I am familiar with: LPF, HPF, BPF and BSF (Band stop or
Band reject), I tried selecting BPF analysis for the BSF chart but of
course the parameters were out of bounds and no analysis was performed (see
attachment).

I can do a low pass and high pass analysis on the BSF to derive the data
for the cutoffs and bandwidth, but it would be more convenient if you
would add BSF to your analysis module.

Best regards,

Herb




 

Rudi,
thank you very much! :-)

--
Rune

On Wed, 9 Oct 2019 at 05:37, <reuterr@...> wrote:

Hello Rune,

From

ChibiOS/RT Shell
ch> version
0.2.3
ch> info
Kernel: 4.0.0
Compiler: GCC 8.2.1 20181213 (release) [gcc-8-branch revision 267074]
Architecture: ARMv6-M
Core Variant: Cortex-M0
Port Info: Preemption through NMI
Platform: STM32F072xB Entry Level Medium Density devices
Board: NanoVNA
Build time: Oct 7 2019 - 13:27:48

73, Rudi DL5FA




 

Hi Rune,

Nano Saver gets better with every iteration, so thanks for the latest update.

I have some observations / suggestions.

Would it be possible to show an individual graph at full window pane size if you click on it. This would allow quick examination in more detail if you are displaying more than one graph at at a time.

Any chance of adding a manual scaling option to stop the graph references from changing from plot to plot ?

If the marker information changes with a change in frequency and the displayed data has more decimal places, this moves the graphs further across to the right hand side to accommodate the larger values.

Would it be possible to export the graph data in CSV format so that they can be plotted in Excel or similar ?

Thanks again for all your hard work,

Martin - G8JNJ









--
Regards,

Martin - G8JNJ