¿ªÔÆÌåÓý

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

Re: nanoVNA for Dummies

 

Hi Bruce,

Try this file:

/g/nanovna-users/files/NanoVNA%20Calibration%20Considerations%20and%20Procedure_v1.0.pdf

It is in the FILE DIRECTORY FOLDER.

Also, there is a MENU breakdown flow chart that is very easy to follow and will provide quite a bit of assistance with the manual in hand.

Alan


Re: TDR Python Script

 

(forgot to add...)

....And so I'm happy with the results from the Matlab TDR script.

- Jeff, k6jca


Re: TDR Python Script

 

Thanks very much, Rune. I was wondering why they weren't exactly the same. And so I compared your code at to my Matlab script (listed, below).

Functionally, your python and my matlab code look identical to me, unless I missed something. (Note: apart from one small difference -- the x-axis of my time-response plot is divided-by-two, so that the x-coordinate of the blip matches the stated length).

Best regards,

- Jeff, k6jca

% ****
% Time-Domain Response from S11 data
% (requires .s1p file) -- K6JCA
% ****

s = 'RG-8_0.66_6.81m_10_282MHz.s1p'; % file containing s11 data
[Gamma_Obj,coax_Notes,coax_State] = spar_read(path,s); % get s-parameter data.

Zo = Gamma_Obj.Z0; % This should be 50 ohms
FreqHz = Gamma_Obj.Freq; % AND assume Freq Vector is the same for all as well.
s11 = squeeze(Gamma_Obj.S_Parameters(1,1,:));

Z_coax = gamma2z(Gamma_Obj.S_Parameters,Zo);
Zin = squeeze(Z_coax);
Rloss = 20.*log10(abs((Zin-Zo)./(Zin+Zo)));

Freq = FreqHz.'; % convert column vector to row vector
FreqMHz = Freq./1e6; % convert Hz to MHz

% Vfactor = 0.69; % velocity factor for RG303 coax
% Vfactor = 0.84; % velocity factor for 9913 coax
Vfactor = 0.66; % velocity factor for RG58A coax

c0 = 299792458; % speed of light in vacuum, m/s

[Row,Npoints]=size(Freq); % Number of points in s11 file (Odd Integer)
start_f = FreqMHz(1);
stop_f = FreqMHz(Npoints);
delta_f = Freq(2)-Freq(1);

window = blackman(Npoints);
windowed_s11 = window.*s11;
NFFT = 16384;
td = abs(ifft(windowed_s11, NFFT));
delta_time = 1 / delta_f;
t_axis = linspace(0, delta_time, NFFT);

d_axis = t_axis * c0 * Vfactor / 2;
[max_td,index] = max(td);
length = d_axis(index);
length_in = length*39.370;
length_feet = length_in/12;
rem_in = mod(length_in,12);

figure(1);
plot(FreqMHz,Rloss);
tlbl1 = sprintf('Return Loss, Frequency Domain Response');
freq_lbl = sprintf('(Start %.3f MHz, Stop %.3f MHz)',start_f,stop_f);
title1 = char(tlbl1,s,freq_lbl);
title(title1,'Interpreter','none');
ylabel('Return Loss (dB)');
xlabel('Frequency (MHz)');
grid on;
set(gcf,'position',[400,500,550,300])


figure(3);
plot(d_axis, td,'linewidth',2);
ylabel("magnitude");
tlbl3 = sprintf('Return Loss, Time Domain');
xlbl = sprintf('length (m)\n\r \n\rLength = %.3f meters,... given Vf = %.3f\n\r(%.2f inches, or %.0f '', %.2f ")\n\r',...
length,Vfactor,length_in,length_feet,rem_in);
title3 = char(tlbl3,s);
title(title3,'Interpreter','none');
xlabel(xlbl);
grid on;
set(gcf,'position',[600,300,550,300])


Re: NanoVNA with a cracked screen

 

For those looking for the compatible 3.2 inch display, just do a search on eBay with the following two items in the same line: ili9341 3.2
You'll see individual panels for sale. Check the pinouts in the description and compare to the 2.8" display pinouts (check the nano's schematic for that).

Regards
Larry


nanoVNA for Dummies

 

It's always bewildering to wander into someplace and find that you're trapped inside
someone's jargon jungle. I've found myself in that shape when I wandered into the
nanoVNA Users group.

I'm a noobie when it comes to the nanoVNA. I've owned a miniVNA but the gui is far different.
The interface presents measurements according to known task names making selections a lot
simpler. The price difference between the two is 10 to 1. When the magic smoke got let out of
miniVNA, I knew I needed a much more affordable instrument. I don't need lab grade for what
I do hence my purchase of the nanoVNA, a good deal.

I came to this group looking for help. I'm sure it's here but filtering through the myriad of messages
make the discovery task a chore. The user manual really isn't too much help. It is obviously written
by someone whose first language is not English but the effort is appreciated. Looking for help in
the various messages means wading through much expert-speak to get to a simple explanation.

