AnsweredAssumed Answered

vrf Mysteries of Averaging on an Agilent 8753 ...

Question asked by Dr_joel Employee on Aug 21, 2002
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META content="MSHTML 5.00.3315.2870" name=GENERATOR></HEAD><BODY style="FONT: 8pt MS Sans Serif; MARGIN-LEFT: 2px; MARGIN-TOP: 2px"><DIV><FONT size=1><SPAN class=357514820-21082002>Hello Friend ofAveraging:</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>    Mike makes agood point about the differences in 8510 between step mode and ramp mode. These don't apply to 8753 or 8720, or any of the neweranalyzers.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>Stepping was very slow in the8510, due to source settling, so the firmware team thought "why not take all theaveraging at one point at one time" and this is what theydid.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>Call this "pointaveraging".  For ramp mode, averaging is done sweep to sweep.  Callthis "sweep averaging"</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>In the 8510, it has a fixed IFbandwidth, and averaging is used to reduce noise.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>In the 8753, there is avarialble IF BW, that is used to reduce noise.  Changing this is almostidentical to point mode averaging in the 8510.  The IF BW is from a digitalfilter, and for</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>narrower IF BW's, more data istaken, and in effect, averaged.  That is why the sweep slows down withnarrower IF BW, more data taking.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>That is also why we don't havepoint averaging explicitly in the 8753.  We have IF BW reductioninstead.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>When you turn Sweep Averagingon the 8753, you get, in addition to the IF BW averaging, sweep to sweepaveraging.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>In the 8510 Point Averaging,the "filtering function" is a FIR filter, of length N, and the formula for thedata output is:  Sum(Xn)/N</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>In the 8753 and 8510 sweepaveraging, the formula is slightly different. </SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>For K sweeps less than theaverage factor N, the formula for each data display is XK=Sum(Xn)/K for n=0 toK</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>At N sweeps this becomes thesame as the point mode.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>The difference starts at N+1sweeps.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>For L sweeps (L>N theaverage factors)</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>   XL=(N-1/N)*X(L-1)+(1/N)*L.  This is an infinite impulse response (IIR)filter.  What this means is that if on your fist sweep you get a big valuefor X, it will always be in the average,</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>even if you do 999averages.  It's effect gets smaller and smaller, but never goes away. This is why taking N+1 or more sweeps gives differentaverages.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>To get the same filteringfunction as in point mode, use N sweeps.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002>To get more settling (greateraveraging) use more than N sweeps.  The early values of data will graduallydiminish in effect, but will never go away.</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>So much for the "mysteries ofaveraging"</SPAN></FONT></DIV><DIV><FONT size=1><SPAN class=357514820-21082002></SPAN></FONT> </DIV><DIV><FONT size=1><SPAN class=357514820-21082002>Best regards,Joel</SPAN></FONT></DIV><BLOCKQUOTE>  <DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma  size=2>-----Original Message-----<BR><B>From:</B> Michael Asbery  []<BR><B>Sent:</B> Tuesday, August 20, 2002  7:58 PM<BR><B>To:</B> VEE vrf<BR><B>Subject:</B> [vrf] RE: Averaging on an  Agilent 8753 ...<BR><BR></DIV></FONT>  <DIV><SPAN class=110212602-21082002><FONT size=1>Hi,</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>James is correct in  the procedure he has submitted, but I would change the  following:</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002>  <DIV><SPAN class=224432918-20082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=224432918-20082002><FONT size=1>take 1<SPAN  class=110212602-21082002>1</SPAN>  groups:        NUMG1<SPAN  class=110212602-21082002>1</SPAN><SPAN class=110212602-21082002>;</SPAN><SPAN  class=110212602-21082002>OPC?</SPAN>;   (This <SPAN  class=110212602-21082002>tells the VNA to start taking 11 sweeps</SPAN>,  and <SPAN class=110212602-21082002>then </SPAN>returns<SPAN  class=110212602-21082002> a 1</SPAN> when all <SPAN  class=110212602-21082002>sweeps</SPAN> are  done)</FONT></SPAN></DIV></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>I work a great deal w/ an  8510 VNA.  It's documentation recommends taking N+1 sweeps to get a fully  averaged measurement.  Also when averaging your sweeps there is a trade  off -</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>When sweeping in ramp mode -  Use low number of averages (|32) and take N+1 sweeps</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>else</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>Sweep in step mode (phase  lock and dwell @ each freq) - Use high # avgs (>64) and take only one sweep  (SING;)</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>Each method will provide a  fully averaged measurement.  Try it manually to see which method is  faster.</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>Another caveat will be  the GPIB timeout value.  If your total sweep time exceeds the  timeout value (5sec = default) - Your program will generate an error  before OPC? returns a value.  </FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>One method to get around this  would be to issue a OPC - (not sure if supported)  It sets a SRQ bit when  the sweep is complete, or set a SRQ mask so that it generates a SRQ when the  sweep is finished.  </FONT></SPAN><SPAN class=110212602-21082002><FONT  size=1>You would then have to poll (once a second?) the SRQ status byte  looking for a return value.  When found - Reset the bit, read your data,  then start another sweep.</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>Another method would be to  increase your timeout value (may not be acceptable since this would apply to  every command sent to the VNA - or create 2 VNA's instruments - one w/ 5 sec  timeout - the other w/ a long (30/60/90sec) timeout. and use  appropriately.</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1></FONT></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>Hope this  helps,</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002></SPAN> </DIV>  <DIV><SPAN class=110212602-21082002><FONT size=1>Mike</FONT></SPAN></DIV>  <DIV><SPAN class=110212602-21082002> </SPAN></DIV>  <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">    <DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma    size=2>-----Original Message-----<BR><B>From:</B> DUNSMORE,JOEL    (A-Sonoma,ex1) []<BR><B>Sent:</B> Tuesday,    August 20, 2002 2:37 PM<BR><B>To:</B> VEE vrf<BR><B>Subject:</B> [vrf] RE:    Averaging on an Agilent 8753 ...<BR><BR></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>Hi James,    All,</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>    The    "expected" way to aquire average data is to use the "number of groups"    command.  This is very similar to the "Single sweep" command, but has    an argurment that</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>sets the number of    sweeps.  So:</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>hold the    sweep:        HOLD;</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>Set averaging to 10:     AVERFACT10;</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>Turn averaging on :     AVERO ON;  (Avero 1 works:  Avero stands for average    on/off)</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>take 10    groups:        OPC?NUMG10;      (This resets the averaging factor, and returns OPC when all groups are    done)</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>enter the    OPC:         Read text integer 1    char;</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>Take the    data: </SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002></SPAN></FONT> </DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>Best    Regards,</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002>Joel</SPAN></FONT></DIV>    <DIV><FONT size=1><SPAN class=224432918-20082002></SPAN></FONT> </DIV>    <BLOCKQUOTE>      <DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma      size=2>-----Original Message-----<BR><B>From:</B> James Atkin      []<BR><B>Sent:</B> Tuesday, August 20,      2002 3:38 AM<BR><B>To:</B> VEE vrf<BR><B>Subject:</B> [vrf] Averaging on      an Agilent 8753 ...<BR><BR></DIV></FONT>      <DIV><FONT size=1>Hi all,</FONT></DIV>      <DIV><FONT size=1></FONT> </DIV>      <DIV><FONT size=1>I have a state calibrated as 2-Port with say an      averaging factor of 10.</FONT></DIV>      <DIV><FONT size=1>I would like to obtain a trace AFTER the averaging      sweeps have all been completed.</FONT></DIV>      <DIV><FONT size=1>I have taken a very detailed look through the      Programmers Guide and cannot find mention of this anywhere.</FONT></DIV>      <DIV><FONT size=1>Has anyone had experience with this ?</FONT></DIV>      <DIV><FONT size=1></FONT> </DIV>      <DIV><FONT size=1>Any help would be appreciated.</FONT></DIV>      <DIV><FONT size=1></FONT> </DIV>      <DIV><FONT size=1>Many thanks,</FONT></DIV>      <DIV><FONT size=1></FONT> </DIV>      <DIV><FONT size=1>James</FONT></DIV>      <DIV> </DIV>      <DIV><FONT      size=1>-------------------------------------------------------<BR>James      Atkin BEng(Hons) AMIEE<BR>Software Engineer<BR>Mitec Telecom Ltd<BR>The      Arenson Centre<BR>Arenson Way<BR>Dunstable<BR>Bedfordshire<BR>LU5      5UL<BR>-------------------------------------------------------</FONT></DIV>---<BR>You      are currently subscribed to vrf as:<BR>To      unsubscribe send a blank email to      "".<BR>To send messages to this mailing      list, email "". <BR>If you need help with the      mailing list send a message to "".    </BLOCKQUOTE></BLOCKQUOTE>---<BR>You are currently subscribed to vrf as:<BR>To unsubscribe send a blank email to  "".<BR>To send messages to this mailing list,  email "". <BR>If you need help with the mailing  list send a message to "".</BLOCKQUOTE></BODY></HTML>