# Input Specs¶

Fig. 3 shows a typical view of the **Specs** tab where
you can specify the kind of filter to be designed and its specifications in the
frequency domain:

**Response type**(low pass, band pass, …)**Filter type**(IIR for a recursive filter with infinite impulse response or FIR for a non-recursive filter with finite impulse response)**Filter class**(elliptic, …) allowing you to select the filter design algorithm

Not all combinations of design algorithms and response types are available - you won’t be offered unavailable combinations and some fields may be greyed out.

## Order¶

The **order** of the filter, i.e. the number of poles / zeros / delays is
either specified manually or the minimum order can be estimated for many filter
algorithms to fulfill a set of given specifications.

## Frequency Unit¶

In DSP, specifications and frequencies are expressed in different ways:

In pyfda, you can enter parameters as absolute frequency \({{f}}\), as normalized frequency \({{F}}\) w.r.t. to the Sampling Frequency \({f_S}\) or to the Nyquist Frequency \(f_{Ny} = f_S / 2\) (Fig. 4):

## Amplitude Unit¶

Amplitude specification can be entered as V, dB or W; they are converted
automatically. Conversion depends on the filter type (IIR vs. FIR) and whether
pass or stop band are specified. For details see the conversion functions
`pyfda.pyfda_lib.unit2lin()`

and `pyfda.pyfda_lib.lin2unit()`

.

## Background Info¶

### Sampling Frequency¶

One of the most important parameters in a digital signal processing system is
the **sampling frequency** \({\pmb{f_S}}\), defining the clock frequency with which
the registers (flip-flops) in the system are updated. In a simple DSP system,
the clock frequency of ADC, digital filter and DAC might be identical:

Sometimes it makes sense to change the sampling frequency in the processing system e.g. to reduce the sampling rate of an oversampling ADC or to increase the clocking frequency of an DAC to ease and improve reconstruction of the analog signal.

### Aliasing and Nyquist Frequency¶

When the sampling frequency is too low, significant information is lost in the
process and the signal cannot be reconstructed without errors (forth image in Fig. 7)
[Smith99]. This effect is called *aliasing*.

When sampling with \(f_S\), the maximum signal bandwidth \(B\) that can
represented and reconstructed without errors is given by \(B < f_S/2 = f_{Ny}\). This
is also called the *Nyquist frequency* or *bandwidth* \(f_{Ny}\).
Some filter design tools and algorithms normalize frequencies w.r.t. to \(f_{Ny}\)
instead of \(f_S\).

## Development¶

More info on this widget can be found under input_specs.