What is needed by this oldie-newbie is a manual, or series of tutorials, which give, step by step,
instructions which uses the nanoVNA to perform simple(?) tasks. For instance, proper calibration
is emphasized throughout many messages but nowhere are there instructions which show how to
perform calibration. And if more than one calibration type is required, a tutorial which shows how
to do each.

Something else, there is a document which details the console commands for the nanoVNA. What
application is used to communicate with the device? Surely not the touch screen! And if you
communicate serially through the USB port, what are the parameters of that port?

For other tasks to be performed by the nano, just look at the miniVNA document referenced elsewhere
in this forum. It's a good document but, as I said, the user interface is far different from the nano.

Folks, I'm not complaining (well, maybe I am ... I'm old and in a hurry), but I just want to get along
with my learning so that I, too, can acquire a new expert-speak language, voila'!

Bruce, K4TQL


Re: TDR Python Script

 

Wow! Have I got a lot of catching up to do!

I tried, but was unable to find out anything about the xtal which on mine is marked "H26.0 D439" and measures ~3.6 x 2.1 mm.

Between xtal and cable variations on the physical side and sampling on the mathematical side, 0.1% accuracy seems rather good.

I'll create some test cases to run through the TDR codes where we know what the answer should be.

Does anyone know how much of flash is unused on the STM32F072C8T6? It would be *really* useful to have a built in TDR function.

I'm staggered that these are $35 delivered from China. I bought one for $50 because I didn't want to wait.

Have Fun!
Reg


Re: TDR Python Script

 

I forgot to screenshot the lengths my software gave, so I'm not sure.
Whoops. But the 8.5m coax is still connected, and currently shows at 8.516
at 0.66 Vf measured to 800MHz. So we're within 8mm of each other.

I doubt we're going to get much better results than this anyway. And the
velocity factor is usually given to an accuracy of "0.66" or rarely "0.659"
- and our difference is equivalent to a difference in Vf of 0.0006.

--
Rune / 5Q5R

On Sun, 1 Sep 2019 at 17:55, Jeff Anderson <jca1955@...> wrote:

Many thanks, Rune!

Using your files, my Matlab script gives me the following lengths
(assuming Vf of 0.66):

- RG58 measured to 60 MHz: 1.424m
- RG58 measured to 800 MHz: 1.363m
- RG213 measured to 60 MHz: 8.545m
- RG213 measured to 800 MHz: 8.524m

Do you calculate the same?

- Jeff, k6jca




Re: TDR Python Script

 

Many thanks, neb!

My length calculations are 30.056, 1.24, and 6.814 meters for your three files. Quite close to your length (but close enough?)

Best regards,

- Jeff, k6jca


Re: TDR Python Script

 

Many thanks, Rune!

Using your files, my Matlab script gives me the following lengths (assuming Vf of 0.66):

- RG58 measured to 60 MHz: 1.424m
- RG58 measured to 800 MHz: 1.363m
- RG213 measured to 60 MHz: 8.545m
- RG213 measured to 800 MHz: 8.524m

Do you calculate the same?

- Jeff, k6jca


Re: TDR Python Script

 

On Sun, Sep 1, 2019 at 10:55 PM, Jeff Anderson wrote:


Hi neb (or anyone else who has s1p file for TDR analysis)

Would it be possible for you to post your s1p file to Github? I've just
written a Matlab script to do the TDR function, and I would like to verify its
math against what others are seeing.

For example, with a length of coax whose S11 was measured from 1 to 60 MHz, I
get the attached responses (the time-domain response may or may not be
correct, which is what I would like to verify).

If anyone would like to do the same thing, my s1p file for this measurement is
here:

Thanks,

- Jeff, k6jca

Hi Jeff,

As per your request.

Kind regards,

neb


Re: TDR Python Script

 

Thanks Rudi, I'll get those added!

--
Rune / 5Q5R

On Sun, 1 Sep 2019 at 17:22, <reuterr@...> wrote:

Hello Rune,
TDR works for me.
I have added 3 thin coax cable data:
self.tdr_velocity_dropdown.addItem("RG174 (0.66)", 0.66)
self.tdr_velocity_dropdown.addItem("RG316 (0.69)", 0.69)
self.tdr_velocity_dropdown.addItem("RG402 (0.695)", 0.695)

Maybe a sentence in your README to make it easier to use:
"Connect the coax cable to the nanoVNA TX port calibration plane, which
could already be a short coax cable."

Thank you for the TDR extension.
73, Rudi DL5FA




Re: TDR Python Script

 

Hello Rune,
TDR works for me.
I have added 3 thin coax cable data:
self.tdr_velocity_dropdown.addItem("RG174 (0.66)", 0.66)
self.tdr_velocity_dropdown.addItem("RG316 (0.69)", 0.69)
self.tdr_velocity_dropdown.addItem("RG402 (0.695)", 0.695)

