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