SIGNAL-PROCESSING(3DXML) — Subroutines
Digital
Name
signal-processing − A library of signal processing routines
Description
The signal processing routines are a part of the Digital Extended Math Library (DXML). This library provides subprograms for fast Fourier transforms, convolutions and correlations, and digital filters.
A comprehensive set of Fourier transform functions is provided covering the following options:
•One, two or three dimensions
•Forward or inverse direction
•Multiple 1D Fourier transforms
The convolution and correlation operations complement the signal processing abilities of the Fourier transform. Both periodic and non-periodic versions are supported.
The signal processing library also includes a non-recursive filter that can be used in four ways:
•Lowpass
•Highpass
•Bandpass
•Bandstop (notch)
All FFT, convolution, and correlation routines are available in real and complex versions, in both single and double precision. The filtering routines are only available for single precision, real data.
The following routines are provided for the One-Step Fourier Transform functions. The Subprogram Name is the name of the manual page containing documentation on the subprogram.
| Name | Operation |
| sfft | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, real data. |
| dfft | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, real data. |
| cfft | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, complex data. |
| zfft | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, complex data. |
| sfft_2d | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, real data. |
| dfft_2d | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, real data. |
| cfft_2d | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, complex data. |
| zfft_2d | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, complex data. |
| sfft_3d | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, real data. |
| dfft_3d | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, real data. |
| cfft_3d | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, complex data. |
| zfft_3d | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, complex data. |
| sfft_grp | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of a group of real data. |
| dfft_grp | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of a group of real data. |
| cfft_grp | Calculates, in single-precision arithmetic, the fast forward or inverse Fourier transform of a group of complex data. |
| zfft_grp | Calculates, in double-precision arithmetic, the fast forward or inverse Fourier transform of a group of complex data. |
The following routines are provided for the Three-Step Fourier Transform functions. The Subprogram Name is the name of the manual page containing documentation on the subprogram.
| Name | Operation |
| sfft_init | Calculates internal data structures. |
| sfft_apply | Applies SFFT_INIT’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, real data. |
| sfft_exit | Deallocates the virtual memory allocated by SFFT_INIT. |
| dfft_init | Calculates internal data structures. |
| dfft_apply | Applies DFFT_INIT’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, real data. |
| dfft_exit | Deallocates the virtual memory allocated by DFFT_INIT. |
| cfft_init | Calculates internal data structures. |
| cfft_apply | Applies CFFT_INIT’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, complex data. |
| cfft_exit | Deallocates the virtual memory allocated by CFFT_INIT. |
| zfft_init | Calculates internal data structures. |
| zfft_apply | Applies ZFFT_INIT’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of one-dimensional, complex data. |
| zfft_exit | Deallocates the virtual memory allocated by ZFFT_INIT. |
| sfft_init_2d | Calculates internal data structures. |
| sfft_apply_2d | Applies SFFT_INIT_2D’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, real data. |
| sfft_exit_2d | Deallocates the virtual memory allocated by SFFT_INIT_2D. |
| dfft_init_2d | Calculates internal data structures. |
| dfft_apply_2d | Applies DFFT_INIT_2D’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, real data. |
| dfft_exit_2d | Deallocates the virtual memory allocated by DFFT_INIT_2D. |
| cfft_init_2d | Calculates internal data structures. |
| cfft_apply_2d | Applies CFFT_INIT_2D’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, complex data. |
| cfft_exit_2d | Deallocates the virtual memory allocated by CFFT_INIT_2D. |
| zfft_init_2d | Calculates internal data structures. |
| zfft_apply_2d | Applies ZFFT_INIT_2D’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of two-dimensional, complex data. |
| zfft_exit_2d | Deallocates the virtual memory allocated by ZFFT_INIT_2D. |
| sfft_init_3d | Calculates internal data structures. |
| sfft_apply_3d | Applies SFFT_INIT_3D’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, real data. |
| sfft_exit_3d | Deallocates the virtual memory allocated by SFFT_INIT_3D. |
| dfft_init_3d | Calculates internal data structures. |
| dfft_apply_3d | Applies DFFT_INIT_3D’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, real data. |
| dfft_exit_3d | Deallocates the virtual memory allocated by DFFT_INIT_3D. |
| cfft_init_3d | Calculates internal data structures. |
| cfft_apply_3d | Applies CFFT_INIT_3D’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, complex data. |
| cfft_exit_3d | Deallocates the virtual memory allocated by CFFT_INIT_3D. |
| zfft_init_3d | Calculates internal data structures. |
| zfft_apply_3d | Applies ZFFT_INIT_3D’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of three-dimensional, complex data. |
| zfft_exit_3d | Deallocates the virtual memory allocated by ZFFT_INIT_3D. |
| sfft_grp_init | Calculates internal data structures. |
| sfft_grp_apply | Applies SFFT_GRP_INIT’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of grouped, real data. |
| sfft_grp_exit | Deallocates the virtual memory allocated by SFFT_GRP_INIT. |
| dfft_grp_init | Calculates internal data structures. |
| dfft_grp_apply | Applies DFFT_GRP_INIT’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of grouped, real data. |
| dfft_grp_exit | Deallocates the virtual memory allocated by DFFT_GRP_INIT. |
| cfft_grp_init | Calculates internal data structures. |
| cfft_grp_apply | Applies CFFT_GRP_INIT’s internal data structure to calculate, in single-precision arithmetic, the fast forward or inverse Fourier transform of grouped, complex data. |
| cfft_grp_exit | Deallocates the virtual memory allocated by CFFT_GRP_INIT. |
| zfft_grp_init | Calculates internal data structures. |
| zfft_grp_apply | Applies SFFT_GRP_INIT’s internal data structure to calculate, in double-precision arithmetic, the fast forward or inverse Fourier transform of grouped, complex data. |
| zfft_grp_exit | Deallocates the virtual memory allocated by ZFFT_GRP_INIT. |
The following routines are provided for the Convolution functions. The Subprogram Name is the name of the manual page containing documentation on the subprogram.
| Subroutine Name | Operation |
| sconv_nonperiodic | Calculates, in single-precision arithmetic, the nonperiodic convolution of two real arrays. |
| dconv_nonperiodic | Calculates, in double-precision arithmetic, the nonperiodic convolution of two real arrays. |
| cconv_nonperiodic | Calculates, in single-precision arithmetic, the nonperiodic convolution of two complex arrays. |
| zconv_nonperiodic | Calculates, in double-precision arithmetic, the nonperiodic convolution of two complex arrays. |
| sconv_periodic | Calculates, in single-precision arithmetic, the periodic convolution of two real arrays. |
| dconv_periodic | Calculates, in double-precision arithmetic, the periodic convolution of two real arrays. |
| cconv_periodic | Calculates, in single-precision arithmetic, the periodic convolution of two complex arrays. |
| zconv_periodic | Calculates, in double-precision arithmetic, the periodic convolution of two complex arrays. |
| sconv_nonperiodic_ext | Calculates, in single-precision arithmetic, the nonperiodic convolution of two real arrays. |
| dconv_nonperiodic_ext | Calculates, in double-precision arithmetic, the nonperiodic convolution of two real arrays. |
| cconv_nonperiodic_ext | Calculates, in single-precision arithmetic, the nonperiodic convolution of two complex arrays. |
| zconv_nonperiodic_ext | Calculates, in double-precision arithmetic, the nonperiodic convolution of two complex arrays. |
| sconv_periodic_ext | Calculates, in single-precision arithmetic, the periodic convolution of two real arrays. |
| dconv_periodic_ext | Calculates, in double-precision arithmetic, the periodic convolution of two real arrays. |
| cconv_periodic_ext | Calculates, in single-precision arithmetic, the periodic convolution of two complex arrays. |
| zconv_periodic_ext | Calculates, in double-precision arithmetic, the periodic convolution of two complex arrays. |
The following routines are provided for the Correlation functions. The Subprogram Name is the name of the manual page containing documentation on the subprogram.
| Subroutine Name | Operation |
| scorr_nonperiodic | Calculates, in single-precision arithmetic, the nonperiodic correlation of two real arrays. |
| dcorr_nonperiodic | Calculates, in double-precision arithmetic, the nonperiodic correlation of two real arrays. |
| ccorr_nonperiodic | Calculates, in single-precision arithmetic, the nonperiodic correlation of two complex arrays. |
| zcorr_nonperiodic | Calculates, in double-precision arithmetic, the nonperiodic correlation of two complex arrays. |
| scorr_periodic | Calculates, in single-precision arithmetic, the periodic correlation of two real arrays. |
| dcorr_periodic | Calculates, in double-precision arithmetic, the periodic correlation of two real arrays. |
| ccorr_periodic | Calculates, in single-precision arithmetic, the periodic correlation of two complex arrays. |
| zcorr_periodic | Calculates, in double-precision arithmetic, the periodic correlation of two complex arrays. |
| scorr_nonperiodic_ext | Calculates, in single-precision arithmetic, the nonperiodic correlation of two real arrays. |
| dcorr_nonperiodic_ext | Calculates, in double-precision arithmetic, the nonperiodic correlation of two real arrays. |
| ccorr_nonperiodic_ext | Calculates, in single-precision arithmetic, the nonperiodic correlation of two complex arrays. |
| zcorr_nonperiodic_ext | Calculates, in double-precision arithmetic, the nonperiodic correlation of two complex arrays. |
| scorr_periodic_ext | Calculates, in single-precision arithmetic, the periodic correlation of two real arrays. |
| dcorr_periodic_ext | Calculates, in double-precision arithmetic, the periodic correlation of two real arrays. |
| ccorr_periodic_ext | Calculates, in single-precision arithmetic, the periodic correlation of two complex arrays. |
| zcorr_periodic_ext | Calculates, in double-precision arithmetic, the periodic correlation of two complex arrays. |
The following routines are provided for the Digital Filter functions. The Subprogram Name is the name of the manual page containing documentation on the subprogram.
| Subroutine Name | Operation |
| sfilter_nonrec | Performs the filter operation in one step |
| sfilter_init_nonrec | Initializes a working array |
| sfilter_apply_nonrec | Uses the initialized working array for repeated filtering operations |