filtering data by removing a specified frequency (noise)
3 views (last 30 days)
Show older comments
Hi, I have Pressure-crank angle degree data for an Internal Combustion Engine, before combustion starts, the curve is realistic and smooth, after the combustion starts, a pressure wave, of known frequency, travelling through the combustion chamber resulting in disturbing the original pressure increase curve, how can I remove this known frequency from my data ? I tried with fft, butter, and filter but I couldn't done, any kind of help will be greatly appreciated, thanks in advance,
2 Comments
Image Analyst
on 7 Feb 2014
Some screenshots would help. Like, what does your data look like normally, and with the pressure wave rippling though it? And what do the spectra look like for those two cases?
Accepted Answer
Image Analyst
on 7 Feb 2014
Edited: Image Analyst
on 28 Feb 2014
Take the Fourier Transform. Look for the spike at that frequency (252 kHz) and set it to zero. Then inverse transform.
Or, alternatively, you could try a Savitkzy-Golay filter (sgolayfilt in the Signal Processing Toolbox) for a one-liner solution. The SG filter is a sliding polynomial filter - it replaces the element at the center of the sliding window by the polynomial fit, at that location, of the data inside the window. (Demo available upon request.)
6 Comments
Image Analyst
on 11 Jan 2017
No, but I can attach some pre-existing demos I've made using the function.
More Answers (0)
See Also
Categories
Find more on Frequency Transformations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!