Make your own free website on Tripod.com


Home

FFT DLL
FFT DLL is a 32 bit dll of the signal processing algorithm that is based on FFT. It can be used to compute the spectrum, correlation, amplityde distribute and signal filtering. Press here to download.


FFT DLL package include four file:
1.fftdll.h
2.fftdll.lib
3.fftdll.dll
5.testfft.zip (VC++ Example program)
.
Functions in  FFT DLL:
2.void fft(short sw,short n,float *x,float *y)
This function do Fast Fourier Transform. 
sw=0 FFT , sw=1 IFFT
n=256/512/1024/2048/4096
x: Array of data
y: Array of data
.
3.void spectrum_r_i(float *wave,float *re,float *im)
This function compute the spectrum of the signal.
wave: raw data of signal, 1024 sample point
re: real part of  spectrum
im:imaginary part of sprectrum

4.void spectrum_a_p(float *wave,float *a,float *p)
This function compute the spectrum of the signal.
wave: raw data of signal, 1024 sample point
a: amplitude of  spectrum
p: phase of sprectrum
.
5. void winn(int w,int len,float *win)
This function select the window function that is used in the spectrum analysis.
W: type of the window function. 0=rectangle, 1=hanning, 2=hamming, 3=Black Man, 4=Flat.
len: the length of the window, it is equal to the length of the FFT.
win: Array that is used to store the data of the window.
.
6. void  A_B_C(int w,int len,float df,float *x)
This function is used to select the frequency weight network that is used in sound analysis.
W: 0=A Weight, 1=B Weight, 2=C Weight
len: number of the spectrum line, usually it is half of the length of FFT
df: the frequency interval of the spectrum line.
x: Array that is used to store the data of the weight network.
.
7. void  correlation(float *ch1,float *ch2,float *re)
This function is used to compute the correlation coefficients of the signal.
Ch1: raw signal of channel 1, 1024 sample point.
Ch2: raw signal of channel 2, 1024 sample point.
re: Correlation coefficients.

8. void  posbility(int len,float *ch,float *posb)
This function is used to compute the posibility distribute of the signal.
Ch: raw signal , 1024 sample point.
posb: posibility distribute
.
9. void  signal_char(int len,float *wave,float *par)
This function is used to compute the waveform parmaters  of the signal.
wave: raw signal , len sample point.
par: waveform parameters.
 par[0]//-Peak Value
 par[1]//+Peak Value
 par[2]//ABS(Average Value)
 par[3]//Average Value
 par[4]//RMS Value
 par[5]//Standard Error
 par[6]//Form Factor
 par[7]//Crest Factor
 par[8]//Kurtosis
.
10.void  signal_filter(int order,float fl,float fh,int len,float *wave)
This function is used to filter the signal.
wave: raw signal and filtered signal
len: length of the signal
order: ordef of the filter,
fl: low cut-off frequency, 0 - 0.5 (Normalized)
fh: high cut-off frequency, 0 - 0.5 (Normalized)
.
11.void signal_envelop(int order,float fl,float fh,int len,float *in)
This function is extract the envelop of the signal.
wave: raw signal and envelope signal
len: length of the signal
order: ordef of the filter,
fl: low cut-off frequency, 0 - 0.5 (Normalized)
fh: high cut-off frequency, 0 - 0.5 (Normalized)

 
A simple signal processing program of VC++ is given to show how to use the DLL. Below are some screen shots of the programs.
.

.

1999.12.20