The Hilbert transform

This package performs a numerical Hilbert transform.

Download Compressed tar-file
or
hilbert.c and hilbert.h

Header file

The program must include the header file
#include "hilbert.h"
and then call hilbert() to perform the transform.

Usage

If delta and kappa are arrays of n doubles, both arrays are allocated by the main program.

The input data are in delta and the call hilbert(n, delta, kappa) will return the Hilbert transform of delta in kappa.

n and delta are not modified.

Compilation

Compile the package using a C-compiler.

If you use a makefile and this makefile looks like this

a.out: a.o b.o c.o
       cc a.o b.o c.o
...
a.o: a.c d.h
       cc -c a.c
...
and you use the package in a.c, change the makefile to look like this
a.out: a.o b.o c.o hilbert.o
       cc a.o b.o c.o hilbert.o
...
a.o: a.c d.h hilbert.h
       cc -c a.c
...
hilbert.o: hilbert.c hilbert.h
       cc -c hilbert.c

Demo

main.c uses the package to perform a Hilbert transform of a semi-ellipsis.

Output from the program is a table.