jankae / librevna Goto Github PK
View Code? Open in Web Editor NEW100kHz to 6GHz 2 port USB based VNA
License: GNU General Public License v3.0
100kHz to 6GHz 2 port USB based VNA
License: GNU General Public License v3.0
LibreVna is not recognized under Lubuntu 20.04.3
dmesg shows
[ 632.474586] usb 1-1: new full-speed USB device number 5 using xhci_hcd
[ 632.624029] usb 1-1: New USB device found, idVendor=0483, idProduct=4121, bcdDevice= 2.00
[ 632.624034] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 632.624038] usb 1-1: Product: VNA
[ 632.624041] usb 1-1: Manufacturer: STMicroelectronics
[ 632.624043] usb 1-1: SerialNumber: 2072397D3350
[ 882.058219] usb 1-1: USB disconnect, device number 5
[ 883.729433] usb 1-1: new full-speed USB device number 6 using xhci_hcd
[ 883.879603] usb 1-1: New USB device found, idVendor=0483, idProduct=4121, bcdDevice= 2.00
[ 883.879610] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 883.879613] usb 1-1: Product: VNA
[ 883.879616] usb 1-1: Manufacturer: STMicroelectronics
[ 883.879618] usb 1-1: SerialNumber: 2072397D3350
but LibreVNA GUI shows no device after Update Device list
terminal window where the GUI has been started in shows permission error
./LibreVNA-GUI
Icon theme "elementary" not found.
0.020: [debug] Application start
0.026: [info] Loading preferences
0.026: [debug] Setting "Startup.ConnectToFirstDevice" is set to QVariant(bool, false)
0.026: [debug] Setting "Startup.RememberSweepSettings" is set to QVariant(bool, false)
0.026: [debug] Setting "Startup.DefaultSweep.type" is set to QVariant(QString, "Frequency Sweep")
0.026: [debug] Setting "Startup.DefaultSweep.start" is set to QVariant(double, 1e+06)
0.026: [debug] Setting "Startup.DefaultSweep.stop" is set to QVariant(double, 6e+09)
0.026: [debug] Setting "Startup.DefaultSweep.excitation" is set to QVariant(double, -10)
0.026: [debug] Setting "Startup.DefaultSweep.dbm_start" is set to QVariant(double, -30)
0.026: [debug] Setting "Startup.DefaultSweep.dbm_stop" is set to QVariant(double, -10)
0.026: [debug] Setting "Startup.DefaultSweep.dbm_freq" is set to QVariant(double, 1e+09)
0.026: [debug] Setting "Startup.DefaultSweep.points" is set to QVariant(int, 501)
0.026: [debug] Setting "Startup.DefaultSweep.bandwidth" is set to QVariant(double, 1000)
0.026: [debug] Setting "Startup.DefaultSweep.averaging" is set to QVariant(int, 1)
0.026: [debug] Setting "Startup.Generator.frequency" is set to QVariant(double, 1e+09)
0.026: [debug] Setting "Startup.Generator.level" is set to QVariant(double, -10)
0.026: [debug] Setting "Startup.SA.start" is set to QVariant(double, 9.5e+08)
0.026: [debug] Setting "Startup.SA.stop" is set to QVariant(double, 1.05e+09)
0.026: [debug] Setting "Startup.SA.RBW" is set to QVariant(double, 10000)
0.026: [debug] Setting "Startup.SA.window" is set to QVariant(int, 1)
0.026: [debug] Setting "Startup.SA.detector" is set to QVariant(int, 0)
0.026: [debug] Setting "Startup.SA.averaging" is set to QVariant(int, 1)
0.026: [debug] Setting "Startup.SA.signalID" is set to QVariant(bool, true)
0.026: [debug] Setting "Acquisition.alwaysExciteBothPorts" is set to QVariant(bool, true)
0.026: [debug] Setting "Acquisition.suppressPeaks" is set to QVariant(bool, true)
0.026: [debug] Setting "Acquisition.adjustPowerLevel" is set to QVariant(bool, false)
0.026: [debug] Setting "Acquisition.harmonicMixing" is set to QVariant(bool, false)
0.026: [debug] Setting "Acquisition.useDFTinSAmode" is set to QVariant(bool, true)
0.026: [debug] Setting "Acquisition.RBWLimitForDFT" is set to QVariant(double, 3000)
0.026: [debug] Setting "Acquisition.useMedianAveraging" is set to QVariant(bool, false)
0.026: [debug] Setting "Graphs.Color.background" is set to QVariant(QColor, QColor(ARGB 1, 0, 0, 0))
0.026: [debug] Setting "Graphs.Color.axis" is set to QVariant(QColor, QColor(ARGB 1, 1, 1, 1))
0.026: [debug] Setting "Graphs.Color.Ticks.Background.enabled" is set to QVariant(bool, true)
0.026: [debug] Setting "Graphs.Color.Ticks.Background.background" is set to QVariant(QColor, QColor(ARGB 1, 0.0784314, 0.0784314, 0.0784314))
0.026: [debug] Setting "Graphs.Color.Ticks.divisions" is set to QVariant(QColor, QColor(ARGB 1, 0.627451, 0.627451, 0.643137))
0.026: [debug] Setting "Graphs.domainChangeBehavior" is set to QVariant(int, 1)
0.026: [debug] Setting "Graphs.markerBehavior.ShowDataOnGraphs" is set to QVariant(bool, true)
0.026: [debug] Setting "Graphs.markerBehavior.ShowAllData" is set to QVariant(bool, false)
0.026: [debug] Setting "Graphs.lineWidth" is set to QVariant(double, 1)
0.027: [debug] Setting "SCPIServer.enabled" is set to QVariant(bool, true)
0.027: [debug] Setting "SCPIServer.port" is set to QVariant(int, 19542)
0.027: [info] Listening on port 19542
0.096: [debug] Activating mode "Vector Network Analyzer"
0.100: [debug] Access denied (insufficient permissions)
0.100: [debug] Updated device list, found 0
In the end, it was only inspired by the nanovna V2 project. The dynamic range of the system can be improved by redesigning the directional bridge. The MMIC-based differential amplifier instead of the balun can reduce the cost and increase the SNR, so as to achieve a faster scanning rate. Simply use an BJT LNA, which is much cheaper than a broadband balun.
I am here to make suggestions, not sure if it is feasible in principle.
For impedance matching it is sometimes valuable to see a graph of R + jX as a function of frequency.
This is for S11 measurements.
This should be a simple matter of slicing the existing data in a different way.
BTW, thank you for having a working OSX port. So often projects pay lip-service to OSX support, without really delivering.
Can TRL calibration be implemented as an alternative to SOLT? The standards for TRL are easier to define and fabricate.
At low frequencies the errors in impedance measurements seems less like smoothly distributed noise, and more like spike noise. Averaging helps to reduce these measurement errors, but only so far. My instinct is that if the code removed outliers then the results at low frequency would be dramatically cleaner. I've attached a screen shot demonstrating the issue that I'm referring to.
It might be as simple as taking N measurements and removing the two highest and two lowest data points. My suspicion is that would clean things up dramatically.
The attached figure is showing R + j*X as a function of frequency.
Folks: I have a Kirkby 85033 calibration kit which has both male and female standards, as do many other kits. I do not see a way in the LibreVNA software to handle a mixed-sex calibration with Port 1 and Port 2 being of different sexes with either a zero-length or non-zero thru. Can this be accommodated by the current ".calkit" file structure and calibration algorithms? 73, Don N2VGU
Hello Jan,
Thank You very much for sharing this great project,
Could You, please, give some comments about details of QT5 Development environment setup, especially how should the libusb-1.0 files be installed in the QT5 ?
I have encountered a following problem while trying to compile the PC software in QT5.12.10 (using the MinGW73_64 compiler) under Windows x64:
"./../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lusb-1.0
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Makefile.Debug:581: debug/Application.exe] Error "
It's not obvious from the compiler error log why did the software build fails due to errors with libusb-1.0 included files installation.
I have tried to follow the recommendations and have copied all the libusb *.a files from Libusb-1.0 archive as the instructions says:
"MinGW/cygwin:
May be I am doing something wrong, or have set up the compiler environment paths incorrectly, or have missed a '-lusb-1.0' linker option when compiling ?
Any advice would be appreciated, sorry for a messy questions.
Thanks!
A continuos phase trace will "cleanup" the else "muddy" s21/s12 phase trace and aso be a tool for analyzing where phase measurement are problematic at specific frequences. More explained in the linked pdf file
http://www.hamcom.dk/VNA2/Phase versus Continuos phase.pdf
kind regards
Kurt
First of all, it's really, really great,and thanks for your design and sharing.
After looking at the design, I raised the question of component replacement in order to further reduce costs or improve performance(according to each person's own situation):
1>RFSA3714(50MHz to 6000MHz) to RFSA3713(5MHz to 6000MHz),Package is not pin to pin
or to PE43711(9kHz to 6000MHz) ,Package is pin to pin;
2>QPC6324SR(5MHz to 6000MHz) to PE42420(100MHz to 6000MHz) ,Package is pin to pin;
3>B012-617DB-1-63-B331(10MHz to 6000MHz?) to TCM1-63AX+(10MHz to 6000MHz),B012-617DB-1-63-B331 is EASTEVER BALUN,but I can't find the datasheet,can you provide the datasheet?I would be very grateful!
or
MABA-011082(5MHz to 8000MHz)
Jan,
what do you think about combining "Reference" widgets like this:
Ref. input with options Int, Ext, Auto
Ref. output with options 10M, 100M, Off
In other words, to remove the checkboxes and leave only dropdown combos with those choices.
Zoran
Hi jankae,
I have recently got my LibreVNA and have been using it to characterize and tune a power amplifier in the 2,45 GHz band.
So far everything looks very good with the VNA and have not found any issues, but I have realized that for people working on PAs it is often very illustrating to be able to perform power sweeps to obtain the Pout vs Pin of the PA. I find out that this feature is underestimated on mainstream VNAs. Usually this task involves either programming a signal generator and a 2 channel power meter or of course doing it by hand, which is long and tedious. Also temperature drifts are somehow masked in this process, as the devices would be operating at different temperatures when doing this in such a slow procedure.
I figured that as mostly all of the primitives for controlling the signal generator are there already, I was thinking that adding a graph on the signal generator tab with possibility of tracing the power detected on one port on one axis and the power delivered by the other port would not be a very complex endeavor. It would be a great app for PA testing. Calculating the compression point at 1 dB would be also very helpful, but of course, it is only luxury.
Maybe it has already been programmed and I have not found yet how to do it. If so, could you please explain how to do this?
Thanks for all the great work you have been putting together and good luck with your future projects as well.
Ariel
This is another very low priority issue, or "issue."
Now that I took a dive into the embedded part of the VNA, building the stm32 code will obviously have it's benefits.
I am using the latest STM32CubeIDE, which is 1.6.1.
Ok sofar, except a tiny little issue :) Using ctrl-B (build all), I get the message
"Build of configuration Release for project VNA_embedded
Nothing to build for project VNA_embedded"
As I am already handling the git aspect using QtCreator, I need STMCubeIde to just pick up the code already sitting on my disk. In any case, build should have nothing to do with the project being imported from git, or taken from a zip.
Help is appreciated, but again, treat this as VERY LOW priority.
I'm sure you have better things to do and, even though I am always enthusiastic to fiddle with stm32, I don't see myself giving much contribution, as the code looks quite compact and complex. On the other hand, I expected even less in Qt, yet here we are... :) :)
I have work where it would be nice to get down closer to 50kHz than 500kHz. I suspect that would be a filter change, but I don't know about the intrinsic bandwith of the other parts of the system. Thanks for considering.
Jan, another thought on temperatures.
I discussed with Hugen briefly and he assures me that most of the heat comes from the mixers and plls, so any kind of slowing down the acquisition rate would not give any reduction in temperatures. Is that true?
Yes or no, but possible fimware feature comes to my mind:
in case of any dramatic increase of temperature (since we are already measuring), how about an internal shutdown of some kind, to save the device before damaging itself?
Hello again!
I would like to express, again, my excitement with your project! Thanks for this professional instrument.
Regarding the physical build, let me start with several questions. Please have a bit of patiece :-) as there are some parts of the process which I am not familiar with. Tne, kindly correct or add info where needed:
Then, a few more:
Just out of curiosity, did you use Jlcpcb's assembly process or did you populate the board yourself?
Hello Jan!
I am having a bit of struggle to complete the build of PC Application. Could you help, please?
I have these installed
Qt Creator community version from offline installer
my help-about is:
Qt Creator 4.13.2
Based on Qt 5.15.1 (MSVC 2019, 64 bit)
Libusb (from libusb-1.0.23.7z archive)
Unpacked to c:\libusb and included in Application.pro like this
win32:INCLUDEPATH += C:\libusb\include
win32:LIBS += -LC:\libusb\MinGW64 -lusb-1.0
This may not be the best way but, at least, it has eliminated build errors in Qt Creator for now.
Qwt
Here is the real problem, I think.
Your Application.pro indicates qwt-6.1.4
I followed a few simple installation commands from QWT website:
qmake qwt.pro
mingw32-make
mingw32-make install
I could not get 6.1.4 to compile with mingw 8.1.0 or mingw 7.3.0 (both came with Qt installation. later I removed 7.3.0 to avoid possible conflicts)
Compilation breaks with errors in so many places I could not count... :-)
I switched to qwt-6.1.5
...
This compiles with both mingw versions, but breaks further into the "mingw32-make install"
////
mingw32-make[1]: Entering directory 'C:/qwt-6.1.5/doc'
C:\Qt\5.15.1\mingw81_64\bin\qmake.exe -install qinstall C:\qwt-6.1.5\doc\html C:\Qwt-6.1.5\doc\html
Error copying C:/qwt-6.1.5/doc/html/analogclock.png to C:\Qwt-6.1.5\doc\html\analogclock.png: Cannot open C:/qwt-6.1.5/doc/html/analogclock.png for input
mingw32-make[1]: *** [Makefile:416: install_doc] Error 3
mingw32-make[1]: Leaving directory 'C:/qwt-6.1.5/doc'
mingw32-make: *** [Makefile:163: sub-doc-install_subtargets-ordered] Error 2
////
Since these seem related to doc folders, I tried to disregard and proceed:
Added C:\qwt-6.1.5\lib to PATH
Added env variable QT_PLUGIN_PATH = C:\qwt-6.1.5\lib
reboot
Cloned a fresh copy of VNA2 from github.
Qt Creator -> navigate and open Application.pro
But build fails at tracesmithchart.h / .cpp with many errors such as
field 'thinArcsPath' has incomplete type 'QPainterPath'
field 'thickArcsPath' has incomplete type 'QPainterPath'
followed by others, probably as a consequence of that.
I tried some changes in Application.pro but no improvement.
Tried searching the web, but no good results.
Finally I am stuck here.
Apart from the code from github, and my humble attempts, what else is needed externally?
Could you explain more about your tool versions, setup, paths, env variables etc?
Attached my compiler output, if it helps...
Thanks!
Zoran
Hello all,
May is it possible to add an option in Preferences / graphs to increase or decrease the thickness of traces ?
and add a button in calibrations measurements to erase all calibrations in only one action ?
May is it possible when adding a marker in S21 trace for example that others automatically set in the smith chart or other traces ?
Best regards to all
Thank you in advance Patrick F5SUE
When looking at either high return loss devices or conversely those with negative resistance/reflection gain characteristics which would plot outside of the edge of a normal Smith chart, the ability to expand or contract the scale of the chart display about the center would be helpful. I would suggest that the user input would be to specify the reflection coefficient at the edge of the chart, normally 1. This might tie in with the request for plotting VSWR or Q circles.
As an aside, Philip Smith's firm Analog Instruments, (he would answer the phone himself) used to sell expanded- and greatly-expanded center charts. He or someone else sold expanded low-impedance charts too, useful for RF power transistor matching design, and negative resistance charts for oscillator and paramp design. I do not think there would be much demand for this type any more, however.
Hello!
Just a smal notice here, nothing critical: if you click to the left of the most significant digit within SIUnitEdit and roll the mouse, the field goes blank. Still it seems to update (on the default 3rd digit) but the content is invisible. Only after clicking on another SIUnitEdit, or one of the docks, it becomes visible again.
Hello,
I want to export S11 trace to a .s1p file.
But it's not working : any file is created.
When i select a CSV export format, the file is created.
How to reproduce ? Export -> Touchstone -> Select file content -> Select folder (desktop) -> Any file is created
I tried to execute the program as administrator, same thing.
Configuration :
Windows 10 - up to date
LibreVNA GUI - v1.2.1
I've been cooking this idea and I think would be really great if we can integrate it into the gui.
Basically instead of showing colored traces name and marker in plots, I guess one neat visual mode is wrap it within a rectangle. Something like this:
What I'm not really sure about if whether to add this same approach for traces dock or if it's too overwhelming. Suggestions are super welcome.
Currently LibreVNA project doesn't have any logo that can visually represent it. This causes that when application is used in operating systems like Linux / GNU where the desktop environments (GNOME e.g.) set application icons we will see something like this:
I would be really happy to implement this once we have some type of logo if that would be okey on your side @jankae and here is the logo proposal.
I was kind like visualizing how LibreVNA can be described and that's the result I got based on followings ideas:
I'm not really sure about the colors I chose, I just tried to imagine a combination of colors that can fit with the official board version but for example my LibreVNA has a different solder mask color.
directly provide a touchstone export function via the SCPI Interface
so that not a manual export of all traces and a manual conversion into a touchstone file is necessary
Thanks in advance
found some ready made libreVNA on ebay, is this official or another china copyright fringe ?
Hello Jan!
While consolidating reference widgets, I found when Ref: external is selected, the whole device locks up and traces stop drawing. At the same time, internal temperatures are stopped with 95/95.deg in logwindow, which is obviously a false reading. Anyway the only way out of this is to disconnect the usb cable or switch (example) to signal generator, enable/disable port 1, and go back to vna. Strange, is it not? :)
I am suspecting the pll's or something are getting locked up due to missing clock, so maybe unable to communicate with fpga. Sorry, I'm just guessing here. :) But still the mcu works on it's own clock (I believe it's using HSI) and communicates with the PC, so we should be able to recover easily. I'm sure you already have a solution in your mind.
Zoran
Hello Jan!
I was away from the project for a couple of months, for having to pursue some work related issue. Sorry for that.
In the meantime, I see you have done a lot of work and I admire what you have done. I have used the VNA many times during that time, to make measurements for my friends who are not into VNAs' and stuff, or just not so technically-involved. One requirement that come up almost every time is, I had to provide the completed measurements in a form of a screenshot.
For someone who does not own the instrument, and has no need to install the supporting PC application, this is really the only option to see the results. I had to make a creenshot each time, depending on my desktop or laptop size, or if the app was maximized or not. So kinda' variable, but still very usefull. Can not deny that. :)
So I was wondering, if it was feasible to:
This seems like a nice challenge, except in this case I would not even know where to start, from your code.
If you were doing only this project every day, you would still be very very busy. Therefore, this is just an idea, don't take it too seriously. :-)
Regards,
Zoran
Hi All,
I am quite interested by this project. If shielding has not yet been implemented, why not use conductive filament to 3D-Print shielding plate for the circuit.
The filament, would have to take some heat, so it would seem that conductive ABS would be better than the PLA.
Perhaps even, the 3D print could also be coated with high-copper content conductive paint, to give it just a little more RF shielding mojo.
If there is interest, perhaps I could help, I have Rhino 3D, and am pretty handy with it.
I suppose that making an open-source CNC model would help too.
Take Care,
BrendaEM
It would be nice to have built in traces for certain vswr circle,its very useful in antenna match. Some Examples:
vswr=1.5, vswr = 2 etc.
Hi,
The .brd file in hardware folder is less than 1MB which means its incomplete/corrupt. Is it supposed to be that way ?
Kind regards
Kiran Kanchi
Hello there,
Is anyone having boards made currently? Any going spare? OSHpark quote is $185 US for 3 and I was thinking if I'm lucky I'll only need a single board (!) I'll pay for the fractional cost + shipping.
I see gerbers produced for Macrofab too by the build_all.bat script. The source files are common between the two sets of outputs. This means that no dimensioning of the GCPW is performed based on the fab and do I understand from that, the OSHpark and selected Macrofab layer stackup are identical?
I saw some discussion about pulling back of planes to get the GCPW characteristic impedance correct (at least as calculated without doing the full EM sim). Which values were used for epsilon_r and the dielectric thickness for example? Sorry if this has been covered and I think the answer is that at these tolerances it might not matter all that much.
Trying a build of the FPGA source. ISE 14.7 on Ubuntu 18. Rebuilding cores fails with the PLL core https://wiki.archlinux.org/title/Xilinx_ISE_WebPACK had the solution linking to JAVA6. Affter the fix, build succeeds. Something may be wrong, the Clocking wizard indicates input clock of 16MHz and CLK_OUT1 output of 102.4MHz. Elsewhere I see the design indicates a 160MHz clock. What should the FPGA clock be?
Hi,
Thanks for your effort and making it open source. After about a year's free time search online RF projects I found your design is the most doable challenge to begin my journey in RF hardware.
I am very interested in making a small batch of PCBA from JLCPCB. I have previous experience with them and it was successful. After checking the JLC SMT parts catalog, they have the specific FPGA and STM32 chips and most RCL parts, but other ICs I will try a hot gun soldering after most passive parts assembled.
Would you please add a gerber folder and put the gerber files for the PCB? I have read previous talks about the stacking, and I will place the spec accordingly when I place the order.
Something else not sure about the BOM is the "100n, 0402, broadband capacitor (e.g. ATC 530L series: ATC 530104KT16T)". could I just use 50v MLCC from Samsung? (with JLC part# C1525), or any other suggestions or a mouser part# please. I can contact JLC with a specific part if available from mouser in China.
One more thing in this issue is the CNC closure, I can design a 3 parts assembly with a from panel to improve SMC socket grounding contact. Will this effort be worth it?
Thanks.
Hello,
I would like to export the S parameter trace to import it inside QUCS for simulation purposes.
Is it possible at this stage of the software developement ?
I did not found anything inside the docs of inside the GUI.
Thanks
I think very nice improvements for a future version will be:
Hello Jan!
One thing I noticed, sometimes when changing marker type, the marker list goes blank. Then I press add or delete button and the list is refreshed and all markers visible again. This only happens occassionally, most often when changing type from manual to peak table. Tried to find out the cause but I couldn't be sure if it's my pc graphics (running windows10) or a real code issue.
Zoran
Your project is just amazing and It will be even better if the Eagle files could be converted (and fixed) to KiCad 5.x
I will check that on my side but anyone interested in doing the conversion are welcome
Hello Jan!
I noticed a strange bug, apparently device in initialization, when switching modes. I was struggling for two-three days to reproduce it, and finally, here is how:
Start app (goes into vna mode)
(possibly switch to spectrum analyzer but sometimes even without this step)
switch to signal generator
enable port 1, disable port 1 (or port 2, regardless)
switch to vna mode
After this:
Graphs become like a ratsnest (attached pics)
Only usb cable (re)connection helps, ie the device needs to be rebooted.
Funny thing, just now, I was back in vna mode, opened the window for manual control, closed it without making any changes, and things are back to normal.
I am not really sure about the followng, but maybe device temperature plays a role. Currently it is 50/59/34, but in the screenshot I took, it was 28/38/21. I want to say, I am swithching modes very very often, and 'torturing' the vna :-) with all kinds of possible and impossible settings. Just this morning, after using signal gen. mode, and back to vna, nothing unusual happened. Several times. And now, after 2-3 hours, I can reproduce it reliably. I noticed this a couple days ago, but back then, I couldn't reproduce it at all. So I am not sure if temperature has anything to do with it.
Just now comparing my notes ;-) and it seems, a couple nights ago, I could not reproduce the issue later during the session. I want to say, at the time I concluded it has to be cold to show the problem. And today it's the opposite. So please, take my thoughts on temperature with some degree of suspicion. :)
I would not consider this a high priority issue, as it happens relatively rarely, and there is an easy way out of it. Just by full init between modes, or a reboot (I'm sure it's lightning fast) and we would never notice it.
I'd try to chase it myself, but my understanding of hardware specifics, registers, and especially fpga, is not enough for independent troubleshooting. Not yet. However, if you take the time for this issue, and have any suggestions and requests for me, I am willing to do anything. :-)
Has anyone else noticed this on their device? I hope other people are reading, too. How are your temperatures under prolonged operation?
Regardless, here is a suggestion:
Cheers!
Zoran
It would be useful/convenient to be able to choose between discrete or Interpolated frequency markers. I have noticed that it is disconcerting for some users to key in a frequency and have the marker jump to a nearby measurement point rather than the requested frequency. Others prefer to have the marker step between discrete measurement points.
The "unknown thru" calibration technique offered by Keysight is powerful and convenient and can allow accurate measurement of DUTs with non-insertable connector pairs or even different connector types, without clumsy adapter characterization and de-embedding steps.
This would be an ideal feature addition if the VNA architecture allows.
Hello my friend!
Sorry that I am so detailed :-) I really like your creation and I play with it every day. It's inevitable to find issues. I measured almost everything in my house, including chairs, tables, plumbing in the walls....haha I'm joking, sorry :)
Ok, so please check tracemarkermodel.cpp, It was causing a crash when changing any marker from "manual" to anything else. I had a hard time to determine it's about deleting child markers, when there are none existing. At least I believe this is the reason. I added checks to see if the returned vector is empty (this is supposed to be "null' in case of vectors), and it worked well.
But now I only occassionally get a crash when deleting a parent of a delta marker. For example, when I delete a parent marker (ex. marker 4), the delta's 'pointer' changes to next available, ex. marker '3'. When I delete this, or create a new marker, then delete... etc...play with this several times, it sometimes crashes but I can not reproduce it exactly. For sure you understand your code much better than me, and probably have an idea already. Please check.
One more thing along this route, it would be nice to have a visual indication on which marker is clicked in the tree widget. At the moment, you can't tell which one will be deleted on bDelete. I made it with preference dialog but here I couldn't for some reason. Must be too late in the morning now...
Thanks!
Zoran
It would be nice to have built in traces for derived values. Some Examples:
Series R,L,C Quality factor, Z, VSWR, etc.
Not sure if this is intended behavior. The SCPI commands I use to configure the VNA return a LF which must be read or these characters in the rx buffer confuse subsequent commands that do return values. See the octave thread in the group.
I wonder if you could add a contributed section of the project in git. Things like the octave example may be useful to others.
I'd be interested on thoughts for enabling Time Domain Reflectometry post-processing - probably wont see useful bandwidth above 3GHz, but that's probably enough for most people who buy this device.
Hello,
when using SCPI commands I get somehow "ERROR" response for all kind of commands:
telnet 127.00.0.1 9091
Trying 127.0.0.1...
Connected to 127.00.0.1.
Escape character is '^]'.
VNA:TRAC:LIST?
S11,S12,S21,S22
VNA:CAL:LOAD "S.cal"
ERROR
VNA:TRAC:LIST?
ERROR
telnet 127.00.0.1 9091
Trying 127.0.0.1...
Connected to 127.00.0.1.
Escape character is '^]'.
*IDN?
LibreVNA-GUI
VNA:TRAC:LIST?
S11,S12,S21,S22
VNA:CAL:BUSY?
ERROR
VNA:TRAC:LIST?
ERROR
further strange errors appear if I try to save or load a calibration, before saving a calibration was loaded in the GUI:
VNA:CALibration:SAVE S
as well as (with T.cal in the same folder as binary)
VNA:CALibration:LOAD T (or T.cal)
chosen "S" as filename as I don't know if ".cal" will be added or not.
third "ERROR" I get, if i want to read out the touchstone-file twice with no other command in between, when I execute "*IDN?" in between the two exports it works.
using version 1.2.1 for PC and Firmware on ubuntu 20.04.
Is there somehow an Error how I use the command set?
I am using the device to measure the complex, frequency dependent impedance of an ultrasound transducer. When I calibrate the system the apparent resonant frequency is at around 1.3 MHz, but when I use the default calibration (uncalibrated) the apparent resonance is around 1 MHz. This matters a huge deal for what I'm doing. I've attached some screen shots.
Note that this transducer was designed for a 1 MHz resonant frequency. I'd expect some variation, but not likely bumped all the way up to 1.3 MHz.
I would expect to see some changes in measured impedance. I would not expect the changes to be as dramatic as they are.
Explanations / insights are welcome.
First image: Measured impedance of the 50 Ohm load, with calibration turned off.
Second image: Measured impedance of the 50 Ohm load, with calibration turned on.
Third image: Measured transducer impedance with calibration turned off.
Fourth image: Measured transducer impedance with calibration turned on.
Fifth image: Measured transducer impedance from a nanoVNA.
Hi,
I'd be interesting in an option to perform logarithmic frequency sweeps.
Option 1:
Option 2:
Any chance, this is going to be implemented soon?
Is it possible to build the PC application without installing the whole Qt development environment?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.