Graph Creation and Options

Different Methods of Creating Graphs

So far, we've seen several ways to create graphs. These methods are listed below.

The first three 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.

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.

Showing a Graph That's Currently Hidden
Showing a Graph That's Currently Hidden

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.

Show Graphs from Main Menu
Show Graphs from Main Menu

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.

Show Graphs from Context Menu
Show Graphs from Context Menu

Using either of these methods results in the Select Graphs to Show dialog being displayed as below.

Selecting Multiple Graphs to Show
Selecting Multiple Graphs to Show

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 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 Property Sheet

You can launch the Graph Properties property sheet in several ways.

Two examples are illustrated below.

The Two Context Menus For Launching the Graph Properties Property Sheet For a Single Graph
The Two Context Menus For Launching the Graph Properties Property Sheet For a Single Graph

When you choose Graph, Properties of Selected Graph from the main menu, a graph picker dialog will be shown as below.

The Graph Picker Dialog
The Graph Picker Dialog

Select the desired graph from the list and either double-click it, press Enter, or press the OK button.

Using any of these methods will cause the Graph Properties property sheet to appear as shown below.

The Graph Properties Property Sheet
The Graph Properties Property Sheet

On the left side of the property sheet are categories of data you can choose to modify. The available categories are 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.

Before delving into the details of setting graph properties, we'll first introduce the two types of Trace Properties property sheets.

The Trace Properties Property Sheet Variants

There are two variants of the Trace Properties property sheet. We'll look at how to launch them below.

The Property Sheet For All Traces of a 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, or by pressing Ctrl+T. This is illustrated below.

The Two Context Menus For Launching the Trace Properties Property Sheet For a Single Graph
The Two Context Menus For Launching the Property Sheet For All Traces of a Graph

Similar to launching the Graph Properties property sheet from the main menu using the graph picker dialog, you can choose Graph, Trace Properties of Selected Graph from the main menu to choose the graph whose traces you wish to modify from a graph picker dialog.

Using any of these methods will invoke the Trace Properties property sheet for a single graph as shown below.

The Trace Properties Property Sheet For a Single Graph
The Trace Properties Property Sheet For a Single Graph

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 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.

Launching the Trace Properties Property Sheet for a Single Trace
Launching the Trace Properties Property Sheet for a Single Trace

This will launch the Trace Properties property sheet for a single trace as shown below.

The Trace Properties Property Sheet for a Single Trace
The Trace Properties Property Sheet for a Single Trace

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.

Graph and Trace Names
Graph and Trace Names

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.

Renaming Graph Traces: Before and After
Renaming Graph Traces: Before and After

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 recommended way to launch the Graph Properties property sheet is to first make sure the graph you wish to modify is currently active, then press Ctrl+G.

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

When you first launch the Graph Properties property sheet, the General property page is shown as illustrated below.

The General Property Page
The General Property Page

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.

The Axes Property Page
The Axes Property Page

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). Otherwise 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 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 optimization 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 has become a standard practice 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.

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 All Traces Property Page
The All Traces Property Page
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.

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.

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).

The Measurements Property Page
The Measurements Property Page

All the measurements you've imported into the project will appear in this list and be available for plotting. This includes any plot-only measurements you may have imported for verification purposes.

The Filter Channels Property Page

The Filter Channels property page is shown below.

The Filter Channels Property Page
The Filter Channels Property Page

Every configuration has a collection of filter channels. All filter channels for all configurations are listed here and can be selected for plotting.

Starting with MSO version 1.1.15, you have the choice of plotting either the entire response of a channel from input to output, or just the output portion. This is of interest to people who are using both input and output filters, and want to look at only the portion of a channel's frequency response that's unique to that sub or speaker. This is to make sure there isn't excessive attenuation of a given sub or speaker relative to the others.

You can also plot only the response of the input (shared) filters. These alternatives are pictured above.

Possible Differences Between MSO and miniDSP Graphs

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.

The Filtered Measurements Property Page

The Filtered Measurements property page is shown below.

The Filtered Measurements Property Page
The Filtered Measurements Property Page

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.

Channel Measurement Associations
Channel Measurement Associations

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.

The Measurement Groups Property Page
The Measurement Groups Property Page

With normal usage of MSO, a Measurement Group represents the predicted response at a listening position. This response is calculated using complex summation of all filtered subwoofer measurements taken at that position. These filtered measurements add up to the predicted frequency response at that listening position. This is illustrated below.

Filtered Measurements Add up to the Response at that Listening Position
Filtered Measurements Add up to the Response at that Listening Position

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 Natural Responses Property Page

The Natural Responses property page is shown below.

The Natural Responses Property Page
The Natural Responses Property Page

The natural response at any listening position is what you'd get without any filtering in the hypothetical case where all the subs are acoustically in phase with one another at all frequencies at that position. At the lowest frequencies, these responses show how much output you could expect with perfect phase matching. At the highest frequencies, they show what the response at that position would be without any phase-related interference between subs (which sometimes gives a hash-like appearance in the combined sub responses).

This type of trace is useful when evaluating results from an SPL optimization run. In the ideal case, the results of such an optimization at each listening position should be pretty close to the ideal "natural response". If it isn't, this could be due to having a combination of ported and sealed subs, possibly requiring an additional all-pass filter in each channel of the sealed subs. It could also point to the need for a polarity inversion in unusual cases.

The number of available traces here will always be equal to the number of positions, regardless of how many configurations there are. This is because the natural curves are calculated only from the raw measurements, and don't depend on any configuration-specific processing in any way.

The Target Curves Property Page

The Target Curves property page is shown below.

The Target Curves Property Page
The Target Curves Property Page

Each configuration has a target curve 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 shifted according to the graph options listed above in the Target Curve Display radio buttons of the All Traces property page. A flat target curve trace can be used to show the reference level by choosing the Shift to reference level option of those radio buttons.

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.

The Trace Properties Property Sheet
The Trace Properties Property Sheet

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:

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.

Enabling the Show Magnitude, Show Phase and Unwrap Phase Checkboxes
Enabling the Show magnitude, Show phase and Unwrap phase Checkboxes

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 all the trace property pages for the graph.

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 all the trace property pages for the graph.

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.

The Trace Properties Property Sheet
The Trace Properties Property Sheet

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. That's because the optimization algorithm for minimizing 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.

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:

This will launch the dialog shown below.

Saving the Capture of a Graph as a PNG File
Saving the Capture of a Graph as a PNG File

This dialog shows the existing dimensions of the graph's window in pixels. Change either the horizontal 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.