Smoothing data with Filtering

조회 수: 2 (최근 30일)
SS
SS 2017년 2월 9일
편집: Image Analyst 2017년 2월 10일
Hi, Please check the attached image. So, I was trying to smoothing the data with filtering. But, in some cases, the value doesn't go up to mark (black circles). Please let me know, how can I fix this problem?
Here is the code I am using now:
FOrd = 400;
fitleredData = filter(ones(1,FOrd)/FOrd,1,inputData);

답변 (2개)

Image Analyst
Image Analyst 2017년 2월 9일
Obviously if you smooth the data, the smoothed data will never get as high as the peak - otherwise it wouldn't be smoothed now, would it?
Your FOrd should be an odd number, or else you will get a lateral shift in your array, as you are seeing.
  댓글 수: 2
SS
SS 2017년 2월 9일
Hi, I know that. However, for this problem, I want the peaks to be same. Is there any way I can do it while filtering? That was my question. If not, what is the best way to matching those peaks (such as using if else)?
Image Analyst
Image Analyst 2017년 2월 10일
편집: Image Analyst 2017년 2월 10일
You can detect the peaks and save their values. Then smooth the whole array. Then replace only the peak locations with the peak values, leaving everything else as it is (smoothed).
Also, can you put back your graph to help people understand what we're talking about?

댓글을 달려면 로그인하십시오.


John D'Errico
John D'Errico 2017년 2월 9일
A characteristic of virtually any smoothing scheme is it will tend to round over the peaks and valleys. So what do you expect?
  댓글 수: 1
SS
SS 2017년 2월 9일
Hi, I know that. However, for this problem, I want the peaks to be same. Is there any way I can do it while filtering? That was my question. If not, what is the best way to matching those peaks (such as using if else)?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Smoothing and Denoising에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by