Speaker Designer OBJect Model

Object Model

The data model for both the active (ASD) and passive (PSD) programs uses a “loudspeaker object model”.  This model is rich enough to represent the state for a wide range of active and passive systems.  When the program is saved from the Main menu, this object is serialized and saved as an XML file that can be viewed as text, or with an XML viewer such as XML Notepad.  This common object model facilitates interoperability between loudspeaker and amplifier design programs, as the state from one program can be read from another.  Additionally, this common object model allows programs to use common variable names, which can result in better code reuse from one program to another.

The object model is defined in the file “XML_IO.vb”, and it is described in the section below.

top Level

The loudspeaker object model is shown below.  The top-level is designated “PSD”, but the model is the same for the active version of the program.  When a new PSD object is instantiated, the program creates an object that has these attributes (Project, Spkr, Cabinet, Crossover, Amp, etc.).  The decomposition of these attributes is shown in the sections that follow.

Project

The project class, shown below, provides information about the project, such as the designer, code revision, project name and so forth, and it defines the project-wide attributes.  These attributes include the processing attributes (such as the number of samples, sample rate and min/max frequencies), and they also include the chart options (colors, line thicknesses, axis types, etc.).  The project class also is used to keep track of the project status.

SpKR

The speaker class is used to identify the drivers and their configuration.  This class also includes the mapping of the drivers to amplifier channels, which is used for designing active multi-way speakers.

Cabinet

The Cabinet class provides a way of representing all of the attributes required to design the cabinet, including the box, the baffle, and the woofer and its configuration.

Crossover

The Crossover class is defined for a 5-way system, with a Lowpass, Highpass and 3 Bandpass networks.  Each of these networks is defined as a set of components that have values and part numbers.

Amp

The Amplifier class has a number of subclasses that are used for digital amps that have biquads.  These subclasses define the biquad configuration as well as the amplifier type and internal controls that map to registers using chip-specific extensions to this object model.  For the PSD program, the active filters are defined as “conventional” filter types rather than biquads.

Room

The Room class is a placeholder that has not been defined yet.