0% found this document useful (0 votes)
16 views40 pages

An 905

an-905

Uploaded by

jieluo.100best
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views40 pages

An 905

an-905

Uploaded by

jieluo.100best
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

AN-905

APPLICATION NOTE
One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com

VisualAnalog™ Converter Evaluation Tool Version 1.0 User Manual

INTRODUCTION PRODUCT HIGHLIGHTS


VisualAnalog is a new way to test and characterize data 1. Quick set up of both ADC and DAC characterization
converters, ADCs, and DACs alike. Whereas tools have been 2. Easy testing of ADCs with reference DACs and DACs with
available in the past, they could perform a limited set of tests. reference ADCs
Whereas these tools did provide many features, their flexibility 3. Easy configuration of custom signal flow tests for ADCs
was limited to just a few simple options. VisualAnalog provides and DACs
the ability to customize the tests in a nearly limitless manner 4. Easy testing of converter models and comparison to real
using a simple graphical user interface. converter devices
VisualAnalog interfaces seamlessly with the DAC pattern
generator (DPG) for DAC evaluation and the following ADC
data capture boards for ADC evaluation:
• HSC-ADC-EVALA
• HSC-ADC-EVALB
• HSC-ADC-EVALC

06683-001

Figure 1. Typical VisualAnalog Canvas

Rev. 0 | Page 1 of 40
AN-905

TABLE OF CONTENTS
Introduction ...................................................................................... 1 Bit Processor ............................................................................... 24
Product Highlights ........................................................................... 1 Bit Shifter..................................................................................... 24
Installation of VisualAnalog............................................................ 3 Comment..................................................................................... 24
Instruction Notes.......................................................................... 3 Complex Waveform Merger ..................................................... 25
Quick Start for ADC Evaluation..................................................... 4 Complex Waveform Splitter...................................................... 25
VisualAnalog Software..................................................................... 6 Data Router ................................................................................. 25
Starting VisualAnalog.................................................................. 6 FFT ............................................................................................... 25
Using the Start-Up Form ............................................................. 6 FFT Analysis ............................................................................... 25
Opening a Blank Canvas ............................................................. 7 Hilbert Transform ...................................................................... 27
Using the Main Form................................................................... 7 Input Formatter .......................................................................... 27
Setting Canvas Properties............................................................ 9 Inverse FFT ................................................................................. 27
Placing Components .................................................................... 9 Inverse Sinc ................................................................................. 27
Connecting Components .......................................................... 10 I vs. Q ........................................................................................... 27
Adjusting Component Parameters........................................... 12 Logic Analysis............................................................................. 27
Updating Results......................................................................... 13 Mixer............................................................................................ 28
Making Layout Changes ............................................................ 14 Output Formatter ....................................................................... 28
Using the Menu Bar ................................................................... 14 Peak Hold .................................................................................... 28
Using the Tool Bar...................................................................... 15 Power/Phase................................................................................ 28
Using the Options Form............................................................ 16 Resampler .................................................................................... 29
Data Types Overview ..................................................................... 17 Resolution Formatter ................................................................. 29
Real Waveform Data .................................................................. 17 Scalar Math ................................................................................. 29
Complex Waveform Data .......................................................... 17 Stop............................................................................................... 29
Real FFT Data ............................................................................. 17 Subset ........................................................................................... 29
Complex FFT Data..................................................................... 17 Waveform Analysis .................................................................... 29
Analysis Data .............................................................................. 17 Window Routine ........................................................................ 29
Value Collection ......................................................................... 17 Components Results ...................................................................... 30
Numeric Value ............................................................................ 17 Data Grid..................................................................................... 30
Tone List ...................................................................................... 17 Graph ........................................................................................... 30
Components Overview .................................................................. 18 Pattern Saver ............................................................................... 32
Board Interfaces.......................................................................... 18 Components Sources ..................................................................... 33
ADC Data Capture..................................................................... 19 Filter Mask................................................................................... 33
DAC Pattern Generator Interface............................................. 20 Gaussian Noise ........................................................................... 33
DAC Pattern Generator Control Form.................................... 20 Pattern Loader ............................................................................ 33
Pattern Limitations..................................................................... 21 Tone Generator........................................................................... 34
FIFO4.x Interface........................................................................ 21 VisualAnalog Example Canvases ................................................. 35
Components Models ...................................................................... 23 ADC with ADC Data Capture Board...................................... 35
ADC Model ................................................................................. 23 ADIsimADC Model File ........................................................... 35
Components Processes .................................................................. 24 Loading the DPG with a Simple Vector .................................. 38
Array Math .................................................................................. 24 Loading the DPG with a Complex Vector .............................. 39
Average......................................................................................... 24
Rev. 0 | Page 2 of 40
AN-905

INSTALLATION OF VisualAnalog
To install VisualAnalog, you must have the following: To determine if the .NET Framework 1.1 is already installed
on your computer, click Start, select Control Panel, and click
• Administrator privileges
Add or Remove Programs. When the window appears, scroll
• Microsoft® .NET Framework Version 1.1
through the list of applications. If you see Microsoft .NET
• The latest .NET Framework 1.1 service packs
Framework 1.1 listed, you have the correct version and you do
The VisualAnalog installation package installs all of the items not need to install it.
needed to use the VisualAnalog software along with the neces­ 1. To ensure proper installation of all the components you
sary drivers for the ADC and DAC hardware. must have administrator privileges.
INSTRUCTION NOTES 2. Disconnect all ADC data capture boards and/or the DPG
from the computer.
• Disconnect all Analog Devices, Inc. ADC data capture
3. Install the .NET Framework 1.1 and the latest .NET
boards and/or the DPG from the computer before install­
Service Pack.
ing the software. Be sure to finish the installation of the
4. Run the VisualAnalog installation executable. Follow the
software before attempting to connect any related hardware
on-screen instructions to install all of the necessary files. If
to ensure the proper installation and registration of the
interfacing with the DPG, be sure to launch the Hardware
device drivers.
Wizard at the end of the installation process to set up the
• Note that you need administrator privileges when install­ appropriate DPG device drivers.
ing this software package and when connecting the ADC 5. Power up and connect the DPG and/or any ADC data
and DAC hardware to the computer for the first time. If capture board to the computer to finish the driver instal­
using the Hardware Wizard, follow through the instruc­ lation process. If using the DPG, be sure to connect the
tions to install the software automatically. This allows DPG before the ADC data capture board. If not using the
Windows® to complete the driver installation process. DPG, you can plug in the ADC data capture board at any
VisualAnalog is a Microsoft .NET application. You must time after you install the software.
have .NET Framework Version 1.1 on your machine to
run VisualAnalog. The preferred way to obtain the .NET
Framework is through Windows Update. Be sure to get the
latest service packs available as well.

Rev. 0 | Page 3 of 40
AN-905

QUICK START FOR ADC EVALUATION


With VisualAnalog, it is easy to bypass the canvas interface and
begin ADC evaluation immediately. To begin interfacing to a
particular ADC right away, use the following steps:
1. Connect and power the evaluation board, ADC data capture
board, and any other required board used for data transfer.
You can also supply the required clock and input signals to
the ADC evaluation board.
2. Connect the ADC data capture board to the computer
with a high speed USB cable. If a driver installation dialog
appears, as happens when using the ADC data capture
board for the first time, proceed through the dialog steps.
If the Hardware Wizard appears (see Figure 2), follow the

06683-003
instructions to install the software automatically. This allows
Windows to complete the driver installation process. Figure 3. New Canvas Form

5. Select the FFT icon and click Open.


6. If you have an HSC-ADC-EVALC data capture board, a
dialog box that asks for permission to configure the on­
board FPGA may appear. If you prefer to use the current
FPGA configuration, click No to bypass configuration.
Otherwise, click Yes to configure the FPGA. See the Using
the Start-Up Form section for more information.
06683-002

Figure 2. Hardware Wizard

3. Start VisualAnalog. For more information, see the

06683-006
VISUALANALOG Software section.
4. The start-up form now appears. If an ADC was connected Figure 4. FPGA Configuration Dialog
using the preceding steps, VisualAnalog attempts to detect 7. The main form appears in collapsed mode with your canvas
it and selects the canvas template that supports the ADC open and selected. Click Update to run the canvas.
on the start-up form. Note that the ADC must support
06683-007