Maybe a sentence in your README to make it easier to use:
"Connect the coax cable to the nanoVNA TX port calibration plane, which could already be a short coax cable."

Thank you for the TDR extension.
73, Rudi DL5FA


Re: Better, Worse, Worst....... baloney.

 

Hi I also Have a Mini 1300 (EU1KY) that also uses a Si5351 chip and will only go to 280 MHz,
My Nanovna Si5351 chip goes to 300mhz also,
I am also thinking of getting some more Si5351 chips and swapping out the one in the mini 1300 (could be better or worse)
Dave 2E0DMB


Re: TDR Python Script

 

If you want test data, find attached the following:
1-800MHz 1.4 metre RG-58
1-60 MHz 1.4 metre RG-58
1-800MHz 8.5 metre RG-213
1-60MHz 8.5 metre RG-213

All files should have 1010 data points :-)

--
Rune / 5Q5R

On Sun, 1 Sep 2019 at 16:55, Jeff Anderson <jca1955@...> wrote:

Hi neb (or anyone else who has s1p file for TDR analysis)

Would it be possible for you to post your s1p file to Github? I've just
written a Matlab script to do the TDR function, and I would like to verify
its math against what others are seeing.

For example, with a length of coax whose S11 was measured from 1 to 60
MHz, I get the attached responses (the time-domain response may or may not
be correct, which is what I would like to verify).

If anyone would like to do the same thing, my s1p file for this
measurement is here:

Thanks,

- Jeff, k6jca





Re: NanoVNA with a cracked screen

 

Can you give us a link to screen you talked about from E-Bay.


Re: TDR Python Script

 

Hi neb (or anyone else who has s1p file for TDR analysis)

Would it be possible for you to post your s1p file to Github? I've just written a Matlab script to do the TDR function, and I would like to verify its math against what others are seeing.

For example, with a length of coax whose S11 was measured from 1 to 60 MHz, I get the attached responses (the time-domain response may or may not be correct, which is what I would like to verify).

If anyone would like to do the same thing, my s1p file for this measurement is here:

Thanks,

- Jeff, k6jca


Re: Stuck on firmware?

 

I managed to flash it back to the 800Mhz 'aa' version and it seems OK and stable for the moment... I did afterwards try to flash it to a 'ch' version again and the same thing happened!

As long as I can use it as an antenna anylaser then it is fine by me. I have now calibrated it on different saves for the whole 500khz to 800Mhz, a 1-60Mhz for HF, a 140-150Mhz for 2m and a 400 - 500Mhz for 70cms.

Let's hope it stays this way now!

Thanks all for your input

73s
M0LOX


Re: TDR Python Script

 

On Sun, Sep 1, 2019 at 07:09 PM, Larry Rothman wrote:


Looks good.
When are you going to make it available to the rest of us?

Thanks,
Larry
Hi Larry,

Please check your email. I hope you can run it on your machine.
The script needs several python modules to be able to use it.

Kind regards,

neb


Re: NanoVNA with a cracked screen

Dr. David Kirkby from Kirkby Microwave Ltd
 

On Sun, 1 Sep 2019 at 13:43, Warren Allgyer <allgyer@...> wrote:

John,

Here is what you are looking at for replacement of the screen. You would
need to remove the top cover, carefully unfold the LCD from the board (mine
was not glued or secured, and unsolder the ribbon connector from the PCB.
Installation would be the reverse of the process. There appear to be a
number of replacements available on eBay in response to a search for "2.8
inch LCD touchscreen" in the $8 - $15 range.
There is a 3.2" which will work too. Not just any screen will - it has to
be the correct one, but there is a 3.2" version. The part number is given
by Hugen, in response to me having a screen that just shows white. I have
now a damaged one and a good one. My plan would be to relace the damaged
screen with a larger one, but I have not done that yet. I'm not really
competent and surface mount stuff, so that would be a challenge for me.


WA8TOD
Dave, G8WRB


Re: TDR Python Script

Dr. David Kirkby from Kirkby Microwave Ltd
 

In of the members of this group, Reginald Beardsley <pulaskite@...>,
was a seismologist. He spent much of his working life on TDR, and was
regularly swapping from the time domain to the frequency domain. He seems
to work mostly in the time domain though.

He has probably forgotten more about TDR than the rest of us put together
know about. When he sees this, I believe he will offer some insight into
what is and what is not needed.

Dave, G8WRB.

On Mon, 19 Aug 2019 at 03:15, Vince Rooney <vince@...> wrote:

A new post by nuclearambo about measuring coax lengths with the Nano. He
loves his.







--
Dr David Kirkby Ph.D C.Eng MIET
Kirkby Microwave Ltd
Registered office: Stokes Hall Lodge, Burnham Rd, Althorne, CHELMSFORD,
Essex, CM3 6DT, United Kingdom.
Registered in England and Wales as company number 08914892

Tel 01621-680100 / +44 1621-680100