Displaying Data With Graphs: The Details
So far, we've seen several ways to create graphs. These methods are listed below.
Different Methods of Creating Graphs
- Create a graph automatically as part of using the Configuration Wizard. [Details]
- Clone an existing configuration and choose the Clone associated graphs option in the Clone Configuration dialog. [Details]
- Select Graph, New Graph from the main menu, or select the Graphs node in the Config View, right-click on it and choose New Graph from the context menu. [Details]
The first two techniques do a lot of the work for you and should be used whenever possible. The third technique of creating graphs manually requires more effort, but is the most flexible.
Showing a Graph That's Not Currently Visible
When you're finished looking at a graph, you can close it by clicking the close button of its tabbed window. The graph will be removed from the display area, but its contents and options are always saved so you can show the graph again at any time.
There are two ways to view a graph that's currently hidden. The first way is to locate its folder in the Data View, then right-click on it as shown below.
Selecting Show Graph displays the chosen graph.
The Select Graphs to Show Dialog
The second way to show currently hidden graphs is by using the Select Graphs to Show dialog. You can launch this dialog in two ways. From the main menu, you can choose Graph, Show Graphs as shown below.
You can also launch the Select Graphs to Show dialog using a context menu in the Data View. This is done by right-clicking on the main Graphs node, then choosing Show Graphs from the context menu as shown below.
Using either of these methods results in the Select Graphs to Show dialog being displayed as below.
This dialog allows you to choose all the graphs you wish to show at once. You can either use the mouse to check the desired checkboxes for the graphs you want to show, or use the keyboard up and down arrow keys to select the graph name, then use the spacebar to check or uncheck the corresponding checkbox. All unchecked graphs will be hidden, and all checked graphs will be shown.
The Property Sheets Used for Modifying Existing Graphs
Once you've created a graph, you'll usually need to change various aspects of its appearance and behavior. There are two types of property sheets you'll use to do this.
- The Graph Properties and the Properties for All Graphs property sheets
- The Trace Properties property sheet and its variants
The Graph Properties Property Sheet Variants
There are two different versions of the Graph Properties property sheet. Which one you see depends on the method you use to launch it.
The Graph Properties Property Sheet For Single Graphs
The first Graph Properties property sheet variant, used for modifying the properties of a single graph, can be invoked by right-clicking in the Data View or on the graph itself as shown below.
The Graph Properties property sheet will appear as shown below.
On the left side of the property sheet are categories of data you can choose to modify, split up between Format (graph appearance) and Data (which information you want to plot on the graph). Each of these two categories have sub-categories that we'll describe shortly. This property sheet can only be used to change the properties of the particular graph you've chosen via the context menu(s) as described above.
The Properties for All Graphs Property Sheet
If you want to change the properties of more than one graph without launching the above property sheet multiple times, you can choose Graph, Properties from the main menu. This launches the Properties for All Graphs property sheet as shown below.
For this property sheet, you must first choose the graph whose properties you wish to change, then expand the availabe sub-categories of information to display the appropriate property page on which to perform the modifications. The two Graph Properties property sheet variants both use the same property pages, so subsequent discussion will concentrate on the property pages themselves, and the results will apply equally to both Graph Properties property sheet variants.
Before delving into the details of setting graph properties, we'll first introduce the various Trace Properties property sheets available.
The Trace Properties Property Sheet Variants
There are three variants of the Trace Properties property sheet. We'll look at how to launch all three below.
The Trace Properties Property Sheet For a Single Graph
The first type of Trace Properties property sheet is invoked to modify all traces of a given graph. It is launched in a similar way to the Graph Properties property sheet, using context menus of either the Data View or the graph itself. This is illustrated below.
The Trace Properties property sheet for a single graph will appear as shown below.
Each trace has its own property page where you can specify things like trace color, trace thickness and so on. We'll discuss specifics later.
The Trace Properties for All Graphs Property Sheet
To launch the Trace Properties for All Graphs property sheet, choose Graph, Trace Properties from the main menu. The resulting property sheet is shown below.
For this property sheet, you must first choose the graph whose traces you wish to modify, then expand the sub-categories to choose the appropriate property page to modify a specific trace on that graph.
The Trace Properties Property Sheet For a Single Trace
To launch the Trace Properties property sheet for a single trace, go to the Data View, and under Graphs, find the graph whose trace you want to change, then expand the graph node by clicking the + sign to show its traces. Then right-click on the desired trace and choose Properties as shown below.
This will launch the Trace Properties property sheet for a single trace as shown below.
As with the different variants of the Graph Properties property sheet, all variants of the Trace Properties property sheet use the same property pages, so subsequent discussion need only concentrate on the property pages themselves. The results will apply equally to all three Trace Properties property sheet variants.
Graph and Trace Naming
The naming of graphs and their traces is done outside of the Graph and Trace property sheets, by editing the text in the appropriate folder node of the Data View. This is illustrated below.
To change the name of a graph or trace, select the appropriate folder node of the Data View and press F2. The usage of this technique to rename traces is shown below.
All other graph and trace modifications are done using the Graph and Trace property sheets as will be discussed below.
Using the Graph Properties Property Sheet
The most common (and recommended) way to launch the Graph Properties property sheet is to first make sure the graph you wish to modify is currently displayed, then right-click on that graph and choose Graph Properties from the context menu as shown in the image below.
Launching the Graph Properties property sheet shows the General property page as illustrated below.
The Apply button of this property sheet allows you to see the effects of your changes without having to close the property sheet. It is automatically enabled after changes to any property page have been detected.
Property Pages: The Format Category
The Format category of the Graph Properties property sheet is for options that affect the appearance of various graph elements, excluding traces. The property pages in this category will be discussed next.
The General Property Page
The General property page is shown in the image below.
The Graph Title edit control allows you to specify a title that appears above the top x axis. This can be a multi-line title if desired. For a multi-line title, just press Enter after the first line of the edit control to create a new line in the edit control. The lines of the title will correspond to the lines of the edit control.
Unchecking the Show Title checkbox allows you to hide the title if you need more room in your graph. This checkbox should normally be checked.
The Legend controls Right, Left, Top and Bottom allow you to specify the location of the legend. If you don't want a legend, uncheck Show Legend. If you want the legend to be transparent, check the Transparent checkbox.
The Axes Property Page
The Axes property page is shown below.
In the Limits for x axis control group are several controls that allow you to adjust the scaling of the x axis. When Autoscale is checked, the x-axis limits are determined automatically based on the frequency range of your data. When Autoscale is unchecked, you can enter the minimum and maximum x-axis values in the min value and max value fields respectively. If Log frequency axis is checked, the graph will have a logarithmic frequency scale (recommended). If it is unchecked, the x axis will have a linear frequency scale. The Auto Hz/div can only be changed from its default checked state when both Autoscale and Log frequency axis are unchecked. That means it can only be used when the x axis has a linear frequency scale with manual minimum and and maximum frequencies.
The Limits for left y axis control group is similar. The Autoscale checkbox is checked by default, providing full visibility of all traces. This usually results in the minimum and maximum y-axis limit values not being round numbers, which looks messy. Also, if you run an optimization with the y axis set to Autoscale, the scale of the graphs will change dynamically as the optimmization progresses. That can cause a lot of confusion, so the recommended approach is to first use the Autoscale mode to determine the extent of your data, then specify manual scaling for a neat appearance. To use manual scaling, uncheck the Autoscale option and pick convenient round numbers for the minimum and maximum y-axis values, using a 1-2-5 sequence to get a good graph appearance. When Autoscale is unchecked, you can also uncheck Auto dB/div to allow the dB per division to be specified manually. A value of 5 dB/div is a standard practice of sorts with graphs posted to online discussions.
A similar situation also exists with the Limits for right y axis control group. The right y axis is for phase display. The display of phase (to be discussed shortly) defaults to Never unwrap, which means phase traces are by default restricted to the range 0±180°. Therefore the Autoscale option displays phase from -180° to 180°. If you wish to have an unwrapped phase display, you'll want to uncheck Autoscale for the right y axis and set its phase range manually as needed. When Autoscale is unchecked, you can also uncheck Auto deg/div to allow manual specification of the degrees per division for the right y axis.
You can show or hide the x-axis grid lines by checking or unchecking respectively the Show x-axis grid checkbox.
The Grid visibility for y axes options are as follows.
- If only trace magnitude is displayed, only the left y-axis grid lines will be shown.
- If only trace phase is displayed, only the right y-axis grid lines will be shown.
- If both trace magnitude and phase are displayed, only the left y-axis grid lines will be shown.
- Only left y axis: Only the left y-axis grid lines will be shown.
- Only right y axis: Only the right y-axis grid lines will be shown.
- Both left and right: Both the left and the right y-axis grid lines will be shown.
- Neither: Neither the left nor the right y-axis grid lines will be shown.
See the All Traces property page documentation below for how to specify which of these alternatives for the display of graph traces (magnitude-only, phase-only, or both magnitude and phase) you wish to use. The defaults for these settings are usually the most appropriate.
The All Traces Property Page
The All Traces property page is shown below.
The Trace Visibility Radio Buttons
When displaying traces, you can choose between the options Show magnitude only, Show magnitude and phase, Show phase only or Choose for each trace. When the Choose for each trace option is chosen, you can choose which alternative applies for each trace using the Trace Properties property sheet. How this is done is explained in the Trace Properties property sheet documentation below.
The Phase Unwrapping Radio Buttons
You can avoid the "jumps" in the display of phase response vs. frequency by enabling phase unwrapping. You can choose to enable or disable phase unwrapping for all traces, no traces, or allow selecting the option for individual traces in the Trace Properties property sheet.
The Target Curve Display Radio Buttons
Target curves can be displayed in two different ways.
- Shift to reference level (the default for projects created under MSO versions 1.1.1 and later) shows target curve traces shifted so that their level in dB SPL at the highest optimization frequency is set equal to the reference level.
- Normalize to 0 dB (the default for projects created under MSO versions prior to 1.1.1) shows target curve traces normalized so that their level at the highest optimization frequency is set to 0 dB.
Property Pages: The Data Category
The Data category allows selection of property pages that determine which data you wish to plot. When you select an item to be plotted by checking its checkbox, you can press Apply, and the trace will be shown on the graph right away.
There are a number of different types of data that can be plotted, and each data type has its own property page associated with it. These data types are as follows.
- Measurements: The raw sub or main speaker measurements as imported either using eiter the Measurement Import Wizard or using the various measurement import options under the main menu's File submenu.
- Filter Channels: The frequency response of a filter channel, including any shared filters.
- Filtered Measurements: A measurement filtered by the response of the filter channel to which it is associated.
- Measurement Groups: The frequency response of a measurement group. This is computed from the complex summation of the individual measurements in the group.
- Target Curves: The target curve (house curve), of a configuration. If no target curve has been imported, you can still plot the default flat target curve. This can be used as a convenient way to show the reference level.
Each of these property pages will be discussed in turn below.
The Measurements Property Page
The Measurements property page is shown below for a typical example (tutorial-new-8.msop from the tutorial).
All the measurements you've imported into the project will appear in this list and be available for plotting.
The Filter Channels Property Page
The Filter Channels property page is shown below.
Every configuration has a collection of filter channels. All filter channels for all configurations are listed here and can be selected for plotting.
Some miniDSP users have remarked that when they load the biquad information for a channel into their device and display that channel's response in the miniDSP software, the channel response does not always match up with MSO's displayed response for that channel. There are three things you can check to track this down.
- Make sure the correct sample rate has been chosen on the Filter Reports property page of the Application Options property sheet. For the 2x4 HD device, the correct sample rate is 96 kHz. For the non-HD 2x4 devices, the correct sample rate is 48 kHz. If the wrong sample rate is entered in MSO, the biquad coefficients will be wrong and the filter responses won't match. If this is determined to be the case, you must set the correct sample rate, export all channels as biquad text, then import the new biquad text files into the miniDSP.
- The miniDSP software displays only the response of the biquads in the channel, omitting any gain settings. MSO displays the response of all filters and all gain blocks in the channel. This means the MSO plot of a filter channel will almost always be offset somewhat from the display in the miniDSP software.
- The miniDSP software does not have variable y-axis limits for its graphs. If the filter response exceeds the graph limits, it is displayed clipped at the graph limits. This leads some people to assume that the actual response of the filters themselves is clipped in this way, when this is actually a bug in the miniDSP filter response graphs.
The Filtered Measurements Property Page
The Filtered Measurements property page is shown below.
In MSO, each configuration has a collection of filter channels, where each filter channel drives a sub or main speaker. Each filter channel is also associated with a collection of measurements. These measurements are for all the listening positions measured for the sub or speaker that's driven by that channel. An example of this situation is illustrated below.
Each measurement is modified by the frequency response of the channel with which it is associated. The Filtered Measurements you can choose to plot on the graph are these measurements modified by their associated channel's frequency response. The three identifying factors that define such a trace to be plotted are the configuration in which a channel can be found, the name of that channel, and the name of the measurement that channel is filtering.
The Measurement Groups Property Page
The Measurement Groups property page is shown below.
With normal usage of MSO, a Measurement Group represents the complex summation of all filtered subwoofer measurements taken at a given listening position. These filtered measurements add up to the predicted frequency response at that listening position. This is illustrated below.
When you create your configuration with the Configuration Wizard, the wizard automatically adds one such trace for each of the listening positions you defined in the wizard. If you wish to compare configurations on a graph, you'll need to add traces from another configuration to the graph via this property page.
The Target Curves Property Page
The Target Curves property page is shown below.
Each configuration has a target curves associated with it, even if no target curve was imported for the configuration. If no target curve was imported, the target is a flat response. Target curves are scaled according to the graph options listed above in the All Traces property page.
Using the Trace Properties Property Sheet
Once you have specified the data you wish to plot, you may want to customize the appearance of the graph traces representing the data. You do this using the Trace Properties property sheet. This property sheet is shown below. For more information about the different ways you can launch this property sheet, see the topic The Trace Properties Property Sheet Variants.
Property Pages: The Individual Traces Category
When the Trace Properties property sheet is first opened, selection defaults to the Individual Traces category. Each trace has a property page associated with it. These property pages are identical in form, but have data unique to the trace they're associated with. These property pages are described below.
The Property Page For Each Trace
For each trace, you can control the following:
- Magnitude display offset, dB: For each trace, you can supply an offset. This is useful when comparing data of different configurations, to provide separation of the traces.
- Phase display offset, deg: This is useful especially in connection with phase unwrapping, such as when examining the phase responses of various types of filters.
- Plot live data when optimizing: When displaying a trace that is affected by parameter optimization during an optimization run, checking this option shows the trace in an animated fashion as its underlying data changes. This is the default state. You can disable this behavior by unchecking this checkbox.
- Trace color: The color of the chosen trace can be modified here. You can either choose Automatic, or manually change the color using a standard color picker dialog. With the color picker, you can either choose predefined colors or define your own.
- Trace thickness, pixels: Set the trace thickness in pixels here using the spin-button control. The default is two pixels. You can either use the spin control to set the value, or enter a value directly into the edit control. The entered number must be a whole number from 1 through 8 inclusive.
- Show magnitude, Show phase, and Unwrap phase: These checkboxes are normally disabled. You can enable them by using the technique described below.
How to Enable the Show Magnitude, Show Phase, and Unwrap Phase Checkboxes
To demonstrate how to enable the Show magnitude, Show phase, and Unwrap phase checkboxes, we'll need to go back to the Graph Properties property sheet and look at its All Traces property page. It is shown below.
To enable the Show magnitude and Show phase checkboxes of the Trace Properties property sheet, select the Choose for each trace option in the Trace Visibility control group shown above. When you open up the Trace Properties property sheet after making this choice, the Show magnitude and Show phase checkboxes will be enabled in the Trace Properties property sheet.
To enable the Unwrap phase checkbox of the Trace Properties property sheet, select the Choose for each trace option in the Phase Unwrapping control group shown above. After making this choice, the Unwrap phase checkbox will be enabled in the Trace Properties property sheet.
These individual trace options for showing magnitude and phase, and unwrapping the phase are usually not needed. They are provided in case you want to highly customize your graph to have different trace visibility and phase unwrapping display options for different traces. It's almost always easier to use the defaults, which give all the traces the same magnitude and phase visibility and phase unwrapping options. These per-trace customizations are available for those rare occasions for which they might be needed.
Property Pages: The All Traces Category
Selecting All Traces on the left side of the Trace Properties property sheet will cause the Relative Display Mode property page to be displayed.
The Relative Display Mode Property Page
The Relative Display Mode property page is shown below.
Relative Display Mode is a method of displaying frequency responses of measurement groups (listening positions). This display mode shows the difference versus frequency of all listening positions of a configuration from the MLP. To enable this mode, check the Use relative mode to display measurement group traces checkbox.
This display mode was originally created to give a graphical display of seat-to-seat response variations. It should be considered obsolete for two reasons.
- First, the recommended optimization algorithm called Minimize seat-to-seat variations no longer works by trying to minimize the errors of other listening positions relative to the MLP. Instead, it seeks to minimize the error of each listening position (including the MLP itself) from the average curve computed from all listening positions.
- Second, this function has been subsumed by the seat-to-seat variation computations of the Configuration Performance Metrics dialog, which allows for a quantitative measure of seat-to-seat response variation as well as the choice of custom frequency ranges over which to compute them.
Saving Graphs as PNG Files
A graph can be saved to disk as a PNG file without needing to use a screen capture program. To do so, ensure that the graph you want to save in this way is visible. The two ways to save a graph as PNG are:
- Right-click on the graph itself and choose Save as PNG File... from the context menu.
- From the main menu, choose Graph, Save as PNG File...
This will launch the dialog shown below.
This dialog shows the existing dimensions of the graph's window in pixels. Change either the horzontal or vertical dimensions to change the pixel dimensions of the saved PNG file. When you adjust either dimension, the other one will be automatically adjusted to retain the graph's aspect ratio. If you press OK, you'll be presented with a standard Save As dialog. Navigate to the desired directory, choose a name for the file to be saved, and press OK to save the file.