SPI® functionality for the program to autodetect. If the


ADC does not support SPI, or if the program does not
Figure 5. Update Button
detect the ADC for any reason, manually select the tem-
plate. See the Using the Start-Up Form section for more A Graph form should appear with the FFT results. If the graph
information. does not appear, it is possible there was an error during
processing. Check the board connection and try again. If this
does not fix the problem, expand the main form and check the
canvas settings. For more information, see the Using the Main
Form and the Components Overview sections.

Rev. 0 | Page 4 of 40
AN-905
To view the time domain representation of the captured data,
click Toggle Additional Plot on the graph form. See the
Components Overview section for more information.

06683-008
Figure 7. Toggle Additional Plot Button

06683-004
Figure 6. Main Form and Graph Form

Rev. 0 | Page 5 of 40
AN-905

VisualAnalog SOFTWARE

06683-009
Figure 8. VisualAnalog Start-Up Form

STARTING VISUALANALOG autodetect to work correctly, both boards must be connected to


the computer via a USB cable and powered up before the soft­
After installing the VisualAnalog software, a Start menu item ware is started. Windows must also recognize the ADC data
and a desktop icon should appear. To use the Start menu item, capture board to ensure correct operation. If Windows does not
click Start, select Programs, select Analog Devices, click recognize the board, then there is a USB problem. Refer to the
VisualAnalog, and select VisualAnalog. data sheet of the particular board for more information.
To use the desktop icon, click the VisualAnalog icon from the If VisualAnalog detects an ADC board, the software displays
desktop. information in the status bar of the start-up form. In addition, it
When the program starts, a splash screen appears while loading finds an item in the category tree that supports the ADC device.
is in process, and the Start-Up Form appears after the splash
screen disappears.
USING THE START-UP FORM
Select the New tab at any time to load a blank canvas or a
predefined canvas template. VisualAnalog maintains a list of
templates that set up the canvas for running a common task
or interface with a particular device.
To select a canvas template, expand the Categories tree until the
appropriate device is visible. Then, select an icon in the Templates
list and click Open. VisualAnalog opens the canvas.
06683-116
06683-115

Figure 10. Visual Analog—New Canvas Window

Figure 9. Selecting a Canvas Template If the software does not detect the ADC board at this point,
VisualAnalog can detect a connected ADC board if that ADC manually select the correct category and template.
supports a programmable SPI interface. In addition, an ADC
data capture board that supports SPI must be used. For this

Rev. 0 | Page 6 of 40
AN-905
When choosing a template that represents the detected ADC
board, with an interface with to HSC-ADC-EVALC data
capture board, a dialog box may appear that asks for permission
to configure the on-board FPGA. If the HSC-ADC-EVALC
FPGA did not configure on power-up for the particular ADC

06683-119
you are evaluating, click Yes. Click No to bypass the FPGA
configuration. Figure 12. Opening a Blank Canvas
If you check Do not show this message again, the software
USING THE MAIN FORM
automatically performs the last selected action in the future,
when choosing an applicable canvas template. If you want to The VisualAnalog main form maintains all currently open
change this option, access these settings from the Options canvases in an MDI environment. The left side of the screen
menu in VisualAnalog. shows available Components (see Figure 14). This form docks
to the left by default, but can be moved and docked to any of
the corners of the VisualAnalog program. In addition, the
Components form can be floated and moved anywhere on
screen, even outside the VisualAnalog window.
Canvas Buttons
As you open or create canvases, buttons are created across
the tool bar, each button represent a canvas. These are canvas
buttons. You can use these canvas buttons to select or clear a
06683-117

canvas for updating. When the button appears highlighted, the


Figure 11. FPGA Configuration Dialog canvas runs on the next update. You must select the canvas in
order to run it.
VisualAnalog maintains a list of FPGA files that correspond
with a device ID that exists in the SPI register map of the ADC. The text that appears on the canvas button is the Display Name
When the software detects a particular device ID that exists in for the canvas. Change this property by selecting Canvas >
the table, it can choose a default FPGA configuration file. Note Properties.
that this process only occurs when using the HSC-ADC-EVALC. It is possible to collapse the main form (see Figure 13). This is
Select the Existing tab to browse for an existing canvas file. useful when you want to conserve screen area and you do not
need to adjust canvas settings. To collapse the main form, click
VisualAnalog maintains a list of the last five recently accessed
the arrow on the right side of the main forms tool bar. To
canvas files. To access this list and open one of these recent files,
expand the form, simply click this button again.
select the Recent tab.
Click Open, VisualAnalog opens the selected canvas file or
canvas template.
Click Cancel and the main form appears with no open
canvases.
OPENING A BLANK CANVAS
06683-012
To open a blank canvas, navigate to Other in the category tree,
and select the Blank Canvas template icon. Click Open. Figure 13. Collapsing and Expanding the Display

Rev. 0 | Page 7 of 40
AN-905

06683-011
Figure 14. VisualAnalog Main Form

Rev. 0 | Page 8 of 40
AN-905
SETTING CANVAS PROPERTIES Collapse Window when Opened allows you to collapse the
VisualAnalog allows you to set properties that describe the main window when this canvas is opened in the future. It
canvas and the way it behaves. To access the canvas properties, permits opening the canvas in a more formal mode without
click Canvas > (Display Name) Properties… if a blank canvas showing the canvas itself.
is opened, (Display Name) appears as Untitled. Lock Canvas allows you to lock the canvas from further layout
changes. You can still change component settings when this is
set, but you cannot alter the physical layout and connectivity of
your canvas.
PLACING COMPONENTS
To place a component on the canvas, either double click the
item in the Components tree or drag the item and drop it on
the canvas. Dragging the item gives more control over

06683-013
component placement.
Figure 15. Canvas Properties Menu

Use the Canvas Properties form to adjust the properties of a


particular canvas.
06683-014

06683-017
Figure 16. Canvas Properties Form

The Display Name refers to the name that appears on the Figure 19. Placing a Component
canvas button. This is the title for the canvas. Sample placements of components are shown in Figure 19
in the following order: Tone Generator, ADC Model, Input
06683-015

Formatter, Data Router, Window Routine, FFT, FFT


Figure 17. Display Name Analysis, and Graph.
You can also enter a description of the canvas. For a brief summary of the functionality of each component,
see the Components Overview section. The canvas should look
similar to Figure 20, disregarding any component placement
06683-016

differences.
Figure 18. Description

Rev. 0 | Page 9 of 40
AN-905

1 2 3 4

5 6 7

06683-018
Figure 20. Sample Component Placement

CONNECTING COMPONENTS If the wire is not connected, it appears red. As soon as you apply
To connect two components together, place a wire from the the connection, the color changes.
output node of one component to the input node of another, Figure 21 illustrates the process of connecting the first output node
or vice versa. To place a new wire, use one of the following of the Tone Generator to the first input node of the ADC Model.
techniques: For this example, place eight more wires. Figure 22 shows the
• Click the node, drag the new wire to another component, canvas after making the remainder of these connections. Your
and click again to connect. canvas should look similar to this Figure 22.
• Drag the new wire to another component.

Rev. 0 | Page 10 of 40
AN-905

06683-019
Figure 21. Connecting Components

Rev. 0 | Page 11 of 40
AN-905

06683-020
Figure 22. Sample Connections

When you connect and move components, wires route on the


canvas automatically. If the diagram begins to look convoluted,
try reorganizing some components to force the wires to reroute.
To connect the end of an existing wire to a new node, do one of
the following:
• Click a node, drag the opposite end of the wire to another
node, and click again to connect.
• Drag the selected end to another node.
Like physical wires, wires in VisualAnalog carry information
between components. Although it is transparent to the user in

06683-021
most cases, a wire can transfer one of several different data types.
See the Data Types Overview section for more information.
Figure 23. Tone Generator Settings
ADJUSTING COMPONENT PARAMETERS 2. In ADC Model, click the Settings… button and click Open
Some components have adjustable parameters. The steps that to browse for and select the AD6645_105.adc model file.
follow show how to generate a simple waveform as input for an This file is located in the Models\ADC subdirectory in the
ADC model and display FFT and time domain results. VisualAnalog path. When the model opens, the file name
1. In Tone Generator, set the Sample Frequency (MHz) to appears in the Model File text box, along with information
105. Also, change the Samples text to 16384, by using the about that model in the Properties grid (see Figure 24).
drop-down arrow or entering the text manually. Update the Click OK.
Use Composite Amplitude (dB) to −1 (because you are
evaluating ADC performance).

