What indices of the original sequence are retained in the output of the decimate function?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Gaëtan Garcia
el 29 de Nov. de 2022
Comentada: Gaëtan Garcia
el 29 de Nov. de 2022
I am using the decimate function y = decimate(x,r) and I need to know to which index in x the value y(i) corresponds.
This is not explicitly addressed in the documentation. In the first example the number of points is k*r+1 and according to the code it seems y(1) corresponds to index 1 in x, while and y(length(y)) correponds to index length(x) in x.
In the second example of the documentation, where length(x) is not of the form k*r+1, it seems y(length(y)) corresponds to the last index of the original vector x.
Is that always the case? Would that depend on the type of filter applied (e.g. Chebyshev vs FIR) ?
Thanks for any input on the matter.
Regards.
G. Garcia
For convenience, here is the second example of the documentation:
r = 13;
n = 16:365;
lx = length(n);
x = sin(2*pi*n/153) + cos(2*pi*n/127);
plot(0:lx-1,x,'o')
hold on
y = decimate(x,r,5);
stem(lx-1:-r:0,fliplr(y),'ro','filled','markersize',4)
legend('Original','Decimated','Location','south')
xlabel('Sample number')
ylabel('Signal')
And the associated graph, showing correspondance between last element of x and last element of y:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1212278/image.png)
0 comentarios
Respuesta aceptada
Voss
el 29 de Nov. de 2022
"In the resampled sequence (y), y(end) matches x(end) when the IIR filter is used, and y(1) matches x(1) when the FIR filter is used."
3 comentarios
Voss
el 29 de Nov. de 2022
By default, decimate uses a lowpass Chebyshev Type I infinite impulse response (IIR) filter of order 8.
Más respuestas (0)
Ver también
Categorías
Más información sobre Digital and Analog Filters en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!