05-09-2017 09:13 AM - edited 05-09-2017 09:17 AM
Hai. I am new to labview and signal processing. I am working on a program to reduce the noise in the signal. I converted the time domain signal to frequency domain using FFT and filtered the signal using several Butterworth band pass filters and took IFFT on individual filter outputs and recombined them by selecting the minimum values.
The problem is, the reconstructed signal has some sort of symmetric appearance and the local spikes seen in time domain signals are getting concentrated at the end of time base rather being seen at desired points on time base after processing (Pls check the attachment). I can't understand the problem. Please help me in this. Thanks in advance
05-09-2017 09:46 AM
Please attach your VI. Without it, we cannot see what you filter and what means "processed signal".
05-09-2017 11:18 AM - edited 05-09-2017 11:21 AM
if my memory serves me correct (and coming from 2d FT) you make a basis transform into Frequency Domain then filter with a lowpass (to ignore the high frequency "noise") and transform back.
there are a lot of (ipython/jupyter) notebooks on fourier transform out there,
which i think might help you get a better understanding, this one looked quite good:
http://calebmadrigal.com/fourier-transform-notes/
05-09-2017 11:45 AM
I have attached my vi. pls check it
05-09-2017 11:47 AM
Thanks for the link. It's very useful to understand the basics
05-09-2017 12:02 PM - edited 05-09-2017 12:07 PM
plz add the data your working on as well if you could.
05-09-2017 01:13 PM
Try using this file
05-10-2017 03:31 AM
so i played a little with your code and noticed several things:
* you shouldn't have 3 lowpass filters (from which you choose the minimum)
* your lowpass filters don't need a 'high-cutoff' point (it is ignored, when lowpass)
otherwise i don't konw butterworth filters, but even only one produces the same behaviour as you described.
what i did was to create a filter myself, for wich i shifted the FT and zeroed (as many as i wanted) elemetns from left and right (bc its symmetric).
you can have a look at my messup of you code, jsut plug in the .txt file and run it,
it shows you the results for different amounts of zeros
sorry cant do more
05-10-2017 08:32 AM
Thanks for your effort. Can you send a lower version of your code. I am using Labview v15
05-11-2017 03:20 AM
here you go