Rev. 0 | Page 12 of 40
AN-905

06683-024
Figure 26. Resizing the Graph

Next, resize the Analysis Results panel on the left side of the
Graph component by positioning the mouse cursor over the
vertical divider bar and drag to a new location (see Figure 27).

06683-022
Figure 24. ADC Model and Settings Form

06683-025
3. In Input Formatter (see Figure 25 through Figure 27),
click the Settings….button Then change the Number
Figure 27. Resizing Analysis Results
Format to two’s complement. Next, change both the
Resolution and Alignment to 14. Click OK. Notice that there are two wires connected to the graph. This is
because we have routed ADC samples to the graph as well as the
FFT results. If you want to see the time domain representation
of the data, you can click the Toggle Additional Plot button to
view the second plot.

06683-026
Figure 28. Toggle Additional Plot

UPDATING RESULTS
After making all required adjustments, you are ready to update
the results of the canvas. There are three ways to update the
canvas
• Press the Shortcut Key F5 or Ctrl + F5.
06683-023

• Select the menu command Canvas, click Update or


Canvas, and select Continuous Update.
Figure 25. Input Formatter and Settings Form
• Click Update or Continuous Update on the tool bar.
4. Resize the Graph component by positioning the cursor
After updating, the canvas should look similar to Figure 29.
over the corner resize handle, drag the component out to
a larger size (see Figure 26).

Rev. 0 | Page 13 of 40
AN-905

06683-027
Figure 29. Updated Canvas

MAKING LAYOUT CHANGES Some components, such as the graph, are resizable. Just click,
Most layout changes require that you select an object first. To hold, and drag on the resize handle at the bottom of the
select a component or wire, click the mouse somewhere on the component.
object. If you are trying to select a component, be sure to click You can cut, copy, or paste components and wires to new
somewhere on the body (the header at the top always works). locations or other Canvas windows. To cut or copy, select the
Hold down the Ctrl key to select or deselect more than one desired components. If any selected components are connected,
object. the software copies the connecting wire as well. The appropriate
Alternatively, you can draw a box on the canvas to select objects. Edit commands in the menu or use the standard Windows
Just press the mouse somewhere on the blank canvas, drag, and shortcut keys. To execute the cut, copy, or paste commands, use
release around the objects you wish to select. Ctrl + X, Ctrl + C, or Ctrl + V.

While objects are in a selected state, they can be deleted from You can undo (or redo) parameter changes and layout changes.
the canvas. Click Edit, and select Delete, or just press the VisualAnalog maintains an undo stack and a redo stack of up to
Delete key to remove the selected items. five layers of user actions.

While components are in a selected state, they can be moved to USING THE MENU BAR
a new location. Press the left mouse button to click, hold, and The menu bar provides access to a variety of file and execution
drag one of the selected components to an empty location. Any options using a standard menu format as shown in Figure 30.
connected wires automatically adjust accordingly.

Rev. 0 | Page 14 of 40
AN-905
Tools
External Tools—Displays a form with which the user can
select external programs that VisualAnalog can open. Adding

06683-028
an executable item with this form places a new menu item
underneath the Tools menu.
Figure 30. Menu Bar
Options—Opens the VisualAnalog options form.
File
Window
New—Opens a blank canvas used for building a new
component diagram. Tile Horizontally—Tiles the canvases in a horizontal direction.

Open—Loads an existing canvas using a standard file browser. Tile Vertically—Tiles the canvases in a vertical direction.

Close—Shuts down the current canvas. If you have changed the Cascade—Cascades the canvases.
canvas since the last save, the program asks if you wish to save Canvas Selection—Provides a list of open canvases. From this
before closing. list, the user can select a canvas for editing.
Save—Saves the current canvas under the existing canvas file Help
name. If the canvas does not already have a name, the software User Manual—Opens this user manual with the associated PDF
prompts for one before the save. viewer.
Save As—Saves the current template under a new name. About VisualAnalog—Displays the VisualAnalog version
Recent Files—Displays a list of the last five canvas files opened number and other information.
or saved.
USING THE TOOL BAR
Exit—Exits VisualAnalog.
The tool bar provides quick access to common features that are
Edit available on the menu bar.
Undo—Reverses up to the last five actions, including deletion, New Canvas—Opens a blank canvas used for building a new
parameter changes, component placement, and connectivity. component diagram.
Redo—Performs the last undone action again.

06683-029
Cut—Copies the selected objects to the clipboard and then
deletes them from the canvas. Figure 31. New Canvas Button

Copy—Copies the selected objects to the clipboard. File Open—Loads an existing canvas using a standard file
browser.
Paste—Places the items from the clipboard on the canvas. 06683-030

Select All—Selects all items on the canvas.


Delete—Removes all currently selected items from the canvas. Figure 32. File Open Button

View File Save—Saves the current canvas under the existing canvas
file name. If the canvas does not already have a name, the soft-
Components—Displays the Components Tool form if it is not
ware prompts for one before the save.
visible.
06683-031

Canvas
Update—Runs the currently selected canvases by executing the Figure 33. File Save Button
component flow on each canvas.
Update—Runs the currently selected canvases, by executing the
Continuous Update—Causes the selected canvases to run component flow on each canvas.
continuously. When started, the Continuous Update menu
06683-032

item changes to Stop Update. Selecting this stops all processing.


You can also automatically stop continuous update by using the Figure 34. Update Button
Stop Component. See information on the Stop Component for
more details.
Properties—Displays editable properties for the currently
activated canvas (the canvas focused for editing).

Rev. 0 | Page 15 of 40
AN-905
Continuous Update–Runs the selected canvases continuously.
When started, the Continuous Update menu item changes to
Stop Update. Selecting this stops all processing. You can also
automatically stop continuous update by using the Stop
Component. See information on the Stop Component for
more details.

06683-033
Figure 35. Continuous Update and Stop Update Icons

06683-034
USING THE OPTIONS FORM
The options form contains settings that affect the behavior of Figure 36. Options Form
VisualAnalog. You can access the VisualAnalog options form ADC Devices
by clicking the menu Tools and selecting Options.
ADC Devices contains options that affect the behavior of
VisualAnalog when interfacing with ADC data capture boards.
HSC-ADC-EVALC FPGA Configuration allows you to
adjust automatic FPGA configuration settings for the HSC­
ADC-EVALC by selecting one of three options. These options
only have an effect when choosing a template from the startup
form that corresponds to a detected ADC device. For more
information, see the Using the Start-Up Form section.

Rev. 0 | Page 16 of 40
AN-905

DATA TYPES OVERVIEW


VisualAnalog components transfer information through wires. NUMERIC VALUE
The wires themselves can carry any type of data, but most Numeric value contains only a floating-point number. However,
component inputs have limitations on what types of data they some components treat this number as an integer. The Average
can accept. Most components that have an output pass a certain and Peak Hold components both output a numeric value to
type of data to the next component. indicate when their current sequence is finished. The Stop and
You can pass any data type to the Data Grid component which Graph components both can use this value for a control input.
displays an important portion of the data type. For example, See the Components Overview section for more information
when the Data Grid displays Real Waveform Data, it displays about the use of numeric value.
the list of samples.
TONE LIST
REAL WAVEFORM DATA The Tone Generator outputs the tone data type. The tone list
Real waveform data consists of an array of real samples along contains frequency, phase, and amplitude information about the
with the sample frequency. tones generated.
COMPLEX WAVEFORM DATA Note that two numeric formats can occur within VisualAnalog
Complex waveform data consists of an array of complex when using the waveform types. These are normalized data
samples (I and Q) along with the sample frequency. (which the majority of processing components use) and integer
data.
REAL FFT DATA
The ADC Model, ADC Data Capture, and the FIFO4.x
Real FFT data consists of an array of data that is the FFT result Interface components are all output integer data. Follow these
of real waveform data, along with the sample frequency. components with an Input Formatter component to normalize
COMPLEX FFT DATA the data.
Complex FFT data consists of an array of data that is the FFT The Pattern Saver and Pattern Loader components can support
result of complex waveform data, along with the sample either data format as needed by the application. When loading
frequency. a vector file, if the format is uncertain, manually examine it to
determine how to process the file. Integer format should be
ANALYSIS DATA
obvious as either text-readable integers or hexadecimal values,
Analysis data consists of analysis results along with graph data and normalized data format appears as text-readable floating-
and formatting information. This type of data can behave dif­ point numbers. Note that VisualAnalog only assumes hexadecimal
ferently depending on the component that outputs it. Normally, format for files with a .hex extension. To input hexadecimal
this data type is passed straight to a Graph component because values, rename the extension to .hex.
that component displays all the pertinent information. If you
Finally, the DPG Interface always expects integer type format.
send this data to a Data Grid component, it displays the analy­
If the waveform is not already in this format, precede this
sis results portion of the data only.
component with an Output Formatter component.
VALUE COLLECTION
See the Components Overview section for more specific
Value collection consists of parameter and value pairs. information on the requirements of each component.
Components use this data type to display information.

