azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/azonenberg/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
Degi_ has joined #scopehal
Degi_ is now known as Degi
Degi has quit [Ping timeout: 248 seconds]
<azonenberg> S-parameter view is coming along niecly
_whitenotifier-d has joined #scopehal
<_whitenotifier-d> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±3] https://git.io/J0OWU
<_whitenotifier-d> [scopehal] azonenberg 9fb33f2 - SParameters: added GetNumPorts() method as preparation for supporting >2 port Touchstone files in the future
<_whitenotifier-d> [scopehal] azonenberg 191d285 - MockOscilloscope: added Touchstone import capability
<_whitenotifier-d> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/J0OWL
<_whitenotifier-d> [scopehal] azonenberg aff7117 - MockOscilloscope: normalize timebases on Touchstone import
<_whitenotifier-d> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±4] https://git.io/J0OW3
<_whitenotifier-d> [scopehal-apps] azonenberg e4b0330 - WaveformArea: GetValueAtTime() now correctly works with waveforms that are not dense packed
<_whitenotifier-d> [scopehal-apps] azonenberg f8ea9d7 - Added Touchstone waveform import
<_whitenotifier-d> [scopehal-apps] azonenberg opened issue #386: scopesession files do not preserve X or Y axis units of waveforms - https://git.io/J0OBE
<_whitenotifier-d> [scopehal-apps] azonenberg labeled issue #386: scopesession files do not preserve X or Y axis units of waveforms - https://git.io/J0OBE
<_whitenotifier-d> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±4] https://git.io/J0OEU
<_whitenotifier-d> [scopehal] azonenberg db29f07 - Oscilloscope: added initial offline-ness stuff
<_whitenotifier-d> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±4] https://git.io/J0OEG
<_whitenotifier-d> [scopehal-apps] azonenberg fc35eda - Can now load Touchstone files via command line arguments
<_whitenotifier-d> [scopehal-apps] azonenberg b29c811 - Added initial support for offline scopes. So far only mock scopes can be offline and there's no support for changing between online and offline states.
<azonenberg> Here's a Pico TA061 across 50 ohm termination seen with S21 mag/angle, S11 TDR, PRBS-31 through S21 response, S21 TDT response
<d1b2> <Darius> shiny
<_whitenotifier-d> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/J0OPe
<_whitenotifier-d> [scopehal-apps] azonenberg d213515 - Linux CI build: always apt-get update before installing packages
<_whitenotifier-d> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/J0OP9
<_whitenotifier-d> [scopehal-apps] azonenberg 9772854 - Fixed apt update command (doesn't like -y)
<_whitenotifier-d> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/J0ODn
<_whitenotifier-d> [scopehal-apps] azonenberg 885265e - No need for line continuation
someone-else has joined #scopehal
someone-else has quit [Quit: Connection closed]
Guest3062 has joined #scopehal
Guest3062 has left #scopehal [#scopehal]
someone-else has joined #scopehal
someone-else has quit [Quit: Connection closed]
<Stephie> that's simulated TDR? can scopehal do TDR/TDT to S11/S21?
someone-else has joined #scopehal
<azonenberg> Stephie: scopehal can do channel emulation on all 4 s-parameters of a 2-port network on an arbitrary signal
<azonenberg> to do TDR/TDT you use the "step" filter to generate a unit step
<azonenberg> then apply an s-parameter channel for the appropriate port to it
<Stephie> ahhh, makes sense
<azonenberg> so TDR on port 1 would be step -> channel emulation of S11
<azonenberg> etc
<azonenberg> you can then optionally apply the TDR filter to that to re-scale the reflected voltage waveform to ohms or reflection coefficient
<azonenberg> You can also of course do channel emulation (or de-embedding) with the same network on an arbitrary waveform including stuff acquired from a scope
<azonenberg> it's fast enough to do interactively
<Stephie> doing fft from a TDR/TDT measurement to S11/S21 would be an interesting feature though
<Stephie> once i get a good tdr i might try
<azonenberg> That has been a wishlist item for a while
<azonenberg> so far i havent been able to get useful enough s-parameters from it
<azonenberg> But i have a 16 GHz TDR setup and my VNA only goes to 6 GHz
<azonenberg> so getting even poorish quality s-params from a 16 GHz scope and pulse generator would be very useful
<Stephie> yeah, i was wondering how accurate it was in practice
<Stephie> yeah
<Stephie> i might end up with one of the old HP boatanchor 30+ghz tdr/sampling scope test sets so
<azonenberg> the lecroy wavepulser 40ix is a 40 GHz TDR that has fft transform to give s-parameters
<azonenberg> it's very high on my wishlist
<azonenberg> unless i get a 20 GHz copper mountain VNA instead
<azonenberg> both are about the same price and 4 ports, its a question of more freq vs more dynamic range
<Stephie> yeah
<azonenberg> Leaning toward the TDR as most RF stuff i would be likely to do would be sub 6GHz and the picovna would handle that
<azonenberg> i mostly do higher bw s-param stuff for digital interconnect characterization
<Stephie> interesting
<azonenberg> which needs less dynamic range but a ton of bandwidth for high speed serdes
<Stephie> i actually have a TDR already but it's an old tek CRT "cable tester" unit i picked up for £80
<Stephie> it's still really good though, you can see into the 0.1ohms, and sub-cm
<Stephie> just not that high bandwidth
<Stephie> (it has a bnc on the front lol)
<azonenberg> Lol i see
<Stephie> was worth it for the fun repearing it
<azonenberg> this is the kind of data i get with the SDA 816Zi and a LeoBodnar pulse generator
<azonenberg> 100ps/div
<Stephie> whats the rise time on that pulse gen?
<azonenberg> i forget if i used the 30 or 40 ps unit for this test
<Stephie> ah
<azonenberg> the bnc is 40 and the sma is 30
<azonenberg> the scope's rise time is i think 22?
<azonenberg> or 28
<mxshift> azonenberg: I've got a handful .s80p files that I can try when you get high port count parsing working
<azonenberg> dont have specs handy
<Stephie> the HP one im looking at is <18ps
<azonenberg> mxshift: s80p? o_O
<azonenberg> now i'm curious, is there a file format for sparse measurement of s-parameters?
<mxshift> DDR signals between die and pin
<azonenberg> i.e. where you want thru and reflected paths on each port plus crosstalk between adjacent ones
<azonenberg> but maybe not crosstalk from one side of the package to the other
<azonenberg> where the coupling is insignificant
<mxshift> this appears to have full matrices
<azonenberg> yeah touchstone only seems to support full matrices
<mxshift> 80MB files
<azonenberg> that's why i'm wondering if there is one that isn't
<azonenberg> side note, do you use zero prefixed port numbers when doing s-params of >9 port networks?
<azonenberg> i.e. how do you tell whether S312 is the path from port 12 to port 3, or port 2 to port 31?
<azonenberg> not a problem i've ever had to deal with given my wimpy little 2 port vna :p
<azonenberg> also ooh
<azonenberg> if anyone needs some fairly high speed s-param characterization needs in the future...
<azonenberg> i just got a quote from TRS RenTelCo for a WavePulser 40ix
<azonenberg> It's only $1350 to rent for a month
<azonenberg> Until I get budget to actually buy one (which I would like to do eventually) I'm seriously considering renting one to do a bunch of test fixtures, test various SMA connector launches, and get serialized s-params for all of my cables so i can de-embed them to the full bandwidth of my scope
<azonenberg> a month would be more than enough for that
<azonenberg> No idea on timeline but $1350 is cheap enough i could probably swing it in the fairly near term
<azonenberg> and more importantly it would get me a chance to play with the thing and decide if i want to buy it
<azonenberg> mxshift: to load your s80p files the biggest change we would need, other than fixing the parser
<azonenberg> would be making the import logic not creating a view for all 12,800 channels :p
<azonenberg> (mag and phase for 80*80 ports)
<azonenberg> by default for a s2p it opens everything
<azonenberg> also just as important the dialog for selecting a channel to display, or as input to a filter, would become a nightmare
<azonenberg> like, it would be technically possible to open the file as soon as i fix the parser
<azonenberg> but it would be very hard to do anything useful with it for a while
<mxshift> I figured. Hence why I mentioned I have them.
<azonenberg> Yeah i think i will start with some more reasonable s4p's :p
<mxshift> Using → to delineate ports makes sense to me: S21→4
<azonenberg> mxshift: except that's backwards from the usual convention
<azonenberg> it would have to be S4 <- 21
<azonenberg> Legitimately curious how the conveniton got to be that way
<azonenberg> Were S-parameters invented by a guy whose native language was arabic, hebrew, or something else that goes right to left?
<mxshift> There's ← as well
<miek> it comes from matrix notation
<azonenberg> miek: what i mean is, having the matrix the way it is
<azonenberg> vs transposed
someone-else has quit [Quit: Connection closed]