Edge distortion when resampling a signal
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/262399/image.jpeg)
I want to upsample it as follows:
figure
ty = linspace(-0.5,0.5,270)
y = resample(c,1003,123);
plot(ty,y)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/262400/image.jpeg)
But as you can see there is distrotion at the edge. Is there any way to avoid that?
0 Commenti
Risposta accettata
Star Strider
il 18 Gen 2020
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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Multirate Signal Processing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!