Rev. 0 | Page 17 of 40
AN-905

COMPONENTS OVERVIEW
VisualAnalog provides a variety of components used to

06683-035
accomplish tasks. Though some of these have a fixed mode
of operation, others have a range of adjustable parameters that Figure 37. Settings Button
allow for customizable operation. Some of the components
require you to access a settings form to adjust parameters. To
access these forms, click the Settings button on the component.

BOARD INTERFACES
The following sections are a basic overview of the functionality of the components.

06683-037
06683-036

Figure 38. DAC Pattern Generator Figure 39. HSC-ADC-EVALC (ADC Data Capture Board)

Rev. 0 | Page 18 of 40
AN-905
ADC DATA CAPTURE Output Data—Determines which outputs the component
The ADC Data Capture component is responsible for passes back to the canvas. You can choose multiple outputs that
acquiring data from high speed ADC data capture boards. provide data from multiple core ADC outputs or pass the same
This component interfaces with a wide variety of ADCs, output to multiple processes on the canvas much like the Data
including those with specialty outputs such as power and Router component. Modify the default options for Output
other on-chip measurements. Data with the Add, Remove or Clear buttons. To add a new
selection, simply choose from the available selections in the
An Input Formatter must always follow the ADC Data Select Data drop-down box and click Add. Remove deletes an
Capture component if you want to perform processing within existing Output Data entry. Clear removes all outputs and
the canvas. The only exception to this rule is Logic Analysis. allows a completely new set of outputs to be added.
The Input Formatter takes the resolution and alignment of the
ADC into account when moving data into the environment of In Output Data, set the length to the sample size of the capture
VisualAnalog. For more information on setting up the Input board FIFO or the desired sample size, whichever is less.
Formatter, see the Input Formatter section. Normally, the HSC-ADC-EVALA and HSC-ADC-EVALB
boards have 32-KB devices. It is possible to reconfigure them
Most of the Analog Devices ADC evaluation boards are MSB- with compatible 256-KB devices. The HSC-ADC-EVALC board
justified to 16 bits and, therefore, the Alignment box within the can support various sample sizes, depending on the current
Input Formatter should be set to 16 bits. The resolution on the FPGA configuration.
Input Formatter should be set to the native resolution of the
ADC. Number Format should be set in accordance with the Use the Board Settings tab to set board-related parameters.
data format of the ADC.
Access ADC Data Capture Settings by clicking Settings.
Use the General tab to set parameters about the device you are
using and the data you want to capture.

06683-040
Figure 41. ADC Data Capture Settings Form, Board Settings Tab

FIFO Fill allows you to adjust parameters that are used while
filling the on-board FIFOs with ADC data. Normally, the soft­
ware sends the fill command to the FIFOs and waits a specified
amount of time before reading the data. You can set the delay
time by inserting the desired amount in the Fill Delay (ms)
option.
When you have a slow clock rate, sometimes it is useful to
06683-039

poll the FIFOs for a full flag, which indicates when the FIFOs
Figure 40. ADC Data Capture and Settings Form, General Tab are full. Select the Poll Full Flag check box and then set the
Maximum Poll Time so the software stops polling after a
Capture—Shows the USB devices available. Use this drop-down
certain amount of time if it never receives a full flag. Note that
box to select the board you want to use. Boards appear in the
this setting is not recommended for the HSC-ADC-EVALC
order in which they were connected. If no devices are found,
because the FPGA configuration may not use a full flag.
check the cables and power supplies and click Refresh.
FPGA allows you to adjust FPGA settings specifically for the
ADC—Displays special configurations available for the ADC
HSC-ADC-EVALC board. You can program the on-board
that you are using. Select one or use the Default setting.
Xilinx® FPGA through the USB interface by entering a firmware
Clock Frequency (MHz) —Should be set to the sample rate of file into the Program File text box (click Browse to select one
the device. on disk) and then click Program. You may from time to time
receive an update to FPGA firmware for use with a particular
ADC; manually program it using this method. FPGA firmware
files have a .bin extension.

Rev. 0 | Page 19 of 40
AN-905
DAC PATTERN GENERATOR INTERFACE Table 1. DPG Operating Modes
The DAC Pattern Generator Interface provides access to the Port Mode
physical DPG board via a standard USB interface. This tool P1: LVDS Serialized Clock aligned
handles all of the hardware interfacing and data formatting Clock centered
issues that are required to move data from a software data set P2: LVDS Direct SDR
(vector) to the hardware. Additional information on the DPG is DDR: centered
available at www.analog.com. Note that only one DPG should DDR: coincident
be connected at any given time. When using the DPG along P3: LVCMOS Single port
with other USB devices in VisualAnalog, be sure to connect the Dual port
DPG first.
Data Playback controls playback settings and start/stop
playback and becomes active when the control is fully
06683-041 configured and data is loaded.

Table 2. Data Playback Controls


Figure 42. DAC Pattern Generator Interface Control Description
The DAC Pattern Generator Interface component requires Start Offset Specifies the start location of the playback with
respect to the first vector data value. Must be a
unsigned data that matches the resolution, bit alignment, and multiple of 256 bits (32 bytes).
data format of the DAC. When using VisualAnalog processed Play Length Specifies the data length to playback. Must be a
data, the Output Formatter is required to format the data for multiple of 256 bits (32 bytes).
the DPG device in a numeric format and resolution that the Mode Sets the desired playback mode as follows:
DAC expects. If this is not set properly, incorrect data sent to Loop - File content is played and repeated until
the DAC results in erroneous performance. Consult the DAC the session is stopped.
product data sheet to ensure that the output formatter is set Count - File content is played and repeated the
properly. For more information on setting up the Output number of times specified in the Count field.
Formatter, see the Output Formatter section. Once - File content is played only once on the
output port.
DAC PATTERN GENERATOR CONTROL FORM Count Specifies the playback count. Only active when
Click Settings on the DAC Pattern Generator Interface to the count mode is selected.
open the DAC Pattern Generator Settings form. You can use State Provides general playback status information to
this form to adjust settings on the DPG and control playback of Indicator the user.
patterns. The form consists of four tabs: Setup, Tuning, Debug, Play/Stop Starts/stops a playback session. A vector must be
Button loaded.
and Tx Config.
Tuning
Setup
The Tuning tab holds the controls for data and clock tuning.
Use the Setup tab to set the DPG in the desired operating mode
and to control data playback settings.

06683-043
06683-042

Figure 44. Tuning Tab

Figure 43. Setup Tab Serialized LVDS Tuning holds the controls related to tuning
for the serialized LVDS port.
Configuration allows you to set the DPG in the desired
operating mode.

Rev. 0 | Page 20 of 40
AN-905
Table 3. Serialized LVDS Tuning Controls Tx Config
The Tx Config tab holds controls for transmission features.
Control Description
Retune Manual trigger to retune the clock and data bits on
Button the serialized LVDS port. The alignment type is based
on the selected mode (aligned or centered). Tuning
is automatically performed when playback is started.
LVCMOS Tuning holds the controls related to tuning for the
LVCMOS port.

Table 4. LVCMOS Tuning Controls


