---
name: "rtf_create_bandpass_analytic"
section: "3"
platform: "linux"
package: "librtfilter-dev"
version: "1.1-4+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rtf_create_bandpass_analytic"
---

# rtf\_create\_bandpass\_analytic(3)

Creates an IIR filter estimating the analytic signal in a bandpass.

## NAME

rtf\_create\_bandpass\_analytic - Creates an IIR filter estimating the analytic signal in a bandpass.

## SYNOPSIS

**#include \<rtf\_common.h\>**

**hfilter rtf\_create\_bandpass\_analytic(unsigned int** *nch***, int** *proctype***,**\
                                      **double** *fl***, double** *fh***,**\
                                      **unsigned int** *num\_pole***);**\

## DESCRIPTION

**rtf\_create\_chebychev**() creates a IIR chebychev filter processing *nch* channels of data type specified by *proctype*. The output of the filter is the analytic signal of the bandpassed data between the normalized frequencies *fl* and *fh*. The *num\_pole* parameter specifies the number of poles of the Chebychev filter used as the basis of the analytic filter.

A normalized frequency is the ratio between the absolute frequency and the sampling frequency (i.e. a value of 1.0 refers to the sampling frequency).

The Z-transform of this filter has complex coefficients. So like [**rtf\_create\_filter**(3)](/rtf_create_filter/3.md) the created filter will output complex values keeping the precision specified by *proctype*.

It is important to note that this filter can quickly become unstable as the number of pole specified increased. Please refers to the authors of the library to know the stability domain (TODO: provides the stability domain here)

## RETURN VALUE

Returns the handle to the created filter in case of success, NULL otherwise.

## SEE ALSO

[**rtf\_create\_filter**(3)](/rtf_create_filter/3.md), [**rtf\_destroy\_filter**(3)](/rtf_destroy_filter/3.md)
