---
title: vDSP_biquad_CreateSetupD
framework: accelerate
role: symbol
role_heading: Function
path: accelerate/vdsp_biquad_createsetupd
---

# vDSP_biquad_CreateSetupD

Builds a data structure that contains precalculated data for use by a double-precision cascaded biquadratic filter function.

## Declaration

```occ
extern vDSP_biquad_SetupDvDSP_biquad_CreateSetupD(const double *__Coefficients, vDSP_Length __M);
```

## Parameters

- `__Coefficients`: The input array that contains the double-precision filter coefficients. The number of elements in the coefficients array must be five times the number of sections in the biquad filter.
- `__M`: The number of sections in the biquad filter.

## Return Value

Return Value A pointer to an allocated and initialized biquadratic filter object.

## Discussion

Discussion This function constructs and returns a biquadratic filter object from the coefficients that you specify. You define the __Coefficients array as a series of sections with each containing a set of five coefficients. Specify the order of the coefficients as three feedforward coefficients followed by two feedback coefficients. The following code shows an example of creating a biquad setup object that contains two sections: let section0 = (b0: 0.984764420,                 b1: -1.969528840,                 b2: 0.984764420,                 a1: -1.969331359,                 a2: 0.969726321)

let section1 = (b0: 0.984764420,                 b1: -1.969528840,                 b2: 0.984764420,                 a1: -1.955243388,                 a2: 0.969726321)

let sectionCount = vDSP_Length(2)

let setup = vDSP_biquad_CreateSetupD([     section0.b0, section0.b1, section0.b2, section0.a1, section0.a2,     section1.b0, section1.b1, section1.b2, section1.a1, section1.a2 ],                                      sectionCount) This function allocates memory for its own use. You must call the vDSP_biquad_DestroySetupD function to free the allocated memory.

## See Also

### Creating a single-channel biquadratic filter setup

- [vDSP_biquad_CreateSetup](accelerate/vdsp_biquad_createsetup.md)
- [vDSP_biquad_Setup](accelerate/vdsp_biquad_setup.md)
- [vDSP_biquad_SetupD](accelerate/vdsp_biquad_setupd.md)
