Last Modified: January 12, 2018

Computes the inverse Chirp-Z transform of a sequence.

The complex valued input sequence.

The length of **chirp-z{x}** must be greater than or equal to **number of samples**.

Length of the sequence after the inverse Chirp-Z transform.

**number of samples** must be less than or equal to the length of **chirp-z{x}**. If **number of samples** is less than or equal to 0, the node sets **number of samples** to the length of **chirp-z{x}**.

**Default: **-1

The point at which this node begins evaluating the Chirp-Z transform.

If **starting point** is 0, the node returns an error.

**Default: **1 + 0i

The increment between each point to evaluate for the Chirp-Z transform.

**increment** cannot be 0.

Avoiding Singular Cases of the Inverse Chirp-Z Transform

To avoid singular cases of the inverse Chirp-Z transform, **increment** must be different from where and *N* is **number of samples**.

**Default: **1 + 0.1i

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

The inverse Chirp-Z transform of the complex valued input sequence.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

If *Y* represents the input sequence **chirp-z{x}**, the following equation shows how this node performs the Chirp-Z transform to obtain the output sequence **x**:

${y}_{k}=\underset{n=0}{\overset{N-1}{\sum}}{x}_{n}{\left(A{W}^{-k}\right)}^{-n}$

for *k*=0, 1, ..., *M*-1

where

*N*is the length of**x**(**number of samples**)*M*is the length of**chirp-z{x}***A*is the**starting point***W*is the**increment***X*_{n}is the*n*^{th}element of**x***Y*_{k}is the*k*^{th}element of**chirp-z{x}**

This node employs a convolution-based method to implement the inverse Chirp-Z transform according to the following equations.

${x}_{n}={h}_{n}\times {m}_{n}$

with

${h}_{n}=\{\begin{array}{c}\begin{array}{cc}\underset{k=0}{\overset{N-1}{\sum}}{C}_{k}{y}_{k}{z}_{k}^{n}& n\ge 0\end{array}\\ \begin{array}{c}\begin{array}{cc}0& n<0\end{array}\end{array}\end{array}$

where

${C}_{0}=\underset{p=1}{\overset{N-1}{\prod}}1/(1-{W}^{-P})$

${C}_{k}/{C}_{k-1}=(1-{W}^{k}{W}^{-N})/(1-{W}^{k})$

$k=1,\text{\hspace{0.17em}}2,\mathrm{...},\text{\hspace{0.17em}}N-1\text{\hspace{0.17em}}$

${z}_{k}=0,\text{\hspace{0.17em}}1,\text{\hspace{0.17em}}\mathrm{...},\text{\hspace{0.17em}}N-1$

*m*_{n} can be obtained from its z-transform M(z):

$M\left(z\right)=\underset{p=0}{\overset{N-1}{\prod}}(1-zp{z}^{-1})$

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application