i've a filter that is used on the data, but there is lots of data! i am hoping to resample the data(ia take every 2nd point), and than filter it. the problem is that i only have half as many data points. how can i use spline on the filtered data to make it back to the original.
for example, say theres 1000 data points. i resample every other data point to have 500. i feed that data into filter, and have newdata. how can i use spline to fit back to 1000 data points? i tried resampling every 1/2 but that is no good.
any suggestions will be helpful
No products are associated with this question.
x=0.2:0.02:10;y=sin(x) %signal with 500 points % sig xi=0.01:0.01:10; % 1000 points yi=interp1(x,y,xi,'spline') % interpolated signal yi for points xi
It doesnt seem to work. is it because i simply have data and not a function? im hoping that yi will look similar to original data series but filtered. it does something kind of weird. heres what i have for example;
x = [ 1 2 3 4 5 6]; xR = x(1:2:end);
y = filter(xR);
xi = y(1:1/2:end);
yi - interp1(x,y,xi,'spline');
It is a bad idea to omit half of the data before filtering, because the re-creation of these points by using a spline interpolation creates(!) noise again. In addition the interpolation and will take much more time than filtering the signal in its original rate. If the filtering needs too much time for you, try the faster C-Mex FEX: FilterM.