Control Description
Delay Specifies the desired delay value. The value range is
from 0 to 1023 (0x3FF) in 10 ps units. This allows a

06683-045
variation of approximately 10 ns.
Load A manual trigger to load the specified delay value Figure 46. Tx Config Tab
Button for the clock and data bits on the LVCMOS port.
Idle Pattern specifies the transmit pattern when there is no
Debug
playback in progress. A four-sample pattern can be generated.
The Debug tab allows you to verify functionality of the DPG. The four-sample values in the pattern are played sequentially,
then looped and played again until a vector file playback or the
feature is disabled.

Table 6. Idle Pattern Controls


Control Description
Enabled Enables/disables the idle pattern generation
feature. When the feature is disabled, zeros are
played on the output port.
Idle Specifies the pattern values. When operating in dual
Pattern stream mode, four patterns must be specified for
Text each of the two streams. The values are played
sequentially from top to bottom.
06683-044

Update Updates the idle pattern in the DPG.


Figure 45. Debug Tab Button
Frequency counter allows readback of the frequency counter PATTERN LIMITATIONS
from the DPG to ensure correct operation. The DPG is useful for playing a large range of user vector
patterns. However, there are a few basic limitations to the data.
Table 5. Frequency Counter Controls
• The sample size of the output vector must be a multiple of
Control Description
16 samples.
Port Selection Selects the output port being used before
reading back the frequency • The minimum vector length is 640 samples.
Frequency Displays the frequency read back from the DPG • The available memory in the DMM sockets limits the
Indicator maximum vector length. Each sample takes two bytes in
Go Button Reads back the frequency counter from the DPG memory. Complex samples count as two samples in
memory.

FIFO4.x INTERFACE
The FIFO4.x interface component handles all interfacing
between the ADC capture board and the software package,
simply moving data from the hardware to the software data set
(vector). This interface exists for compatibility. The preferred
ADC interface is the ADC data capture component.
Additional information is available at www.analog.com/fifo.

Rev. 0 | Page 21 of 40
AN-905
In addition, you can select the channels to enable which devices
are present. The interface supports both dual- and single-
channel devices. Access the output from the ADC data at the
output nodes on the right side of the component. The A and B
channels are output separately, with the A data on the top node
and B data on the bottom node.
An Input Formatter must always follow the ADC Data
Capture component if you want to perform processing within
the canvas. The only exception to this rule is Logic Analysis.
The Input Formatter takes the resolution and alignment of the
ADC into account when moving data into the environment of
VisualAnalog. For more information on setting up the Input
06683-046
Formatter, see the Input Formatter section.

Figure 47. FIFO4.x Interface


Most of the Analog Devices ADC evaluation boards are MSB-
justified to 16 bits and, therefore, the Alignment check box
You can use the ADC data capture board to capture data from within the Input Formatter should be set to 16 bits. The reso­
the high speed ADCs. Interfacing with the data capture board is lution on the Input Formatter should be set to the native
via USB. resolution of the ADC. Number Format should be set in
FIFO configuration allows the sample rate and sample size to accordance with the data format of the ADC.
be set. Although sample rate is relative, sample size may be no
larger than the physical memory available on the FIFOs.
Normally, the HSC-ADC-EVALA and HSC-ADC-EVALB
boards have 32-KB devices. It is possible to reconfigure them
with compatible 256-KB devices. The HSC-ADC-EVALC board
can support various sample sizes, depending on the current
FPGA configuration.

Rev. 0 | Page 22 of 40
AN-905

COMPONENTS MODELS
In many instances, it may be desirable to use behavioral models The model interface allows selection of the desired model,
instead of real devices, such as when test hardware is not avail- setting of the analog input range (the actual analog frequency
able or if a device is in preselection phase. No matter the case, is detected or may be overridden by selecting the Nyquist zone),
VisualAnalog supports converter models in addition to physical and setting any external clock jitter—the default is that used
hardware, enabling a virtual test bench. Currently only ADC during characterization by Analog Devices. Internal device jitter
models are available using the Analog Devices ADIsimADC™ is automatically included and cannot be changed. More infor­
platform. This provides a seamless integration of models into mation about ADIsimADC is available at
the evaluation platform. It is also possible to include both www.analog.com/adisimadc.
models and real devices at the same time to compare predicted When using the ADC Model component, the two input termi­
vs. actual performance. nals on the left represent the input waveform on the top and a
ADC MODEL tone list on the bottom. When connecting to a VisualAnalog
The ADC Model component interfaces with ADIsimADC Tone Generator (see the Tone Generator section). the input
to simulate ADC performance. The model interface provides terminals of the ADIsimADC™ model map directly to the
translation from the analog domain to the digital domain. To output terminals of the Tone Generator. The ADC Model
access ADC Model Settings click Settings. component uses the tone list input to set the spectral center
frequency. When connecting the input to other components,
you can leave the lower input disconnected, and enter the
spectral center manually.
An Input Formatter must always follow the ADC Model
Component if you want to pedrform processing within the
canvas. The only exception to this rule is Logic Analysis. The
Input Formatter takes the resolution of the ADC into account
when moving data into the environment of VisualAnalog. For
more information on setting up the Input Formatter, see the
Input Formatter section.
All Analog Devices models are LSB-justified and, therefore,
the Alignment check box within the Input Formatter should
be set to the native resolution of the model. The resolution on
the Input Formatter should be set to the native resolution of
the model as well. Note that the alignment setting is different
when using the Input Formatter with the ADC Data Capture
component. The number format should be set in accordance
06683-048

with the data format of the ADC model.

Figure 48. ADC Model and Settings Form

Rev. 0 | Page 23 of 40
AN-905

COMPONENTS PROCESSES
These functional blocks provide basic numeric processing asso­ Other components can use the terminal value as an indicator to
ciated with converter testing. These blocks can be cascaded to perform processing only on a nonzero value. Consult the Graph
create more complex evaluation processes. component for more information on how to use it with this
terminal value.
ARRAY MATH
The Array Math component performs array arithmetic on two BIT PROCESSOR
or more inputs. Arrays may be multiplied or added and must be Bit Processor either flips (LSB to MSB or vice versa) or inverts
of the same size. the data set. When using VisualAnalog processed data, the
Output Formatter should precede this component to format
the data in a particular numeric format and resolution. In
06683-049
addition to the process selection, the Bit Resolution should
be equal to the desired precision.
Figure 49. Array Math

AVERAGE
The Average component computes the spectral average from
the provided data. The indicator on the component shows how
many averages have occurred out of the total number of averages.

06683-052
To set the total number of averages, click the Settings button.
To reset the average series, click the Reset button. Figure 51. Bit Processor

BIT SHIFTER
The Bit Shifter component is used to shift the data set bitwise
up or down by the specified number of positions. This has the
effect of multiplying or dividing by a power of 2. The Bit
Resolution and Shift amount must also be set as desired. When
using VisualAnalog processed data, the Output Formatter
should precede this component to format the data in a
particular numeric format and resolution.
06683-051

Figure 50. Average and Settings Form


06683-053

The Average component is most efficient when running a


continuous update. A running average occurs and the average
Figure 52. Bit Shifter
continues until either the user stops the canvas or the number
of runs equals the terminal count. In the second case, Average COMMENT
repeats another series of averages unless a stop block halts the The Comment component allows the user to display comments
canvas programmatically. on the canvas. This is useful to document signal flow, options,
The Average component has two outputs. The top output is or other operations. The Comment component serves no com­
the running average FFT data. The second output is a numeric putational purposes. To edit the Comment, click the ellipses
value that indicates when the average reaches its terminal count (…) and enter the desired text. You can resize the form to fit the
by outputting a nonzero value. context of your comment. It should be noted that the frame of
The Stop component (see the Stop section) can use the terminal the comment is invisible when not selected, showing only the
value from the Average component to halt Continuous Update. text. To locate the frame, click the text to highlight the frame.
In this case, when the Stop component receives a non-zero
value and halts the canvas, the last update presents the final
average.
06683-054

Figure 53. Comment

Rev. 0 | Page 24 of 40
AN-905
COMPLEX WAVEFORM MERGER
The Complex Waveform Merger component merges two real
waveforms into a complex interleaved waveform. The real input
is on the top and the quadrature input is on the bottom.

