Scopes with logarithmic timescale - Page 1
Forum section: electronics / testgear

author: eTobey
author_rank: Super Contributor
timestamp: December 23, 2024, 05:59:28 pm
content: Which scopes have a logarithmic timescale that one can afford ( ~2500€)? I guess there will only be old ones that fit into this category? Maybe there are some USB scopes that could be hacked to use its data and plot it via external program?

author: TheoB
author_rank: Regular Contributor
timestamp: December 23, 2024, 07:45:24 pm
content: I've seen your plots for the square wave problem you have. That shows you already are able to make them. It's a very special display mode that is easy to implement by plotting with semilogx. You only have to tell what is time zero. It can be the trigger moment or a small time before the trigger. It's that what you need?

author: eTobey
author_rank: Super Contributor
timestamp: December 23, 2024, 10:41:38 pm
content: Quote from: TheoB on December 23, 2024, 07:45:24 pmYes, but its a bit of work. And i like to work less ;-)

author: TheoB
author_rank: Regular Contributor
timestamp: December 24, 2024, 09:22:44 am
content: Example of how you can do that with python. I tried it with a Rigol DHO802 but I think it should work with any scope supporting SCPI commands|:Code:import pyvisaimport matplotlib.pyplot as pltimport numpy as nprm = pyvisa.ResourceManager()my_instrument = rm.open_resource('TCPIP::192.168.1.8::INSTR')print(my_instrument.query('*IDN?'))my_instrument.write(":WAV:SOURCE CHAN1")my_instrument.write(":WAV:MODE RAW")my_instrument.write(":WAV:FORM WORD")my_instrument.write(":STOP")# get the data from the scopedata = {}data["yincr"] = float(my_instrument.query(":WAVeform:YINCrement?"))data["yorg"] = float(my_instrument.query(":WAVeform:YORIGIN?"))data["yref"] = float(my_instrument.query(":WAVeform:YREFERENCE?"))data["xincr"] = float(my_instrument.query(":WAVeform:XINCrement?"))data["xorg"] = float(my_instrument.query(":WAVeform:XORIGIN?"))data["mdepth"] = float(my_instrument.query(":ACQuire:MDEPth?"))data["sr"] = float(my_instrument.query(":ACQuire:SRATe?"))data["y"] = my_instrument.query_binary_values(":WAVeform:data?", datatype='H', is_big_endian=False, container=np.array)data["y"] = (data["y"] - data["yref"] - data["yorg"]) * data["yincr"]# Reconstruct the x-axisN = len(data["y"])data["x"] = np.linspace(0, N * data["xincr"], N)data["x"] = data["x"] + data["xorg"]fig, ax = plt.subplots(3, figsize=(10, 12))#labelsax.set_xlabel("time (s)")ax.set_xlabel("logx from triggerpoint")ax.set_xlabel("symlog")ax.set_ylabel("V")ax.set_ylabel("V")ax.set_ylabel("V")ax.plot(data["x"], data["y"], "-")ax.grid(True)ax.semilogx(data["x"], data["y"], "g-")ax.grid(True)ax.plot(data["x"], data["y"], "r-")# threshold should be 10e-9 not 2e-9 for nicer plotlinthreshold = 10 ** int(np.log10(data["xincr"]))ax.set_xscale('symlog', linthresh=linthreshold)ax.grid(True)plt.show()my_instrument.write(":RUN")

author: Andreas
author_rank: Super Contributor
timestamp: December 24, 2024, 10:39:54 am
content: Hello,My PicoScope (USB-Ocilloscope) can do this directly:Define a math function log(T) (add 1 ns to avoid log(0)) and define Range from -9 to -1 for 1ns to 100 ms.use the math channel as x-axisthats all.Upper screen shows Channel A (log Time)lower screen shows Channel A (Time)the question is:- what bandwith and time resolution do you need- what amplitude resolution do you need 8/10/12/14/16 Bitswith best regardsAndreas

author: eTobey
author_rank: Super Contributor
timestamp: December 28, 2024, 01:03:16 pm
content: Quote from: TheoB on December 24, 2024, 09:22:44 amThats nice. Could you measure the time it takes to get the data from the scope?Quote from: Andreas on December 24, 2024, 10:39:54 amThat is awesome, i was already thinking about these scopes, since i find the GUI of the SDS800X HD so bad, i thought when having to use a PC/keyboard, i can switch to a laptop with picoscope alltogether.Does every model has this ability?

author: Andreas
author_rank: Super Contributor
timestamp: December 28, 2024, 04:01:18 pm
content: Quote from: eTobey on December 28, 2024, 01:03:16 pmHello,The math functions are part of the software on PC.So in principle every model has this ability.The low end models (PS2xxxA) may not have enough memory at higher sample frequencies for longer aquisitions.with best regardsAndreas

author: TheoB
author_rank: Regular Contributor
timestamp: December 28, 2024, 04:10:07 pm
content: Quote from: eTobey on December 28, 2024, 01:03:16 pmIcalculatedmeasured roughly 53Mbps when using the pyvisa library. My scope needs two bytes/point (12 bits resolution). That equates to 53M/16=331k points/second.

author: eTobey
author_rank: Super Contributor
timestamp: December 29, 2024, 12:53:15 pm
content: Quote from: TheoB on December 28, 2024, 04:10:07 pmYou calculated? In another script?I would have just measured the time it takes in your script. No calculations needed, and no errors would be introduced.

author: TheoB
author_rank: Regular Contributor
timestamp: December 29, 2024, 04:27:54 pm
content: That should indeed be measured :-). Just a dump of a large dataset, me counting the seconds.

author: eTobey
author_rank: Super Contributor
timestamp: December 29, 2024, 06:06:41 pm
content: Quote from: TheoB on December 29, 2024, 04:27:54 pmWere you counting the seconds, or measuring the seconds with a tool?If you made multiple measurements: did you use median or mean average?

author: TheoB
author_rank: Regular Contributor
timestamp: December 29, 2024, 06:49:49 pm
content: O dear. Even that was not correct. My computer was counting the seconds and I was just observing the start and end time. Subtracting them from each-other. Both observations have an uncorrelated random error of 1 second so it was 15 seconds +/-1 I guess.Nerd level is rather high here

author: eTobey
author_rank: Super Contributor
timestamp: December 29, 2024, 07:26:17 pm
content: Quote from: TheoB on December 29, 2024, 06:49:49 pmTerms and measurements... meaningless without a minimum level of precision.

author: ebastler
author_rank: Super Contributor
timestamp: December 30, 2024, 12:50:07 pm
content: Quote from: eTobey on December 29, 2024, 07:26:17 pmThe same goes for bug reports, by the way.

author: eTobey
author_rank: Super Contributor
timestamp: December 30, 2024, 04:13:48 pm
content: Quote from: ebastler on December 30, 2024, 12:50:07 pmI used some precise terms in the past. It didnt work in quite a few cases, so naturally you would do less things, if they dont lead to any results...