# cost

Estimate cost of implementing filter System object

## Syntax

``c = cost(sysobj)``
``c = cost(sysobj,Arithmetic=arithType)``

## Description

example

````c = cost(sysobj)` returns a structure, `c`, whose fields contain information about the computational cost of implementing the filter System object™, `sysobj`.```
````c = cost(sysobj,Arithmetic=arithType)` returns a cost estimate `c` for the filter System object `sysobj` in the arithmetic specified by `arithType`.```

## Examples

collapse all

This example shows how to compute the cost of implementing an FIR Filter created using `dsp.FIRFilter` object.

```Fs = 8000; Fcutoff = 2000; firFilt = dsp.FIRFilter('Numerator',designLowpassFIR(FilterOrder=130,CutoffFrequency=Fcutoff/(Fs/2))); cost(firFilt)```
```ans = struct with fields: NumCoefficients: 131 NumStates: 130 MultiplicationsPerInputSample: 131 AdditionsPerInputSample: 130 ```

## Input Arguments

collapse all

Arithmetic used in the filter analysis, specified as `'double'`, `'single'`, or `'Fixed'`. When the arithmetic input is not specified and the filter System object is unlocked, the analysis tool assumes a double-precision filter. When the arithmetic input is not specified and the System object is locked, the function performs the analysis based on the data type of the locked input.

The `'Fixed'` value applies to filter System objects with fixed-point properties only.

When the `'Arithmetic'` input argument is specified as `'Fixed'` and the filter object has the data type of the coefficients set to `'Same word length as input'`, the arithmetic analysis depends on whether the System object is unlocked or locked.

• unlocked –– The analysis object function cannot determine the coefficients data type. The function assumes that the coefficients data type is signed, has a 16-bit word length, and is auto scaled. The function performs fixed-point analysis based on this assumption.

• locked –– When the input data type is `'double'` or `'single'`, the analysis object function cannot determine the coefficients data type. The function assumes that the data type of the coefficients is signed, has a 16-bit word length, and is auto scaled. The function performs fixed-point analysis based on this assumption.

To check if the System object is locked or unlocked, use the `isLocked` function.

When the arithmetic input is specified as `'Fixed'` and the filter object has the data type of the coefficients set to a custom numeric type, the object function performs fixed-point analysis based on the custom numeric data type.

## Output Arguments

collapse all

Cost estimate, `c` contains the following fields:

Estimated Value

Description

`NumCoefficients`

Number of filter coefficients (excluding coefficients with values 0, 1 or -1)

`NumStates`

Number of filter states

`MultiplicationsPerInputSample`

Number of multiplication operations performed for each input sample

`AdditionsPerInputSample`

Number of addition operations performed for each input sample

## Version History

Introduced in R2011a

expand all