06683-055
Figure 54. Complex Waveform Merger

COMPLEX WAVEFORM SPLITTER


Complex Waveform Splitter splits a complex waveform into
two real waveforms. The real output is on the top and the
quadrature output is on the bottom. 06683-056

06683-061
Figure 55. Complex Waveform Splitter
Figure 58. FFT Analysis Settings Form, General Tab
DATA ROUTER To access FFT Analysis settings click Settings.
The Data Router component routes a single input to multiple Use the General tab to revert to a preset FFT analysis type.
destinations. This works for all data types. When the two output Currently the preset analysis list consists of Single-Tone
terminals are used, the component adds new outputs auto­ Analysis, Two-Tone Analysis, and Basic DAC Analysis.
matically. You can resize the component to provide room for
more outputs. To use or initialize to a preset analysis, select the type in the
drop-down box and click Initialize. Exit the form and keep
the default settings or make changes that suit your needs.
In the Report frame, you can enable or disable commonly used
06683-057

calculations on FFT data.


Figure 56. Data Router
You can use the User-Defined tab (see Figure 60) to adjust
FFT and customize particular calculations done on the FFT data.
The FFT component translates real or complex data between VisualAnalog supports almost any FFT analysis.
the time domain and the frequency domain. This component
works best with powers of two in size. It can, however, work
with nonpowers of two as well.
06683-059

Figure 57. FFT

FFT ANALYSIS
The FFT Analysis component performs a numerical analysis on
FFT input data to the user’s specification, and outputs analysis
data. By default, the analysis includes normal analysis for ADCs
06683-062

and DACs. The component can tailor to any specific application


as discussed next. To configure the analysis for your application,
Figure 59. FFT Analysis Settings Form, User-Defined Tab
click Settings.

Rev. 0 | Page 25 of 40
AN-905
The grid in the User-Defined tab lists computations that the Single-Side Band–determines how many bins are included in
FFT Analysis component performs on the input data. Note that the given calculation. The text form can be a constant or a
the routine performs these computations in order, from top to simple expression. The units can be bins or megahertz,
bottom. depending on the next column setting.
Name—Sets the display name for this calculation. This display Use Power As—There are six selectable actions on the
name appears wherever the software reports the result to the integrations defined for the analysis.
user, such as in a Graph component, Data Grid, or output to
• Reference—Identifies the fundamental energy. If more than
a file. This can be any combination of letters, numbers, and
one item is a reference, the FFT analysis combines the
symbols. If the display name is empty, the software does not
energies. This can be useful when performing tests where
show the result.
more than one signal may contribute to the reference
Symbol—The character or characters that show up on the FFT power.
graph display. This can be a single character or a string appro­ • Harmonic—Identifies a component whose power is meas­
priate for the application. ured in reference to the Reference. A signal identified as a
Locate—Determines how the spectral component is located. harmonic is included in the SINAD measurement as well
Three methods are available for use and depend largely on the as in the THD.
application. • Spur, Exclude—Identifies spectral content that should not
be included as noise in overall calculations, but reported as
• Frequency—Finds the spectral component by exact fre­
a spur. This is useful if a spurious signal from an external
quency in megahertz. It is important to ensure that the
source is otherwise disrupting performance. Using this
sample rate is properly set or the computed frequency
option removes the effect of the spurious signal on overall
may be in error. The analog frequency, if greater than the
performance.
Nyquist frequency, is automatically aliased to ensure that it
• Spur, Include—Identifies spectral content that should be
references the proper bin in the display.
included as noise in overall calculations, but can otherwise
• Max Power—Finds the spectral component at the maxi­
be of limited interest as a spur. This includes spurs such as
mum bin location in the FFT spectrum. This is most useful
worst other.
for full-scale, single-tone testing where the frequency
• Noise—Identifies spectral content that should be a band
changes often. If the signal is a modulated waveform,
of noise in the spectrum. This setting is useful for narrow­
this method is less reliable than Frequency.
band noise calculations.
• Next Max Power—Finds the next largest signal not already
• Remove—Identifies spectral content to remove from further
selected earlier in the list. This is useful for finding miscel­
calculations. This setting also removes the frequency band
laneous spurious tones, such as a worst other spur in single-
from general FFT calculations.
tone analysis. When using this option, be sure to place this
item after all other items in the spectrum are to be avoided • Custom—Identifies a custom power calculation. This
in the next maximum computation. setting should be used when a power calculation is needed
that cannot be represented by the previous calculation
Freq (MHz)—The analysis uses the Freq (MHz) column when methods.
the Locate method is set to Frequency. This text may
be a constant or a simple expression using any combination Power—The analysis uses the Power column when the Use
of constants or previously defined variables. The supported Power As method is set to the Custom option. The text format
operations are addition, subtraction, division, multiplication, is similar to the Freq (MHz) column in that it can be a constant
and exponential. There is one system-defined constant, fS, or a simple expression. This column can also use previously
which represents the frequency sample rate. defined variables. In this column, a variable represents the
power of its corresponding line item.
Valid expressions include 2 * fund (assuming fund is previously
defined), 2 * f2 − f1 (assuming f1 and f2 are previously defined) Variable—Variable defines local variables used in the measure­
and fS − fund (assuming fund has been previously defined). In ment. These represent the component on the corresponding
addition, simple constants such as 2.3 are also valid, as is f1 − line. Once defined, they are valid in all of the following
2.3. Parentheses are also acceptable, to force the order of calculations. If referencing the variable in the Freq (MHz)
operations, (2 * (f2 − f1)). or Single-Side Band column, the routine uses the frequency
portion of the calculation. If referencing the variable in the
The routine will ignore this column if the Locate method is not Power column, the routine uses the power portion of the
set to Frequency. calculation.
Note that you cannot use a variable in the list before you define
it. Therefore, place all defined variables before their use.

Rev. 0 | Page 26 of 40
AN-905
HILBERT TRANSFORM INVERSE SINC
Hilbert Transform performs a Hilbert transform on a real Inverse Sinc applies the inverse sinc to the time domain series.
waveform to compute the resulting complex waveform. The Both input and output are time domain series. This feature is
output is the complex waveform that consists of the real input useful to correct the magnitude roll-off vs. frequency caused when
waveform as I data, along with its Q data counterpart. digital data is converted back into the analog domain. This
function provides maximum flatness of the largest possible range.

06683-063

06683-067
Figure 60.Hilbert Transform
Figure 64. Inverse Sinc
INPUT FORMATTER
I vs. Q
Input Formatter takes data and converts it from an integer data
type to the normalized format accepted by most VisualAnalog The I vs. Q component formats complex time-domain input
processing blocks. To set the format, click Settings. data into a form that represents a constellation. This component
outputs analysis data that, when plotted, appears as Q data on
the y-axis and as I data on the x-axis.
06683-064

06683-068
Figure 61. Input Formatter

This component converts integer input data from Gray Code, Figure 65. I vs. Q
Unsigned Offset, Two’s Complement, and Signed into nor­
malized signed data. The resolution and bit alignment should LOGIC ANALYSIS
match that of the input data. See the ADC Model, ADC Data Logic Analysis formats the data for display as a logic analysis.
Capture, FIFO4.X Interface, and Pattern Loader sections to Set the High Bit and Low Bit fields to represent the range of
determine how best to set these parameters. valid bits.
06683-065

Figure 62. Input Formatter Settings

INVERSE FFT
06683-130

Inverse FFT translates real or complex frequency data to a real


or complex time waveform. Figure 66. Logic Analysis and Settings Form

When using VisualAnalog processed data, the Output


Formatter should precede Logic Analysis to convert the data
06683-066

to a particular numeric format and resolution. If the data is


already in integer format from a file, ADC Model, or ADC
Figure 63. Inverse FFT Data Capture, Output Formatter does not need to precede
this component.

Rev. 0 | Page 27 of 40
AN-905
MIXER
Mixer performs a complex frequency shift of the input wave­
form and produces real or complex waveform output. For
complex input, the complex output option is required. The
translation frequency may be positive or negative.

06683-070
Figure 67. Mixer

