# Inverse Chirp-Z Transform (G Dataflow)

Version:

Computes the inverse Chirp-Z transform of a sequence.

## chirp-z{x}

The complex valued input sequence.

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

## 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

## starting point

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

## increment

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 in

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

Default: No error

## x

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

## error out

Error information. The node produces this output according to standard error behavior.

## Algorithm for Computing the Inverse Chirp-Z Transform

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
• Xn is the nth element of x
• Yk is the kth element of chirp-z{x}

## Implementing the Inverse Chirp-Z Transform Using a Convolution-Based Method

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

${x}_{n}={h}_{n}×{m}_{n}$

with

${h}_{n}=\left\{\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/\left(1-{W}^{-P}\right)$
${C}_{k}/{C}_{k-1}=\left(1-{W}^{k}{W}^{-N}\right)/\left(1-{W}^{k}\right)$
$k=1,\text{\hspace{0.17em}}2,...,\text{\hspace{0.17em}}N-1\text{\hspace{0.17em}}$
${z}_{k}=0,\text{\hspace{0.17em}}1,\text{\hspace{0.17em}}...,\text{\hspace{0.17em}}N-1$

mn can be obtained from its z-transform M(z):

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

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported