Does Agilent X3000 series use Linear or sin x/x interpolation? - Page 1
Forum section: electronics / testgear

author: kg4arn
author_rank: Unknown
timestamp: April 06, 2013, 06:32:12 pm
content: I must be missing something obvious ...I can't seem to find a statement about the interpolation routine used for the x3000 series scopes, for the displayed data. The Agilent app notes I read say that, in general, Agilent uses sin x/x and that this is usually user selectable. I can't find any such option on the scope either.The scope tracings below look to me like the interpolation is linear. I was expecting a pretty clean looking sine wave with the sample rate at 200 MSamples/sec, if the interpolation were sin x/x.The input signal is a 10 MHz sine wave from the scope's WavGen. There is a minicircuits (BLP 15+) 15 MHz, 50 ohm, low pass filter in line. The input signal is a very clean sine wave with the 2nd harmonic at -70dBc. Higher harmonics were undetectable on my spectrum analyzer.My questions are:1) Is the interpolation linear?2) Why not sin x/x selectable?

author: rolycat
author_rank: Super Contributor
timestamp: April 06, 2013, 07:28:37 pm
content: The scope uses sin(x)/x interpolation, and since it never incurs a performance penalty it is engaged automatically when required.Edited from Agilent's application note 5990-9923EN:Agilent’s 3000 X-Series oscilloscopes automatically perform sin(x)/x waveform reconstruction filtering. This occurs whenever the scope’s timebase is set to a range such that there would be less than 500 unfiltered sample points across screen.The scopes perform sin(x)/x waveform reconstruction via DSP hardware, which is part of the scope’s MegaZoom IV ASIC technology. Waveform update rates can be as high as 1,000,000 waveforms/sec, even when the scope automatically engages the sin(x)/x waveform reconstruction filter.

author: marmad
author_rank: Super Contributor
timestamp: April 06, 2013, 07:57:50 pm
content: For comparison, here is a similar signal on a Rigol using 1.4MPts @ 200MSa/s; first with interpolation on - then with it off:

author: marmad
author_rank: Super Contributor
timestamp: April 06, 2013, 08:14:01 pm
content: I'm assuming the second image is the exact same sine wave sampled at 4GSa/s? Nothing else has changed? And the Agilent is automatically using a 2MPts record length, correct? If so, that is rather odd.

author: kg4arn
author_rank: Unknown
timestamp: April 06, 2013, 08:26:21 pm
content: Quote from: rolycat on April 06, 2013, 07:28:37 pmThanks, I missed that in my search.If I understand this correctly it switches to sin x/x when there is <500 unfiltered sample points, then for:1 channel active (4GS/sec) the interpolation is linear on the screen until the horizontal sweep is 12.5 nsec/div or less.2 channels active (2GS/sec) the interpolation is linear on the screen until the horizontal sweep is 25 nsec/div or less.So for the slow sweep rates there are many more than 500 sample points and when you zoom the trace you see the choppier linear interpolation.

author: kg4arn
author_rank: Unknown
timestamp: April 06, 2013, 08:30:01 pm
content: Quote from: marmad on April 06, 2013, 08:14:01 pmYes, the second image is the exact same sine wave. Only the scope horizontal sweep was changed.The Agilent doesn't tell me how many memory points it is using. I have the standard 2 Megapoints and there is only one channel on. So I assume it is the full 2 Megapoints.

author: rolycat
author_rank: Super Contributor
timestamp: April 06, 2013, 08:45:34 pm
content: As I understand it when displaying the waveform the scope always connects the available sample points linearly - whether they are read directly or interpolated using the sin(x)/x reconstruction filter.

author: kg4arn
author_rank: Unknown
timestamp: April 06, 2013, 08:48:42 pm
content: Got it. Displayed linearly but at the faster sweeps the sample points are first filtered sin x/x then displayed.

