software

80586/87 Assembler and Object-Pascal-Software. We develope software with special computations on request (MuPAD, Mathematica, Assembler, Object-Pascal).

Applications with Fourier-Transformations
Spectrum - an application
SpectrumExt - an application, for scientific computation
SpectrumExtImag - an application, for scientific computation
SpectrumExtImagCep - an application, for scientific computation
Computer-Graphic - for fun
Appleman - an application, shows the Mandelbrot-Area, any enlargement
Libraries or Subroutines in Assembler for your High-Level-Languages-Programs
fftdll - a library for windows, for scientific computation
specingdll - a library for windows, for scientific computation
real32fft - an external procedure for linking
invreal32fft - an external procedure for linking
real64fft - an external procedure for linking, for scientific computation
invreal64fft - an external procedure for linking, for scientific computation
imag32fft - an external procedure for linking
invimag32fft - an external procedure for linking
imag64fft - an external procedure for linking, for scientific computation
invimag64fft - an external procedure for linking, for scientific computation


Spectrum - a program for experts version 2.7

Spectrum is a program around the problems with series of time-functions and their spectrum for user, who knows what a Fourier-Transformation is. By simple programming it is possible to define series of time-functions, to transform them into the spectral-area and to view by grafic. Manipulations to the spectral-values and transforming back into the time-area can be done. Other tools are the Hanning-valuation and inverse Hanning-valuation. Grafics and tables as linear, logarithm, as phase-spectrum and as time-function. It is also possible to create time series of 16-Bit-Stereo-WAV-Files, to transform them forward and backward and to make a syntheses to a WAV-file.
Define the field as function over apertur on an antenna and make a computation of the direction-diagram, or compute the response from the goal-function of a network or the goal-function from the response.

Subroutines in assembler and optimized.

Screenshots:

     
title
     
log. amplitude-spectrum of an AM
     
phase-spectrum of the AM
     
table of spectral values
     
Spectrum of the left-stereo-channel of the sound-track In-A-Gadda-Da-Vida
from Iron Butterfly. File-lenght 256 MiB. The track has a DC-offset.
For the high frequencies a Low-Pass-Filter was used before burning on CD.
The track was transformed in his hole length. Computations with Spectrum 2.7.
     
Time-function of that sound-track
     
Cepstrum of that sound-track

[beginning][home]


SpectrumExt - a program for experts version 3.1

With SpectrumExt you can make scientific calculations because 8-Byte-Long-Real-numbers are used. It is possible to make the same computations like Spectrum, but the numbers are significant up to 15+1/2 positions and the exponent works upon 324. Because of the memory-usage we do without WAV-handling.

System:
- Pentium 600 MHz
- 16 MiB + (1+1/2) * lenght of time series in byte
- high resolution grafic
- WIN 95, WIN 98, WIN 98 2nd Ed., WIN 2000 Prof., WIN XP Prof., WIN X64
- grafic printer

[beginning][home]


SpectrumExtImag - a program for experts version 3.2

With SpectrumExtImag you can make scientific calculations based on complex series. 8-Byte-Long-Real-numbers are used. The numbers are significant up to 15+1/2 positions and the exponent works upon 324. Because of the complex input function you can use this program for mathematic- and physic- calculations. The FF-transformations, Hanning-valuation and the Discriminator are working max. fast.

[beginning][home]


SpektrumExtImagCep - a program for experts version 3.3

With SpectrumExtImagCep you can make scientific calculations based on complex series. 8-Byte-Long-Real-numbers are used. The numbers are significant up to 15+1/2 positions and the exponent works upon 324. Because of the complex input function you can use this program for mathematic- and physic- calculations. For calculating the CEPSTRUM and inverse CEPSTRUM, this 2 functions are implemented, too,. The FF-transformations, Hanning-valuation and the Discriminator are working max. fast (german version only).

[beginning][home]


Appleman - an application, shows the Mandelbrot-Area, any enlargement

You can enlarge any detail from the Mandelbrot-Area in different colors up to the 80-bit-resolution of the numbers of your computer by marking an area in the graphic with the mouse. The result are fascinating graphics with nearly inexhaustible variety. It is possible to store calculated pictures as bmp-file, open it with Paint, view and print. The largeness of the bmp-files depends upon your video-hardware.

Screenshots:

     
complete Mandelbrot-Area
     
an enlargement of a partition
     
another enlargement of a partition

System:
- Pentium 600 MHz
- True Color Graphic
- WIN 95, WIN 98, WIN 98 2nd Ed., WIN 2000 Prof., WIN XP Prof., WIN X64

[beginning][home]


fftdll - a library for windows, for scientific computation

