Graph Creation and Options
Different Methods of Creating Graphs
So far, we've seen several ways to create graphs. These methods are listed below.
- Create a graph automatically as part of using the Configuration Wizard.
- Clone an existing configuration and choose the Clone associated graphs option in the Clone Configuration dialog.
- Clone an existing graph.
- 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.
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.
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 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
- The Trace Properties property sheet
The Graph Properties Property Sheet
You can launch the Graph Properties property sheet in several ways.
-
To launch the property sheet for the currently active graph, you can do the following.
- Press Ctrl+G.
- Right-click on the graph itself and choose Graph Properties.
- From the main menu, choose Graph, Properties of Current Graph.
-
To launch the property sheet for any graph, you have the following choices.
- Right-click on the graph's name in the Data View and choose Graph Properties.
- From the main menu, choose Graph, Properties of Selected Graph.
Two examples are illustrated below.
When you choose Graph, Properties of Selected Graph from the main menu, a graph picker dialog will be shown as below.
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.
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.
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.
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.
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 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 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). 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.
-
Automatic:
- 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 either 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, with various options that may include or exclude 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 normally corresponds to the predicted response at a given listening position. It is computed from the complex summation of the individual filtered measurements (as defined above) in the group.
- Natural Responses: 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).
- 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 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. 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.
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.
- 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, making the actual DSP filter responses wrong as well. If this is determined to be the case, you must set the correct sample rate in MSO, export all channels as biquad text using this new, corrected sample rate, 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 is becoming less common nowadays, as the trend toward maximizing SPL leads to a requirement for eliminating output-channel gain blocks.
- 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 it is actually not. This is a bug in the miniDSP filter response graphs, not in MSO.
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 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.
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 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.
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.
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 subwoofer phase matching at a given listening position. When using this offset, a positive or negative integer multiple of 360 degrees should be used. Otherwise the results could be misleading.
- 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. However, unchecking this option is only needed in very unusual circumstances.
- 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 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.
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:
- 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 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.