author: AndyC_772
author_rank: Super Contributor
timestamp: April 06, 2013, 09:07:04 pm
content: There's an FAQ here:http://www.home.agilent.com/upload/cmc_upload/All/2000_3000_X-Series_FAQ_2011-07-07.pdf...which says...18)Can I turn off sinx/x?No, sinx/x cannot be turned off.I've tried your experiment on my own scope and get exactly the same results, apart from the fact that my measured waveform height is exactly what's being generated (315mV pp) which I guess is because I don't have an external filter between the wave gen output and the scope input.In terms of the wave shape, I get exactly the same result. The waveform looks quite badly stepped and I'm sure it's joining points with straight lines. As expected, the lines each span 5ns @ 200 MSa/s.Speed up the time base and the sine wave looks great, of course - but I tried a separate function generator anyway just in case, and it makes no difference.It seems a shame it only uses sinx/x under certain conditions, because the scope certainly can do it and it looks much better. Below is a plot of a 150 MHz sine wave @ 1ns/div, which looks smooth despite only having 4 samples per grid square.

author: kg4arn
author_rank: Unknown
timestamp: April 07, 2013, 07:00:11 pm
content: Thanks rolycat, marmad,and AndyC_772.I got to thinking about why Agilent may have done it this way. I usually work with sinusoidal signals so I like to see nice and smooth sinusoids. But since all signals are not sinusoidal, I decided to compare a sine and a square wave.It looks as though Agilent's method is a good trade off, especially when you are trying to distinguish an unknown signal shape.I compared a 5 MHz sine with a 5 MHz square wave (rise time 5 nsec) and it looks like you can distinguish the sine from the square wave pretty well at 50 MSample/sec: right where you would expect the sample rate to be about 2X the frequency of the square wave's 3rd harmonic. At the slower sample rates the angularity of the sine wave clues you in that you may not be able to distinguish the wave shape correctly.I wonder what sine x/x would look like under a similar comparison?

author: marmad
author_rank: Super Contributor
timestamp: April 07, 2013, 07:54:45 pm
content: Quote from: kg4arn on April 07, 2013, 07:00:11 pmHi kg4arn,I tried to make a similar comparison for you on the DS2000 at the 20M, 50M and 100MSa/s rates - but please note that the rise time of my 5MHz square wave is ~15ns, so it's slightly more trapezoidal to begin with.

author: kg4arn
author_rank: Unknown
timestamp: April 07, 2013, 08:54:01 pm
content: Thanks marmad,Are you able to do a 20 Meg Sample rate?I suspect that may be where we see a bigger difference.The sin x/x clearly produces better looking waveforms at the 50 Meg sample rate.I am just wondering if you go to a lower rate, will the sin x/x start to show us more of a sine than a square wave?

author: marmad
author_rank: Super Contributor
timestamp: April 07, 2013, 09:01:14 pm
content: Quote from: kg4arn on April 07, 2013, 08:54:01 pmDone. Added above to the original post.

author: marmad
author_rank: Super Contributor
timestamp: April 07, 2013, 09:10:37 pm
content: Quote from: kg4arn on April 07, 2013, 08:54:01 pmUnfortunately, one annoying thing about Rigol is the lack of written information about what they're doing. They're clearly using sin(x)/x most of the time (when you have 'vectors' choosen - which is what the menu item is called) but perhaps they're using linear interpolation below a certain number of sample points per div?

author: kg4arn
author_rank: Unknown
timestamp: April 07, 2013, 09:21:11 pm
content: Did the source for the upper trace switch from a sine to a triangle on the 20 MSample trace?edit: I didn't expect it to be such a perfect triangle, but I guess that it could be since it is an integer number of samples per period.The Rigol implementation appears well done. I like the tracings better.On the documentation: even with Agilent a lot of information isn't in the manual for the particular device. You have to search for a variety of app notes and sometimes it isn't there at all. On the plus side they do respond with answers to questions. Rigol seems responsive also when I have called them on the phone. email hasn't worked for me with Rigol.

author: marmad
author_rank: Super Contributor
timestamp: April 07, 2013, 09:47:07 pm
content: Quote from: kg4arn on April 07, 2013, 09:21:11 pmIt appears they've optimized the Agilent for pure speed - although it's curious they don't offer a firmware sin(x)/x interpolation as an option (with a corresponding reduction in speed).QuoteNo, still the sine wave. Here are the 20M and 50M sampled sine waves with the sample points visible below.