This fft.dll contains 18 procedures to solve problems around FFTs.
The procedures use SSE2-instructions of the Pentium and FPU-instructions.
The real-data-computations are all made within the 80-Bit-FPU-registers.
For integer-computations SSE2 instructions and XMM-registers are used.
Some procedures requires complex input-data as explained.

In Delphi this procedures will be declared as follows, for other high-level-languages refer to manual:

procedure TestHello();stdcall;external 'fft.dll';
or
procedure real32fft(lpFileName:PChar,lpError:Pointer);stdcall;external 'fft.dll'

- TestHello();
returns a message-box that the fft.dll is loaded correctly

real32fft(lpFileNameString,lpdwErrVar);
makes a FFT of a file of 4-Byte-Short-Reals with real data
(n=2^k real numbers)

invreal32fft(lpFileNameString,lpdwErrVar);
makes an inverse FFT of a file of 4-Byte-Short-Reals with complex data
(n=2^(k-1) real numbers and 2^(k-1) complex numbers)

hanning32(lpFileNameString,lpdwErrVar);
valuates a file of 4-Byte-Short-Reals with the Hanning-Valuation

- invhanning32(lpFileNameString,lpdwErrVar);
makes an inverse Hanning-valuation of a file of 4-Byte-Short-Reals

- real64fft(lpFileNameString,lpdwErrVar);
makes a FFT of a file of 8-Byte-Long-Reals
(n=2^k real numbers)

- invreal64fft(lpFileNameString,lpdwErrVar);
makes an inverse FFT of a file of 8-Byte-Long-Reals
(n=2^(k-1) real numbers and 2^(k-1) complex numbers)

- hanning64(lpFileNameString,lpdwErrVar);
valuates a file of 8-Byte-Long-Reals with the Hanning-Valuation

- invhanning64(lpFileNameString,lpdwErrVar);
makes an inverse Hanning-valuation of a file of 8-Byte-Long-Reals

- imag64fft(lpFileNameString,lpdwErrVar);
makes a FFT of a file of 8-Byte-Long-Reals with complex data
(n=2^k real numbers and 2^k complex numbers)

- invimag64fft(lpFileNameString,lpdwErrVar);
makes an inverse FFT of a file of 8-Byte-Long-Reals with complex data
(n=2^k real numbers and 2^k complex numbers)

- imaghanning64(lpFileNameString,lpdwErrVar);
valuates a file of 8-Byte-Long-Reals with the Hanning-Valuation
(n=2^k real numbers and 2^k complex numbers)

- invimaghanning64(lpFileNameString,lpdwErrVar);
makes an inverse Hanning-valuation of a file of 8-Byte-Long-Reals
(n=2^k real numbers and 2^k complex numbers)

- imag80fft(lpFileNameString,lpdwErrVar);
makes a FFT of a file of 10-Byte-Reals with complex data
(n=2^k real numbers and 2^k complex numbers)

- invimag80fft(lpFileNameString,lpdwErrVar);
makes an inverse FFT of a file of 10-Byte-Reals with complex data
(n=2^k real numbers and 2^k complex numbers)

- imaghanning80(lpFileNameString,lpdwErrVar);
valuates a file of 10-Byte-Reals with the Hanning-Valuation
(n=2^k real numbers and 2^k complex numbers)

- invimaghanning80(lpFileNameString,lpdwErrVar);
valuates a file of 10-Byte-Reals with the inverse Hanning-Valuation
(n=2^k real numbers and 2^k complex numbers)

[beginning][home]


specingdll - für wissenschaftliche Berechnungen geeignet

This specing.dll contains 19 procedures to solve problems around FFTs and digital signal computations.
The procedures use SSE2-instructions of the Pentium and FPU-instructions.
The real-data-computations are all made within the 80-Bit-FPU-registers.
For integer-computations SSE2 instructions and XMM-registers are used.
Some procedures requires complex input-data as explained.

In Delphi this procedures will be declared as follows, for other high-level-languages refer to manual:

procedure TestHello();stdcall;external 'fft.dll';
or
procedure real32fft(lpFileName:PChar,lpError:Pointer);stdcall;external 'fft.dll'

- TestHello();
returns a message-box that the fft.dll is loaded correctly

- real32fft(lpFileNameString,lpdwErrVar);
makes a FFT of a file of 4-Byte-Short-Reals with real data
(n=2^k real numbers)

makes an inverse FFT of a file of 4-Byte-Short-Reals with complex data
(n=2^(k-1) real numbers and 2^(k-1) complex numbers)

- hanning32(lpFileNameString,lpdwErrVar);
valuates a file of 4-Byte-Short-Reals with the Hanning-Valuation

