#### Description:

This function creates a new DSBSpecFrame and optionally initialises its attributes.

A DSBSpecFrame is a specialised form of SpecFrame which represents positions in a spectrum obtained using a dual sideband instrument. Such an instrument produces a spectrum in which each point contains contributions from two distinctly different frequencies, one from the `"` lower side band`"` (LSB) and one from the `"` upper side band`"` (USB). Corresponding LSB and USB frequencies are connected by the fact that they are an equal distance on either side of a fixed central frequency known as the `"` Local Oscillator`"` (LO) frequency.

When quoting a position within such a spectrum, it is necessary to indicate whether the quoted position is the USB position or the corresponding LSB position. The SideBand attribute provides this indication. Another option that the SideBand attribute provides is to represent a spectral position by its topocentric offset from the LO frequency.

In practice, the LO frequency is specified by giving the distance from the LO frequency to some `"` central`"` spectral position. Typically this central position is that of some interesting spectral feature. The distance from this central position to the LO frequency is known as the `"` intermediate frequency`"` (IF). The value supplied for IF can be a signed value in order to indicate whether the LO frequency is above or below the central position.

#### Synopsis

AstDSBSpecFrame ∗astDSBSpecFrame( const char ∗options, ... )

#### Parameters:

##### options

Pointer to a null-terminated string containing an optional comma-separated list of attribute assignments to be used for initialising the new DSBSpecFrame. The syntax used is identical to that for the astSet function and may include `"` printf`"` format specifiers identified by `"` %`"` symbols in the normal way.

##### ...

If the `"` options`"` string contains `"` %`"` format specifiers, then an optional list of additional arguments may follow it in order to supply values to be substituted for these specifiers. The rules for supplying these are identical to those for the astSet function (and for the C `"` printf`"` function).

#### Returned Value

##### astDSBSpecFrame()

A pointer to the new DSBSpecFrame.

#### Notes:

- A null Object pointer (AST__NULL) will be returned if this function is invoked with the AST error status set, or if it should fail for any reason.

Copyright (C) 2021 East Asian Observatory