author: colinbeeforth
author_rank: Contributor
timestamp: April 12, 2013, 09:24:12 am
content: AndyC_772 said:It seems a shame it only uses sinx/x under certain conditions, because the scope certainly can do it andit looks much better.kg4arn said:I usually work with sinusoidal signals soI like to see nice and smooth sinusoids.Also:The sin x/x clearly producesbetter lookingwaveforms at the 50 Meg sample rate.Gentlemen,Firstly, let me apologise for taking your comments a little out of context. However, I've heard enough discussion of sinx/x interpolation to make me feel queasy, so here goes. An oscilloscope is a tool, it should show the input signal with fidelity. Aesthetic considerations of waveform shape seem irrelevant to me. If an input waveform is judged as ugly, the scope should show it as ugly. Since the scope cannot know anything about what the waveform does between sample points, any sort of artifice in interpolation should be avoided. LInear interpolation many not make pretty waveforms, but if you have 10 or 20 samples for each cycle of the highest sine wave component, you have a reasonable basis for judging what the waveform is doing.If you use sinx/x interpolation on an undersampled waveform, it still shows a sine or sine like screen trace, but they may not be real. With linear interpolation, the waveform becomes obviously spikey if it's undersampled. This may be considered ugly, but it's a clear warning that there are insufficient samples to reconstruct a true representation of the incoming waveform. In reality that's all that a DSO can ever do, construct a representation, since it truly knows nothing about what the incoming waveform does between sample points. If the scope only uses linear interpolation, but also highlights (brightens) the actual sample points, the risk of misinterpreting a waveform as true when it may be an alias is greatly reduced. With linear interpolation, undersampling looks ugly. That is it's great advantage, ugly=untrustworthy. With sinx/x interpolation, there is no visible warning that you are on dangerous ground. Also, the theoretical basis for sinx/x requires that you filter the input with a steep low pass filter, with a corner frequency at half the sample rate. (The minus 3dB of the input's analogue bandwidth is nowhere near sharp enough.) Without a sharp anit-alias filter, the theoretical basis for using sinx/x is absent!Because sample rate varies widely with timebase setting, such a filter would be quite impractical to build, and that's why DSO makers don't have an anti-alias filter button. FFT vibration and audio analysers have far more constrained operating parameters, so anti-alias filters are common and sinx/x interpolation is appropriate.On the philosophy of scope design, the manufacturers have a tough job. Scopes get used in such varied applications it must be difficult to build one scope that fits all.With regard to some of the example waveforms, it seems that many modern DSOs don't announce the fact that they have shifted acquisition mode from repeated single shot mode to Random Interleaved Sampling. RIS allows synthesis of a sample rate perhaps 20 times faster than the max rate of the digitiser. A scope should really flag that mode change to the user, but I've noticed that many don't. My cynical assumption is that it makes the waveform look "nicer". DSO makers need to trust their end users with all the information, although I won't be holding my breath until that day comes...Cheers, Colin

