LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DSP inverse fft problem

Hi,
I have a waveform of speech and want to do some DSP on it. I would like to filter the initial waveform, run an fft, filter again if the user wants to, and then run an inverse fft to get back into the time domain.  I am having two problems right now. 

1.  when i try to filter the signal the 2nd time i get this error.
Analysis:  The cut-off frequency, fc, must meet:  0 <= fc <= fs/2.
i don't specify a sampling or cutoff freq, so not quite sure what to do.

2. Need help on getting inverse fft to go back to time domain.

attached is the vi.
thank you,

0 Kudos
Message 1 of 12
(5,540 Views)
just noticed something.  for problem 1, i do set a cutoff freq, but not sure about the fs.

0 Kudos
Message 2 of 12
(5,535 Views)
Hi Ifoitek,

I looked at your code and as expected I get the same error you mentioned. I am not sure what fs is but I will find out and I will post as soon as I have an answer. The one thing that comes to mind right away is that the second bandpass filter you are taking in Frequency-Domain while the first one is in time domain. I am not sure if this has anyhting to do. I will research this further and let you know.


Eli S.
National Instruments
Applications Engineer
0 Kudos
Message 3 of 12
(5,496 Views)
ok,
i'll keep trying too
0 Kudos
Message 4 of 12
(5,482 Views)
Ifoitek,

Hi, how are you doing? I have been doing some research and I found out that the express VI's that do the filtering are designed to take time-domain signals and you are getting the error in the second filter VI where you are inputing a frequency-domain signal. In any case I do not know why you want to do this because taking an FFT in a signal does not change it at all, it is simply another way of viewing the signal.

Eli S.
National Instruments
Applications Engineer
0 Kudos
Message 5 of 12
(5,463 Views)
Is your question, why I want to filter an FFT signal?

if the express vi's are for time domain signals, what vi's are used for filtering a digital signal?

thanks,

0 Kudos
Message 6 of 12
(5,444 Views)
The express VI only take time-domain signals because the code within it converts it to frequency-domain before filtering it. As far as what I had asked you before, yes, why are you trying to filter an FFT'd signal? Why can't you filter it the second time just like you did the first time using the time-domain signal?
Eli S.
National Instruments
Applications Engineer
0 Kudos
Message 7 of 12
(5,427 Views)
one reason is that when you filter a time domain signal it has a roll off depending on the order of the filter.  if you filter in the frequency domain it cuts off at the specified frequency with a roll off.

0 Kudos
Message 8 of 12
(5,420 Views)
i meant to say without a roll off in the frequency domain
0 Kudos
Message 9 of 12
(5,419 Views)

Hi!

 I would like to do phase shift, it works well in the following way:
 fos3.vi
 But if I try it in dsp project the same way, it can not function properly.
 fos5.vi
 I assume that the failure is in the EMB real FFT.vi or in the EMB inverse real FFT.vi.
 What can be the solution to this problem?

 Thank you for the help in advance!

Download All
0 Kudos
Message 10 of 12
(4,532 Views)