![Tektronix OM4006D Скачать руководство пользователя страница 112](http://html1.mh-extra.com/html/tektronix/om4006d/om4006d_user-manual_1078070112.webp)
Core processing software guide
The way the information is passed from one block to the next is via a boundary
values variable (which includes “BoundVals” in its name). The boundary values
variables are declared as persistent variables in CoreProcessing.m. They are listed
after the keyword “persistent” at the head of CoreProcessing. The BoundVals
output variable returned by a function contains information from the latter part
of the block. The same variable is passed as the input to the function when it is
called during the next block. For the
fi
rst block the boundary values variables
are initialized to empty variables. The variable FirstBlock is set by the OUI,
and is 1 only for the
fi
rst block. The initialization statements appear at the start
of CoreProcessing.m, bracketed by “if FirstBlock”.
When a function is passed an empty variable as a boundary values input, it
knows it is dealing with the
fi
rst block. The results of the different blocks
must be stitched together to form contiguous output variables. This is done
in EngineCommandBlock.m.
Many variables have two versions: a per-block version, and an aggregated version
having the same name suf
fi
xed by “UI”. For example, the X component of the
fi
eld
fi
ne trace is stored in zX when CoreProcessing (one block) has
fi
nished executing,
while variable zXUI contains that parameter for the whole oscilloscope record.
The function Aggregate is called many times in EngineCommandBlock. It is a
multipurpose function that aggregates the latest block result of a variable into the
UI version of that variable. For example, the following line of code appears in
EngineCommandBlock zXUI = Aggregate(zXUI,zX); The results displayed in the
OUI, as plots or text, are the aggregated UI versions of the variable. They refer to
all of the oscilloscope record processed so far, and not just the most recent block.
Alerts management
In addition to their numerical variable outputs, the functions in CoreProcessing
can report the occurrence of speci
fi
c events via the Alerts variable. Alerts is
passed as an input to each function, and returned as an output. If an event occurs a
message is appended to the Alerts structure variable. The Alerts section of the
main ribbon in the OUI then displays a list of all the alert messages that apply.
(See page 53,
The Alerts variable has a
fi
eld .Active which is a vector of structures containing
the active alert messages. Each element of Alerts.Active has the following
fi
elds:
.Zone – a string saying where the functions was called from (more details
below)
.FunctionName – name of function where alert was activated
.Code – an integer value unique to that alert message
.Msg – a string stating the nature of the alert
.TimesAsserted – an integer equal to the number of times the alert has been
activated (automatically assigned by AssertAlert)
88
OM4000D Series Coherent Lightwave Signal Analyzer
Содержание OM4006D
Страница 1: ...xx OM4106D and OM4006D Coherent Lightwave Signal Analyzer ZZZ User Manual P071316002 071 3160 02...
Страница 2: ......
Страница 6: ......
Страница 22: ...Compliance information xvi OM4000D Series Coherent Lightwave Signal Analyzer...
Страница 24: ...Preface xviii OM4000D Series Coherent Lightwave Signal Analyzer...
Страница 100: ...Taking measurements 76 OM4000D Series Coherent Lightwave Signal Analyzer...
Страница 132: ...Appendix A MATLAB variables used by core processing 108 OM4000D Series Coherent Lightwave Signal Analyzer...
Страница 146: ...Appendix D Automatic receiver deskew 122 OM4000D Series Coherent Lightwave Signal Analyzer...
Страница 176: ...Appendix F Configuring two Tektronix 70000 series oscilloscopes 152 OM4000D Series Coherent Lightwave Signal Analyzer...
Страница 202: ...Appendix H Cleaning and maintenance 178 OM4000D Series Coherent Lightwave Signal Analyzer...
Страница 205: ...Index W Waveform averaging 48 OM4000D Series Coherent Lightwave Signal Analyzer 181...