06683-074
OUTPUT FORMATTER
Output Formatter converts normalized VisualAnalog data to Figure 69. Peak Hold Settings Form
integer formats used by the DPG and the pattern saver. The Peak Hold component has two outputs. The top output
Possible output formats include Gray Code, Unsigned Offset, is the running peak FFT data. The second output is a numeric
Two’s Complement, and Signed. Adjust the output bit value that indicates when the peak hold reaches its terminal
resolution and alignment as necessary. count by outputting a nonzero value.
A Stop component (see the Stop section) can use the terminal
value from the Peak Hold component to halt a continuous
update. In this case, when the Stop component receives a non­
zero value and halts the canvas, the last update presents the final
peak hold.
Other components can use the terminal value as an indicator
to perform processing only on a nonzero value. See the Graph
section for more information on how to use the Graph compo­
nent with this terminal value.
POWER/PHASE
Power/Phase converts data from an FFT into magnitude and
phase format. Click Power/Phase to open the options form,
allowing the formats to be set.
06683-072

Figure 68. Output Formatter Settings Form

PEAK HOLD
Peak Hold computes the peak data from the provided data. The
indicator on the component shows how many iterations have
occurred out of the total number of comparisons. To set the
total number of averages, click Settings. To reset the peak hold
series, click Reset.
The Peak Hold component is most efficient when running a
continuous update. A running peak hold occurs and the peak
hold continues until either the user stops the canvas or the
number of runs equals the terminal count. In the second case,
Peak Hold repeats another series of iterations unless a stop
block halts the canvas programmatically.
06683-076

Figure 70. Power/Phase and Settings Form

Rev. 0 | Page 28 of 40
AN-905
RESAMPLER SUBSET
Resampler resamples the input waveform to a given output Subset extracts a portion of the data, based on a given starting
sample rate. Use this component for up or down sampling. point and length, for further processing. This is often useful if
only a portion of the data set contains valid information.

06683-077
Figure 71. Resampler

06683-081
RESOLUTION FORMATTER
Figure 75. Subset
Resolution Formatter rounds or truncates the input data to a
given bit resolution. There is an additional option for clipping WAVEFORM ANALYSIS
the data. Waveform Analysis performs analysis on input time-domain
waveform data and outputs analysis data. Maximum, minimum,
range, and average are all calculated.

06683-118
06683-078

Figure 76. Waveform Analysis


Figure 72. Resolution Formatter
WINDOW ROUTINE
SCALAR MATH
Window Routine allows you to apply a window function to
Scalar Math performs a user-selected mathematical operation time-domain data using either a Hanning or a Blackman-
on arrays using a signed scalar input provided by the user. Harris window. There is also an option for no windowing.
Operations available include multiply, add, divide, and subtract.

06683-082
Figure 77. Window Routine
06683-079

Figure 73. Scalar Math

STOP
The Stop component can halt operation when run in con­
tinuous mode. Some components such as Average output an
indicator when the terminal count expires. Route this indicator
to the Stop component to halt continuous execution.
06683-080

Figure 74. Stop

Rev. 0 | Page 29 of 40
AN-905

COMPONENTS RESULTS
DATA GRID To zoom using the box drawing methods, position the cursor
Data Grid displays data in a tabular format. This works on all on the upper left of the desired region, drag to the lower right
data sets both in time and frequency domains. It also works of the region.
with most other data types. Graph Toolbar
Copy data from the Data Grid and paste it into other applica­ There are several tool buttons on the graph component to
tions such as Excel®. Highlight the data, copy the data to the extend the graph functionality.
clipboard, and paste into the new application. To select the • Float Form removes the user interface from the compo­
entire grid, select the first item in the list and use Ctrl + Shift + nent, and places it on a floating form.
End to select all items. Then copy data to the clipboard. • Settings shows the Settings form.
• Show Analysis Results toggles the visible state of the results
panel on the left side of the component. This panel is
useful when looking at analysis results and plot data.
• Toggle Additional Plot toggles the visible state of a second
plot. This is useful when looking at more than one type of
data (for example, FFT and time data).
• Save Data As allows you to choose from the currently
plotted analysis data and save to a comma-separated values
(.csv) file.
• Append Results File(s) allows you to append analysis
results only to files selected in the Graph Settings. See
the Graph Settings section for more information.

06683-095

Zoom – Restore restores the zoom-state of the selected


plot(s) to the default coordinates for the current data type
Figure 78. Data Grid Form on the plot(s).
GRAPH • Zoom – Coordinates prompts the user for coordinates and
Graph displays plot data from all types of processes. It allows sets the bounds of the selected plots(s) to those coordinates.
multiple inputs on the same plot by overlaying data sets of • Zoom – Box sets the current zoom mode to box. Drawing
different colors. The graph allows a second plot option when a box causes the plot to zoom to the coordinates of the box
there is more than one data type routed to the component. drawn on the plot. If the other plot is selected, it zooms
proportionally.
• Zoom – Horizontal sets the current zoom mode to
horizontal. Drawing a box causes the plot to zoom to the
horizontal coordinates of the box drawn on the plot. If the
other plot is selected, it zooms proportionally.
• Zoom – Vertical sets the current zoom mode to vertical.
Drawing a box causes the plot to zoom to the vertical
coordinates of the box drawn on the plot. If the other plot
is selected, it zooms proportionally.
Graph Settings
06683-096

To access Graph Settings click Settings.


Figure 79. Graph General
Each plot has an LED indicator at the top left that shows the Use the General tab to set parameters that affect the behavior of
selected state of the plot. If you would like to select the plot for the component.
zooming, click the frame and make sure the LED is green. If the
plot is unselected, the LED is red.
If two plots are used, zoom in on or restore both. When zooming
using the box drawing methods, the plots zoom proportionally.

Rev. 0 | Page 30 of 40
AN-905
Save the floating form to an image file automatically by
selecting the Save form automatically on check box. You
can choose every update or only updates in which a non-zero
control value is supplied. In order to use this feature, specify a
file name in the text box.
Unless you want to overwrite previously saved files, make sure
to select Insert date/time in file name so that VisualAnalog
creates a new file for each save (see Figure 81).
Data Settings

06683-097
You can use the Data Settings tab to adjust settings that affect
the behavior of analysis data routed to the graph.
Figure 80. Graph Settings Form, General Tab

The Display portion of the General tab allows you to set the
text displayed across the title bar of the graph component. You
can also append the current date and/or time.
The Graph portion of the frame gives a refresh option for
the component. If you choose to refresh graph data on every
update, the plots refresh every time the canvas updates. If you
select Non-zero control value, the graph only updates when
sent a nonzero value from another component on the canvas.
This option is useful with the Average and Peak Hold compo­

06683-099
nents. By routing the second output from one of these to an
input node on the graph, you can make the graph update on
Figure 82. Graph Settings Form, Data Settings Tab
the last average or peak hold operation in a series.
Use the drop-down box to select an input node for which you
The Results portion of the frame allows you to set component
would like to set data properties. These are listed with Input 1
behavior in dealing with results files. For example, to append to
as the first node.
these files automatically during canvas updates, choose every
update or only updates in which a nonzero control value is • Display Name is displayed at the top of the data set in the
supplied. To pick results files for data, use the Data Settings tab. analysis results frame on the graph component. This setting
Graph Window only affects analysis data.
• Device is displayed along with the analysis results in the
Use the Graph Window tab to adjust settings that affect the
analysis results frame.
behavior of the float form accessible from the graph component.
• Comments allow for a multiple- line comment displayed at
the end of the data set in the analysis results frame. If you
wish to enter multiple lines, press Ctrl + Return to start a
new line. You can also select the plot to which the data is to
be routed. Autoselect selects the plot based on the data
type.
• Results File Allows you to pick a results file you are to
append to for this data set. Do not write to the file just by
selecting this box and picking the file name. This action
merely selects the file for the particular data set. To write
to the selected file for a data set, you can either select the
06683-098

Append Results File(s) tool button, or append the file


automatically using the options on the General tab of the
Figure 81. Graph Settings Form, Graph Window Tab
Settings Form.
If Float automatically is selected, the floating graph form pops
up automatically when the canvas is updated. Plot Settings
Use Plot Settings to adjust settings that affect the behavior of a
plot on the graph component.

