¿ªÔÆÌåÓý

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

Re: Pitfalls of measuring components with the NanoVNA #measurement


Ken Moorman
 

There are at least two members of this group who are confused about the NanoVNA-H4¡¯s ability to write sp and screenshot files to micro-SD cards and what needs to be done by us to accomplish this ourselves, if in fact it is possible, with the current hardware and firmware. From the various answers we have gotten it seems like some people have been able to do what we are questioning, but the issue is: How did you do it and what, if any mods need to be done to the board? I believe that both of us have been using the latest version of firmware, v1.50, and Rui has plugged the a card into the slot but was not able to get it to be written into. If you have gotten this very useful function to work for you please give us enough information to allow us to do the same. Thanks.

Ken, NU4I

Sent from my iPod

On Mar 25, 2021, at 08:58, Jos Stevens <jrs@...> wrote:

?You need the Xtal only when you want to have the date/time displayed correctly.

Jos

Op 25-3-2021 om 09:43 schreef Rui Valente:
Hello
I installed the latest version 1.0.50 and i solder a new SD card
slot...them i tested 3 different sd card and different capacities but
anything happen in the menu sd card (no error message) after i remove the
cards and theyare empty...is necessary install the 32khz cristal ? I don't
install yet...

Thanks in advance...
73 CT2GGX


A quinta, 25/03/2021, 03:59, DiSlord <dislordlive@...> escreveu:

I fix one problem in DSP code (for H version) in 1.0.50.
H4 use DSP instruction and more faster/accurate in calculations

DSP code for H:

do{
int16_t ref = capture[i+0];
int16_t smp = capture[i+1];
int32_t sin = ((int16_t *)sincos_tbl)[i+0];
int32_t cos = ((int16_t *)sincos_tbl)[i+1];
samp_s+= (smp * sin)/16;
samp_c+= (smp * cos)/16;
ref_s += (ref * sin)/16;
ref_c += (ref * cos)/16;
i+=2;
}while (i < length);

Yes /=16 used for prevent overflow on int32 values

Code for H4:
do{
int32_t sc = ((int32_t *)sincos_tbl)[i];
int32_t sr = ((int32_t *)capture)[i];
// int64_t acc DSP functions
acc_samp_s= __smlaltb(acc_samp_s, sr, sc ); // samp_s+= smp * sin
acc_samp_c= __smlaltt(acc_samp_c, sr, sc ); // samp_c+= smp * cos
acc_ref_s = __smlalbb( acc_ref_s, sr, sc ); // ref_s+= ref * sin
acc_ref_c = __smlalbt( acc_ref_c, sr, sc ); // ref_s+= ref * cos
i++;
} while (i < length/2);

It use int64 accumulator (it aslo used for accumulate for
average/bandwidth) and one instruction for calculate (H can`t fast
processing measured data in int64)

On H4 i can get up to - 100 - 110dB dynamic range on measure S21 in 1 to
100MHz









Join [email protected] to automatically receive all group messages.