LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

FFT Bw_LPF

hello,

       I have a real time-domain signal, I need to abstract low frequency part. First I caculate the Fast Fourier Transform and get a set of complex data. I translate them into real number (magnitude) by ToPolar1D(wavesignal,waveimgsignal,wavepoint,magnitude,phase). Through Bw_LPF(magnitude,wavepoint, fs, lowf,3, filter), I get the low frequency. But the filter is a set of real numbers, how can I compute InvFFT?

       

FFT(wavesignal,waveimgsignal,wavepoint);

ToPolar1D(wavesignal,waveimgsignal,wavepoint,magnitude,phase);
PlotY(panelHandle,PANEL_GRAPH_3,magnitude,wavepoint,VAL_DOUBLE,VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,VAL_RED);
// InvFFT(wavesignal,waveimgsignal,wavepoint);
// PlotY( panelHandle,PANEL_GRAPH_4,wavesignal,wavepoint,VAL_DOUBLE,VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,VAL_RED);
T=time1[wavepoint-1]-time1[0];
fs=512.0/T;
// lowf=1+250.0*T;
lowf=500.0;
Bw_LPF(magnitude,wavepoint, fs, lowf,3, filter);
PlotY(panelHandle,PANEL_GRAPH_2,filter,wavepoint,VAL_DOUBLE,VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,VAL_RED);
for(i=0;i<wavepoint;i++)
{
waveimgsignal[i]=0;

}
InvFFT(filter,waveimgsignal,wavepoint);
//ToPolar1D(wavesignal,waveimgsignal,wavepoint,magnitude,phase);
PlotY(panelHandle,PANEL_GRAPH_4,filter,wavepoint,VAL_DOUBLE,VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,VAL_RED);

 

By this program, my results are false.

  

 

 

0 Kudos
Message 1 of 1
(3,448 Views)