- invhanning32(lpFileNameString,lpdwErrVar);
makes an inverse Hanning-valuation of a file of 4-Byte-Short-Reals

- wavzerl(lpFileNameString,lpdwErrVar);
creates a file of 4-Byte-Short-Reals from a 16-Bit-Stereo-WAV-File

- syn(lpFileNameString1,lpFileNameString2,lpErrVar);
creates a 16-Bit-Stereo-WAV-File from 2 pc. 4-Byte-Short-Reals

- disc(lpFileNameString,lpErrVar);
a noise-discriminator for a spectrum-file

- adsim(lpFileNameSTring,lpErrVar),
simulates a adc on a mathematical computated series

- full(lpFileNameString,lpErrVar);
full amplification for 16-Bit-Stereo-WAV-Files

- filtflt(lpFileNameString,lpErrVar);
FIR (LP, BP, HP)-filter for 4-Byte-Short-Real-Series
with extra program to determine the filter-data

- ampflt(lpFileNameString,dwamp,lpErrVar);
amplification for 16-Bit-Stereo-WAV-Files

- cep32(lpFileNameString,lpErrVar);
amount/angle-CEPSTRUM computation from 4-Byte-Short-Real-spectrum-data

- lncep32(lpFileNameString,lpErrVar);
logarithm CEPSTRUM computation from 4-Byte-Short-Real-spectrum-data

- real32zerpic((lpFileNameString,lpErrVar);
creates a file of 2^k 4-Byte-Short-Reals from a known *.bmp-format

- bmp32fft(lpFileNameString,lpdwErrVar);
makes a 2-D-FFT of a file of 4-Byte-Short-Reals with real input data
(n=2^k real numbers) and creates a new file named *2dft.fft

- bmp1dfft(lpFileNameString,lpdwErrVar);
makes a 1-D-FFT of a file of 4-Byte-Short-Reals with real input data
(n=2^k real numbers) and creates a new file named *1dft.fft

- bmp32cep(lpFileNameString,lpdwErrVar);
makes a 2-D-CEPSTRUM of a file of 4-Byte-Short-Reals with real spectrum-input-data
(n=2^k real numbers) and creates a new file named *2dftit.cep

- bmp1dcep(lpFileNameString,lpdwErrVar);
makes a 1-D-CEPSTRUM of a file of 4-Byte-Short-Reals with real spectrum-input-data
(n=2^k real numbers) and creates a new file named *1dftit.cep

- bmpsyn(lpFileNameString,lpdwErrVar);
creates a *2dft.bmp-file from a *2dft.fft-file

[beginning][home]


real32fft - an external procedure for linking

real32fft.zip contains a readme.txt-file and wap32.obj. You can call the procedure with realfft(FileName:String, lpError) in your application. The computation of the spectrum is optimized, maximal fast and developed in 80586/80587-assembler. Error-codes will be stored in a variable of your program.The procedure uses an algorithm, that needs only 75 % of the memory usage of a normal FFT-algorithm. Single-precision-numbers. For all versions of Windows since Win 95.

[beginning][home]


invreal32fft - an external procedure for linking

invreal32fft.zip contains a readme.txt-file and wap32.obj. Single-precision backward FFT, features like real32.fft.

[beginning][home]


real64fft - an external procedure for linking

real64fft.zip contains a readme.txt-file and wap32.obj. You can call the procedure with realfft(FileName:String, lpError) in your application. The computation of the spectrum is optimized, maximal fast and developed in 80586/80587-assembler. Error-codes will be stored in a variable of your program.The procedure uses an algorithm, that needs only 75 % of the memory usage of a normal FFT-algorithm.8-Byte-Long-Real-numbers will be used. For all versions of Windows since Win 95.

[beginning][home]


invreal64fft - an external procedure for linking

invreal64fft.zip contains a readme.txt-file and wap32.obj. Double-precision backward FFT, features like real64fft.

[beginning][home]


imag32fft - an external procedure for linking

imag32fft.zip contains a readme.txt-file and wap32.obj. Normal single-precision complex FFT. For all versions of Windows since Win 95.

[beginning][home]


invimag32fft - an external procedure for linking

invimag32fft.zip contains a readme.txt-file and wap32.obj. Normal single-precision complex backward FFT. For all versions of Windows since Win 95.

[beginning][home]


imag64fft - an external procedure for linking

imag64fft.zip contains a readme.txt-file and wap32.obj. Normal double-precision complex FFT. For all versions of Windows since Win 95.

[beginning][home]


invimag64fft - an external procedure for linking

invimag64fft.zip contains a readme.txt-file and wap32.obj. Normal double-precision complex backward FFT. For all versions of Windows since Win 95.

[beginning][home]