Edge distortion when resampling a signal
조회 수: 10 (최근 30일)
이전 댓글 표시
I have the follwing cosine signal that is sampled at rate fs = 32 Hz.
f = 30;
fs = 32;
dt = 1/fs;
t = -0.5:dt:0.5;
c = cos(2.*pi.*f.*t);
figure
plot (t,c)
I want to upsample it as follows:
figure
ty = linspace(-0.5,0.5,270)
y = resample(c,1003,123);
plot(ty,y)
But as you can see there is distrotion at the edge. Is there any way to avoid that?
댓글 수: 0
채택된 답변
Star Strider
2020년 1월 18일
From the documentation:
‘When filtering, resample assumes that the input sequence, x, is zero before and after the samples it is given. Large deviations from zero at the endpoints of x can result in unexpected values for y.’ (In: Resample Linear Sequence)
Minimize it by increasing the filter order and using a Kaiser window.
For example:
y = resample(c,1003,123, 16, 192);
Experiment with these and other additional arguments to see the result.
댓글 수: 4
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!