Rev. 0 | Page 31 of 40
AN-905
PATTERN SAVER
Pattern Saver saves a vector to a data file. Data can be I, I/Q
interleaved, or I/Q separate files. The component saves data in
hexadecimal or decimal format. Note that to write in hexadeci­
mal format, use a .hex file extension.

06683-100
Figure 83. Graph Settings Form, Plot Settings Tab

Use the drop-down box to select a plot whose properties you


want to adjust.
Turn highlights on/off using the Show Highlights check box.
Highlights draw attention to certain parts of graphed data. For
example, FFT Analysis uses highlights for harmonic bin

06683-103
leakages on an FFT plot.
Turn labels on/off using the Show Labels check box. Labels are Figure 85. Pattern Saver Settings Form
any text labeling data in a plot. For example, the FFT Analysis
Click Settings to access the Pattern Saver Settings form (see
can use a 2 to label the second harmonic.
Figure 85).
Graph Form From the settings form, load the pattern file(s). First, select the
When a graph is floated, the contents of the graph component file format in the drop-down box at the top of the page. Second,
appear on a floating form. All of the tool bar buttons appear and enter an output file name by typing a file name manually or
continue to work as previously described. You can also manu­ click Browse and browse for an output directory and file name.
ally save or print the form image. If you use I/Q separate files format, you need to enter a second
File > Save Form As–Saves the form image to a file. file as well.
File > Print–Sends the form image to a printer. You can select the Save on Run check box to have the compo­
nent write to the file when the canvas updates. If this is not
If you exit the form, the form disappears and the contents
selected, use the Save button on the front of the component to
appear back in the component.
manually write to the file.
If you select Append Existing check box, VisualAnalog
appends to existing files instead of overwriting. If you want
the component to write to a series of files, select the Insert
Date/Time in File Name check box.
06683-101

Figure 84. Graph Form

Rev. 0 | Page 32 of 40
AN-905

COMPONENTS SOURCES
FILTER MASK PATTERN LOADER
Filter Mask defines a single-sided spectral mask that can be Pattern Loader loads a vector from a data file. Data file format
applied to any frequency domain signal. This mask can be any may be I only, I/Q interleaved, or I/Q separate files. The compo­
type of filter, including low-pass, band-pass, high-pass, band- nent loads data in hexadecimal or decimal format. Note that the
reject, multi-pass, or multi-reject options. pattern loader assumes hexadecimal format only when it
You can adjust the filter shape by entering the frequency and encounters a .hex file extension.
the power level in the Mask Points table. In addition, the initial
gain, sample frequency, and sample size can be determined.
Figure 86 defines a low-pass filter with a stop band rejection
of −100 dB.

06683-108
Figure 88. Pattern Loader

To use the Pattern Loader component, first select your file format
in the drop-down box at the top of the component. Second,
enter an output file name by typing a file name manually or
click Browse and browsing for an output directory and file
name. If you use I/Q separate files format, then you need to
enter a second file as well.
Use the Sample Frequency text to enter the sample frequency
of your data.
06683-105

Select the Load on Run check box to have the component read
Figure 86. Filter Mask Settings Form from the file when the canvas updates. If this is not selected,
GAUSSIAN NOISE you can still use the Load button on the front of the component
to read the file.
Gaussian Noise generates Gaussian time-domain noise with an
approximately normal distribution.
As shown in Figure 87, the sample frequency and sample size
can be set. In addition, the output can be set to complex if
complex Gaussian noise is required.
06683-107

Figure 87. Gaussian Noise Settings Form

Rev. 0 | Page 33 of 40
AN-905
TONE GENERATOR Set parameters for each tone in the CW Tones table. The
Tone Generator generates ideal sine waves. This block allows desired frequency can be typed into the Frequency (MHz) grid.
the sample frequency and data size to be specified. Use the The coherent value is calculated and placed in the Actual grid.
composite amplitude text to set the amplitude of multiple tones The coherent value is the one used unless the Non-integer
relative to 0 dB. The Use Composite Amplitude check box Cycles check box is selected. The relative amplitude of the tone
always normalizes each tone so that the composite amplitude can be set in the Amplitude grid as well as the Phase grid. If
equals the value entered here. If you would like the amplitude additional tones are required, add them by clicking Add and
of each tone to reflect the actual value typed in the Amplitude repeating the process.
column, clear the Use Composite Amplitude check box.

06683-109

Figure 89. Tone Generator

Rev. 0 | Page 34 of 40
AN-905

VisualAnalog EXAMPLE CANVASES

06683-113
Figure 90. ADC with ADC Data Capture Board

ADC WITH ADC DATA CAPTURE BOARD ADIsimADC MODEL FILE


VisualAnalog is ideal for capturing and processing data from Figure 91 shows how to build and use VisualAnalog to stimulate
an ADC with one of the ADC data capture boards provided by and test ADIsimADC models, which can be downloaded from
Analog Devices. Figure 90 shows a template used to capture and http://www.analog.com/adisimadc. This template allows both
process ADC data. Here, the ADC samples are converted to the encode rate and analog stimulus to be adjusted. Because the
normalized VisualAnalog data where it is windowed, processed tone generator allows multiple frequencies, it is an ideal tool for
with an FFT, and then analyzed to produce information about testing two-tone performance of the ADC.
SNR and spurious signals. When selecting a model, ensure that the device can support the
sample rate specified on the tone generator. When the model is
driven with sample rates higher than specified, the model produces
only zeros on the output. Similarly, adjust the Input Formatter
for both output format and bit precision to match the ADC. In
general, the Input Formatter should be set so that resolution
and alignment are the same as the bit precision of the model.

Rev. 0 | Page 35 of 40
AN-905

06683-110
Figure 91. ADIsimADC Model File

In Figure 91, a Tone Generator generates a single sine wave at A variation of this template can be used for testing converters
70.3 MHz with a sample clock of 122.88 MSPS. This vector is with complex inputs. Because data is easily loaded from a file,
sent to the AD9246 ADIsimADC converter model where it is the model can easily be stimulated with complex waveforms
digitized and converted to bits. The Input Formatter then loaded from a file. This is useful for studying the behavior of
converts this digitized data into the normalized format proc- the ADC when stimulated from complex data.
essed by most of the blocks within VisualAnalog. The FFT
component calculates the FFT of this data and the FFT Analysis
component performs an analysis on the data. The resulting
data appears on the graph along with the analysis results.

Rev. 0 | Page 36 of 40
AN-905

06683-111
Figure 92. Complex Data Analysis with ADIsimADC

Figure 92 shows a complex data set that is loaded and split combined back into complex notation. The I vs. Q component
into real and imaginary components (I and Q) and then is used to plot the information of the constellation and the data
digitized by dual ADCs. The output of the ADCs is then is also processed with an FFT component to view the spectral
formatted back to the normalized VisualAnalog format and content of the complex signal.

Rev. 0 | Page 37 of 40
AN-905

06683-112
Figure 93. Loading the DPG with a Simple Vector

LOADING THE DPG WITH A SIMPLE VECTOR domains before it is sent to the DPG. This allows comparison
Figure 93 shows how to load a simple vector from a file and between the actual and ideal waveforms. In this example, after
then pass it to the DPG for use with one of many standard the file is loaded, it is converted into the normalized VisualAnalog
DACs. Depending on the DAC, data can be real data or data type and processed in both the time and frequency
complex data. domains for display on the graph. The data is then converted
back into the proper format to be passed to the DPG for
A benefit of using VisualAnalog to load vectors to the DPG reconstruction with the external DAC hardware.
is that the signal can be viewed in both time and frequency

Rev. 0 | Page 38 of 40
AN-905

06683-114

Figure 94. Loading the DPG with a Complex Vector

LOADING THE DPG WITH A COMPLEX VECTOR frequency shift it, and add a CW tone to the data set. This data
is finally sent to the DPG. Once in the DPG, the data can be
VisualAnalog can be used to load a simple vector from a file passed to an appropriate DAC to generate the desired analog
and then manipulate that file before it is sent to the DPG. waveform.
Figure 94 shows how to load a file, duplicate the vector and

Rev. 0 | Page 39 of 40
AN-905

NOTES

©2007 Analog Devices, Inc. All rights reserved. Trademarks and


registered trademarks are the property of their respective owners.
AN06683-0-4/07(0)

Rev. 0 | Page 40 of 40

You might also like