对于串行的数据,有时我们需要转成多路并行的数据进行处理,抽取;或者是需要对数据进行隔点抽取,或对数据进行插值处理。此处以4倍抽取或插值为例,MATLAB代码实现。
抽取
方法一:downsample函数
使用下采样函数downsample
进行抽取。格式:y =downsample(x,step,phase)。其中x是要抽取的数据,step表示步进,phase表示相位(从0开始索引)。
y = 0:1:99;%y等于0到99,100个用于抽取的数据
step = 4;
y0 = downsample(y,step, 0);
y1 = downsample(y,step, 1);
y2 = downsample(y,step, 2);
y3 = downsample(y,step, 3);
y_parallel = vertcat(y0,y1,y2,y3);%放在一起看
方法二:隔位索引
使用类似y0 = y(1:step:length(y));
的格式进行隔位抽取。注意MATLAB中的数据索引是从1开始的,不是0。
y = 0:1:99;