author: jahonen
author_rank: Super Contributor
timestamp: April 12, 2013, 10:26:14 am
content: Quote from: colinbeeforth on April 12, 2013, 09:24:12 amI'd like to point out that this "spikey" warning with linear interpolation works only near the undersampling limit, but if there is very substantial undersampling (alias) of a repetitive signal, then the signal will look nice even if it is undersampled with linear interpolation. So even that is not universally infallible.Regards,Janne

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 12, 2013, 02:26:48 pm
content: Quote from: colinbeeforth on April 12, 2013, 09:24:12 amI fully agree. I also find the obsession with "nice" waveforms a bit strange, because as you say a scope should reproduce the actual signal as close to the truth as possible.QuoteIndeed. I hadn't thought about it much in the past as I usually don't buy these types of scopes (entry level) but now I have to say I find Agilents approach (Sin(x)/x interpolation can't be switched off and is only used at certain settings) pretty bad. With my old LeCroy Waverunner, Sin(x)/x is part of the math section (aka all the other stuff that makes waveforms on screen look different from the signal that comes in) and in my opinion this is where it belongs. It should not be on by default, and most certainly the user must be able to switch it off.QuoteI only played around with scopes like the Agilent DSO-X2k/3k or the Rigol DS4000 for a short time and didn't pay attention but again my LeCroy Waverunner does indicate clearly when it is using RIS (which also has to be enabled first). Can't remember on the scopes at work as I never used repetitive sampling modes, but I would think that they do indicate once they use repetitive sampling mode.

author: AndyC_772
author_rank: Super Contributor
timestamp: April 12, 2013, 02:56:00 pm
content: Sinx/x interpolation correctly fills in the data between the sample points under the assumption that there are no components of the input signal which are higher in frequency than 1/2 the sample frequency. For a scope like an 3000X that's a pretty good approximation; the sample frequency isn't just 2x the nominal 3dB bandwidth, it's 8x for a 500 MHz model and even more than that for the lower bandwidth versions. That's why a 'brick wall' filter isn't needed.It's certainly a much better approximation than piecewise linear interpolation, which shows a wavefowm which is completely unrepresentative of the incoming signal. It's not just aesthetically 'ugly', but also objectively wrong. You'll never recover information in the signal which is filtered out by the bandwidth limitation of the input stage, but piecewise linear interpolation is putting high frequency "information" into the reconstructed signal which has no physical justification. It's OK only provided you just use it to interpret where the dots are - and I presume this is how you're choosing to view the signal when in this mode.

author: jpb
author_rank: Super Contributor
timestamp: April 12, 2013, 03:29:10 pm
content: To reconcile the apposing views, it is good to note that it appears that Agilent only performs sin(X)/(X) interpolation when the filtering represented by the input circuit of the Scope means that there will not be under-sampling.i.e. it is used to fill in points when the sample rate is at its maximum and half the maximum sample rate is well above the 3dB bandwidth of the scope as AndyC_772 points out.It is not used to interpolate on zooming in from a long time base which is sampled at a lower rate (if I understand the earlier quote from the app note correctly) which is perhaps the circumstance where Sinc(x) interpolation might be misused as pointed out by colinbeeforth and others.

author: AndyC_772
author_rank: Super Contributor
timestamp: April 12, 2013, 03:40:09 pm
content: Maybe that indeed is it. The 3000X uses linear interpolation because aliasing is likely when the sample rate is artificially low, because a long record length is required and the number of samples/sec has to be correspondingly reduced. If the front-end's bandwidth is high compared to the sample rate, there's no anti-alias filtering, and the sampled signal cannot be assumed to be free of aliased signal components. Sinx/x may indeed 'smooth over' a genuine problem, and it makes sense to display an 'ugly' waveform.At higher sample rates, the sampling speed greatly exceeds the scope's analogue bandwidth, so the necessary AA filtering does exist as a natural consequence of the front-end's roll off. In this case, sinx/x is absolutely the correct thing to use.Conclusion: Agilent actually know what they're doing. Who'd have thought it?

author: jpb
author_rank: Super Contributor
timestamp: April 12, 2013, 03:56:54 pm
content: of course at 4GS/s even at the fastest time base of 1ns/div there will be 4 measurement points per division so the difference between sinc(x) sampling and linear sampling is likely to be pretty small. It will perhaps show more if more channels are being used and the sample rate is reduced to 2GS/s.With 2MS (all channels) then zooming in a long way might result in well under one point per division but for the zooming case sinc(x) isn't valid.So a cynic might say that where it is valid it isn't really needed and where there are a lot of points to fill in it isn't valid so you can't use it!

author: marmad
author_rank: Super Contributor
timestamp: April 12, 2013, 04:26:07 pm
content: Quote from: jpb on April 12, 2013, 03:29:10 pmBut therein lies the rub, doesn't it? As evidenced by kg4arn images, it's doing a poor job of reproducing waveforms with linear interpolation at sampling speeds which are perfectly adequate for using sin(x)/x interpolation formore precise(forget nice/ugly) reconstructions. It seems to me that the simplest way around this problem is to make the type/use of interpolation user-selectable.Quote from: jpb on April 12, 2013, 03:56:54 pmThis is wrong - again, as clearly visible in the images.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 12, 2013, 04:26:20 pm
content: Quote from: AndyC_772 on April 12, 2013, 03:40:09 pmMaybe. But then the question remains why you can't switch off sin(x)/x interpolation on their entry level scopes but you can on their higher end scopes which are even less likely to run into under-sampling problems.I really like Agilent stuff, but somehow I get the feeling that if they continue this way with their entry-level scopes, the next model will only have an Auto-Set button.

author: Unknown
author_rank: Unknown
timestamp: April 12, 2013, 04:34:41 pm
content: Quote from: jpb on April 12, 2013, 03:56:54 pmWhy not? sinc(x) interpolation should result in a good reconstruction for a signal bandwidth limited to below the Nyquist frequency. This is a function of sample rate and signal bandwidth. You can zoom in however you like on a signal with 1 MHz bandwidth that was sampled at 10 MS/s, but the reconstruction should still be correct. There are no details beyond 1 MHz in this signal. Zooming does not affect the bandwidth of either the signal or the scope.

author: jpb
author_rank: Super Contributor
timestamp: April 12, 2013, 06:54:59 pm
content: Quote from: alm on April 12, 2013, 04:34:41 pmThe point is that the signal bandwidth is only limited by the bandwidth of the scope so you can't know that the signal is limited to 1MHz and it is dangerous to make this assumption as would be required for sinc(x) interpolation. Of course the signal may be externally limited but if you're measuring it with a scope presumably you don't know this. Even if the signal is nominally limited you may be zooming in to look at some high frequency noise.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 13, 2013, 09:28:45 am
content: Because of the discussion I tried the same on my scope (LeCroy Waverunner LT 224) yesterday. The scope does linear interpolation and sin(x)/x, and both can be switched on and off independent of the timebase setting.The signal is a 5MHz sine wave at 300mVpp. Source is a Siglent SDG1020, the line is 50 Ohms fully terminated.The screenshots below show a non-interpolated sine wave on the top grid and the sin(x)/x interpolation on the bottom grid at same rates from 10MSa/s to 10GSa/s.

author: marmad
author_rank: Super Contributor
timestamp: April 13, 2013, 02:26:00 pm
content: Quote from: colinbeeforth on April 12, 2013, 09:24:12 amCould you explain why I need a 'warning' from my DSO? I don't need my hammer to beep when I lift it by the head instead of the handle to warn me that it's not the correct way to use it. What I need is good documentation - with explanations of features pros and cons - and then user-selectable menu options to turn those features on and off. I thought one of the points of using sin(x)/x was that it could accurately reconstruct the waveform, assuming a sample rate at least 2.5 times the highest frequency component - as opposed to linear interpolation, which requires a sample rate at least 10 times higher. Let me, the user, chose when and how to use each respective tool.QuoteI'm not sure if you're implying that the Rigol is doing this - but if that's the case, you're incorrect.

author: Unknown
author_rank: Unknown
timestamp: April 13, 2013, 02:29:12 pm
content: Quote from: jpb on April 12, 2013, 06:54:59 pmSure, there may be components beyond 5 MHz, but the zoom level has no effect on this. Aliasing can easily show up at much lower zoom levels.

author: kg4arn
author_rank: Unknown
timestamp: April 13, 2013, 04:09:41 pm
content: Quote from: marmad on April 13, 2013, 02:26:00 pmI agree. Yet, I concede that it is Agilent's right to decide the scope's operation and feature set. I respect that.However, I am miffed that the User Guide for the scope spends page space explaining rudimentary sampling theory and says absolutely nothing about how the scope actually presents the sampled data. As is plain from the preceding discussion, that information is crucial to understanding how to apply the scope properly. The information was in a separate app note. Why???And this isn't really an entry level scope (my opinion). Fully optioned, at the highest bandwidth, this scope is $20,000+ USI do expect the technical documentation to have more depth and relevance.

author: AndyC_772
author_rank: Super Contributor
timestamp: April 13, 2013, 04:49:01 pm
content: I agree that 'entry level' isn't really the proper label. Maybe 'general purpose' would be better, as it's certainly a very good range of models for a design engineer's bench, and way above what a production technician or hobbyist would ever need.Even if you regard all the cheap scopes from Far Eastern manufacturers as toys, there's still the 2000X series to carry the 'entry level' tag.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 13, 2013, 07:50:26 pm
content: Quote from: kg4arn on April 13, 2013, 04:09:41 pmI know $20k is a lot of money for an individual (who rare ly would spend even 1/10th on a scope) but I can tell you in terms of oscilloscopes it's really not much. It's still the very bottom end of the market.And 'entry level' is the common term for this class of scopes because they provide a basic set of functionality at a modest price and are usually bought as learning devices for schools and universities, as first scopes for ongoing EEs and for smaller elecronic shops, or as basic test device for simpler tasks. It's an adequate label.Quote from: AndyC_772 on April 13, 2013, 04:49:01 pmMost scopes are 'general purpose' no matter if it costs $2k, $20k or $200k (in fact, the more expensive scopes are even more 'general purpose' as they offer much more functionality than the entry level scopes).And many of the options that are required to bring a DSO-X2000 to $20k are specifically *NOT* 'general purpose' but in fact only certain purpose.

author: kg4arn
author_rank: Unknown
timestamp: April 13, 2013, 11:52:37 pm
content: Quote from: Wuerstchenhund on April 13, 2013, 07:50:26 pmI do to have a big boy oscilloscope..... I do, I do, I do....Seriously, point taken.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 14, 2013, 08:38:02 am
content: I did the same tests with a 5MHz square wave. The following screenshots show the true (non-interpolated) signal in the upper grid and the sin(x)/x interpolation in the bottom at sample rates of between 5MSa/s and 10GSa/s.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 14, 2013, 08:47:53 am
content: And last but not least, a comparison between linear interpolation (top grid) and sin(x)/x interpolation (bottom grid) between 10MSa/s (didn't make sense to go much lower) and 10GSa/s. Again, the source is a 5MHz square wave.I think the images show pretty well that interpolation in general has its limit, and no matter if a scope is cheap or expensive, it should always indicate when interpolation is used and if so, what type of interpolation. Most importantly, interpolation must be optional (i.e. can be switched off by the user).

author: marmad
author_rank: Super Contributor
timestamp: April 14, 2013, 09:53:56 am
content: Quote from: Wuerstchenhund on April 14, 2013, 08:47:53 amGreat stuff - very interesting; thanks for your time and effort to do these. Any chance you might repeat this last series using a 5MHz sine wave while comparing the linear and sin(x)/x interpolation?

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 14, 2013, 11:44:31 am
content: Quote from: marmad on April 14, 2013, 09:53:56 amSure, no problem. The images below show a 5MHz sine wave at 300mVpp, 50 Ohms fully terminated, with linear interpolation in the upper grid and sin(x)/x + linear interpolation in the bottom grid (unfortunately on my scope linear interpolation can only be enabled for all displayed waveforms, unlike sin(x)/x), at sampling rates between 10MSa/s and 10GSa/s.

author: marmad
author_rank: Super Contributor
timestamp: April 14, 2013, 11:53:56 am
content: Quote from: Wuerstchenhund on April 14, 2013, 11:44:31 amThanks very much! It's clear from these that the Rigol is doing linear interpolation - at least at sampling rates <= 100MSa/s. But the Agilent is either not doing linear interpolation correctly, or the sample points are not symmetrical/equidistant for some reason.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 14, 2013, 12:32:45 pm
content: Quote from: marmad on April 14, 2013, 11:53:56 amCan you disable interpolation on the Rigol scopes?QuoteIt seems DSO-X 2000/3000 Series Agilent did go quite a long way in making various decisions which should be up to the user. The more I hear about this Series the less I like what I hear.

author: marmad
author_rank: Super Contributor
timestamp: April 14, 2013, 12:43:11 pm
content: Quote from: Wuerstchenhund on April 14, 2013, 12:32:45 pmYes, but the choices are only 'dots' or 'vectors' - and they don't give any information about what interpolation they're using. But the images I posted here before (at lower sample rates) clearly look like linear interpolation (using your images as comparison). But the following images look like sin(x)/x interpolation by the Rigol, so if it switches between the two types, I'm trying to figure out exactly when/how it does that.Edit:BTW, the following images are from a completely artificially created waveform file, which was loaded into the DSO to see how it would interpolate it.

author: kg4arn
author_rank: Unknown
timestamp: April 14, 2013, 12:47:58 pm
content: Quote from: marmad on April 14, 2013, 11:53:56 amIndeed the Agilent sample points do not appear to be symmetric, at least the displayed sample points.Might this be related to anti aliasing?I have been unable to get my Agilent to present a classic alias waveform where a high frequency signal at low sample rates looks like a signal at lower frequency. What I see is a "ghost" alias (I don't know what the proper terminology might be).The attached trace shows a sine input, 50 ohm terminated. I show a signal slightly off 10Mhz. But anywhere around 10 MHz the un-zoomed trace shows the "ghost" alias. The zoomed trace suggests that the displayed data points are not symmetric.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 14, 2013, 01:04:48 pm
content: BTW: The link below goes to a document talking about interpolation. It's a bit older and contains the occasional bit of marketing blurb, but it's a very good introduction into linear and Sin(X)/x interpolation, and also contains a section on how to test your scope.http://teledynelecroy.com/support/techlib/registerpdf.aspx?documentID=578

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 14, 2013, 01:13:37 pm
content: Quote from: kg4arn on April 14, 2013, 12:47:58 pmThe image shows you're only sampling at 5MSa/s (5MHz) which is around 1/4th of the minimum sample rate according to Nyquist required for a 10MHz signal.What you see is the result of interpolation of an insufficient number of sampling points. As your signal is not exactly 10MHz but slightly below these points will be at different spots on the waveform, resulting in the odd trace you see.

author: marmad
author_rank: Super Contributor
timestamp: April 14, 2013, 01:18:48 pm
content: Quote from: Wuerstchenhund on April 14, 2013, 01:04:48 pmInteresting. At the end of the document, they reference the problem of the Agilent (and show an image that's almost precisely like kg4arn's):"Agilent and Tektronix alter the interpolation behavior depending most notably on the time/division setting. Effectively both competitive scopes resist interpolation when the acquisition time duration becomes large. In other words, the sample rate improvement with interpolation diminishes as the acquisition time duration is made larger. Since larger time/division settings tend to diminish a user's view of waveform features, unless a zoom is employed, the fundamental message in this behavior is:There is no need for higher resolution and precision in the waveform acquisition unless the fine features are being viewed.LeCroy takes serious issue with this type of instrument behavior. We believe that the measurement results in your waveform analysis should not depend on what you are currently viewing on the screen."

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: April 14, 2013, 01:19:45 pm
content: Quote from: marmad on April 14, 2013, 12:43:11 pmThat's bad but at least you can disable interpolation, so not all is bad.I guess Rigol (as Agilent) use a table based on the time base setting to decide if using linear or sin(x)/x. You could do some tests to find out at which setting which interpolation method is used.

author: marmad
author_rank: Super Contributor
timestamp: April 14, 2013, 04:03:50 pm
content: Quote from: Wuerstchenhund on April 14, 2013, 01:19:45 pmWell, I ran some tests - and it seems (although I might be incorrect about this) that the Rigol does not use the timebase setting to determine the interpolation method - but instead uses the sample rate. From what I've discovered so far, it appears that:Sample rate <= 500MSa/s uses linear interpolationSample rate >= 1GSa/s uses sin(x)/x interpolationBased on math, it seems like it would make more sense the other way around - although I guess the fact that it uses linear interpolation at lower sample rates means that (if you don't pay attention) you're more likely to realize you're undersampling.

author: jpb
author_rank: Super Contributor
timestamp: April 14, 2013, 04:09:22 pm
content: Quote from: marmad on April 14, 2013, 04:03:50 pmIt makes sense in that sinc(x) interpolation is based on the signal being band limited above the Nyquist rate, for 1GS/s this is 500MHz and above so should be well attenuated by the input circuitry whilst at 500MS/s it is 250MHz which won't be much attenuated if the Band Width is 200MHz or more.Linear interpolation is just to show where the points are really rather than being an attempt to fill in the missing parts of the waveform - that is linear interpolation won't produce any spurious peaks even if it produces discontinuities in the gradient.

author: marmad
author_rank: Super Contributor
timestamp: April 14, 2013, 04:17:19 pm
content: Quote from: jpb on April 14, 2013, 04:09:22 pmYes, of course... I should have thought of that! ThanksIt makes sense in terms of the 200MHz BW limit of the DS2000 series.

author: marmad
author_rank: Super Contributor
timestamp: May 01, 2013, 07:31:52 pm
content: I've been reading all I could find recently about the Agilent X-Series, trying to determine the cause of the behavior evidenced in kg4arn's images - which seems to me might indicate what I would consider a design flaw in the X-Series.For those new to the thread - it has to do with the difference between the following two images:Firstly, I'd like to point out that it's quite difficult to know the exact sample lengths used with various combinations of channels, running modes, etc, in the 3000 X-Series given both the very limited information - and the strange presentation of some of it - by Agilent. Through all my digging, I was unable to come up with a single table outlining the exact record lengths - and when they're used.Given that they publish both this specification:"Maximum duration of time captured at highest sampling rate (all analog channels) 250us"...which, with a 4GSa/s rate, equals 1MB of memory - so would tend to indicate that a maximum of 1MB can be used by any single channel in any mode.and this info:"When running (versus taking a single acquisition), the memory is divided in half. This lets the acquisition system acquire one record while processing the previous acquisition, dramatically improving the number of waveforms per second processed by the oscilloscope."...it's difficult to know for sure if one channel has access to the entire memory pool when running on it's own or not. In other words, when in Normal mode and running a single channel, does the scope divide the entire 2MB in half, giving one channel a 1MB record length - or - does it divide the 1MB per channel-pair in half, giving the single channel just a 500kB record length.I mention all this mainly as a caveat since I'm not completely clear as to whether kg4arn's images represent 1MB or 500kB of sample points - which would affect the percentage of error.Secondly, as evidenced by the images posted by Wuerstchenhund and myself, I think it's pretty clear that what we see in kg4arn's images is NOT an interpolation problem - since mere interpolation changes from sin(x)/x to linear (or tonointerpolation, for that matter) STILL result in a clearly symmetrical wave-shape - with equidistantly spaced sample points. No, I think what is visible are sampling 'errors', if you will, and it seems to me that they must somehow arise from Agilent's practice of decimation.Since both the Rigol and LeCroy DSOs produce fairly similar symmetrical output to the test waveforms - and both DSOs follow the practice of actually slowing down the clock speed to the ADC to reduce the sampling rate (while maintaining record lengths) - it seems to me that it might be reasonable to assume that Agilent's practice of 'throwing away' samples (decimation) in order to simulate a slower clock rate might be leading to what can only be defined as missing and/or misaligned sample points.If all of this is true, it seems to me that Agilent's decision to optimize it's MegaZOOM ASIC for the fastest waveform update rates - in exchange for signal fidelity at slower sample 'speeds' (when unable to reduce clock rates, the ASIC decimates) - was a mistake. Any further information which might enlighten this issue - from other X-Series owners or Agilent techs - would be welcome.Edit:I might also point out that in the two test images, the Rigol is actually sampling at half the rate of the Agilent (100MSa/s), making it's errors seem even more severe. If the Agilent record length in the above image is 1MB, than the ASIC is throwing away 39 out of every 40 samples; if it's 500kB, then it's throwing away 79 out of every 80 samples.Edit2:Thinking about this further, I'm wondering if the anomalies in the Agilent's sampled waveform might be produced via it's practice of swapping banks of acquisition memory while running in Normal mode, then appearing to combine both banks together somehow when Stopped.