主要内容

重新取样

重新采样统一或不统一的数据到新的固定速率

描述

例子

Y=重新取样(x,P,Q)重新采样输入序列,xP/Q乘以原始采样率。重新取样实行冷杉抗锯齿低通滤波器x并对滤波器引入的延迟进行补偿。该函数沿大小大于1的第一阵列维度运行。

Y=重新取样(x,P,Q,N)使用有序的反锯齿滤波器2 ×N×最大值(P,Q)

例子

Y=重新取样(x,P,Q,N,β)给出了用于设计低通滤波器的Kaiser窗的形状参数。

Y=重新取样(x,P,Q,B)过滤器x使用中指定的过滤系数B

例子

[Y,B) =重新取样(x,P,Q,___)还返回应用于的过滤器的系数x在重采样。

例子

[yTT,B) =重新取样(xTT,P,Q,___)在MATLAB中对均匀采样的数据进行重采样®时间表xTTP/Q乘以原始采样率并返回时间表yTT.您可以指定其他参数N,β,或B

Y=重新取样(x,tx)重新取样值,x,表示在向量中指定的时刻采样的信号tx.函数插值x线性到具有相同端点和样本数的等间距的瞬时向量上txS被视为丢失的数据并被忽略。

Y=重新取样(x,tx,财政司司长)使用多相抗混叠滤波器以规定的均匀采样率对信号进行重新采样财政司司长

Y=重新取样(x,tx,财政司司长,P,Q)将输入信号插值到中间均匀网格,采样间隔为(P/Q)/财政司司长.然后该函数对结果进行过滤以进行上采样P然后再取样Q,最终抽样率为财政司司长.为了达到最佳效果,请确保财政司司长×Q/P至少是其最高频率分量的两倍x

例子

Y=重新取样(x,tx,___,方法)指定插值方法以及本组中以前语法中的任何参数。插值方法可以是“线性”,“pchip”,或样条的

[Y,) =重新取样(x,tx,___)回报与重采样信号对应的瞬间。

[Y,,B) =重新取样(x,tx,___)回报B抗混叠滤波器的系数。

例子

yTT=重新取样(xTT)对非均匀采样数据进行重采样xTT并返回均匀采样的数据。yTT具有相同的端点和样本数xTT

[yTT,B) =重新取样(xTT,___)对非均匀采样数据进行重采样xTT并返回反锯齿滤波器的系数B。您可以为输入指定相同的参数选项x,tx

例子

[___) =重新取样(___“维度”,昏暗的)沿尺寸标注对输入重新采样昏暗的

例子

全部折叠

重新采样一个简单的线性序列在3/2的原始速率10赫兹。将原始和重新采样的信号绘制在同一个图上。

fs = 10;t1 = 0:1 / fs: 1;x = t1;y =重新取样(x 3 2);t2 =(0:(长度(y) 1)) * 2 / (3 * fs);情节(t1, x,‘*’, t2, y,“o”)包含(“时间(s)”) ylabel (“信号”)传说(“原始”,重新取样的,...“位置”,“西北”)

图形包含一个轴。轴包含两个类型为line的对象。这些对象表示原始的、重新采样的。

当过滤,重新取样假设输入序列,x,在给出样本前后为零。的端点离零有很大的偏差x会导致意想不到的值Y

通过重采样三角形序列和具有非零端点的垂直移动序列来显示这些偏差。

X = [1:10 9:-1:1;10: 1:1 2:10) ';y =重新取样(x 3 2);次要情节(2,1,1)情节(1:19,x (: 1),‘*’, (0:28) * 2/3 + 1, y (: 1),“o”)标题(“边缘效应不明显”)传说(“原始”,重新取样的,...“位置”,“南方”)子地块(2,1,2)图(1:19,x(:,2),‘*’, (0:28) * 2/3 + 1, y (:, 2),“o”)标题(的边缘效应明显)传说(“原始”,重新取样的,...“位置”,“北方”)

图中包含2个轴。带有标题边缘效果不明显的轴1包含两个类型为line的对象。这些对象代表原始,重新采样。带有标题边缘效果的轴2包含2个类型为line的对象。这些对象代表原始,重新采样。

构造一个正弦信号。指定一个采样率,使16个采样正好对应一个信号周期。画出信号的主干图。叠加一个阶梯图,用于采样和保持可视化。

fs=16;t=0:1/fs:1-1/fs;x=0.75*sin(2*pi*t);阀杆(t,x)保持楼梯(t, x)

图中包含一个坐标轴。轴包含两种类型的物体,茎,楼梯。

使用重新取样将信号的采样增加四倍。使用默认设置。将结果与原始信号一起绘制。

ups=4;dns=1;fu=fs*ups;tu=0:1/fu:1-1/fu;y=重采样(x、ups、dns);阀杆(tu,y)保持楼梯(t, x)传奇(重新取样的,“原始”)

图中包含一个坐标轴。轴包含两种类型的物体,茎,楼梯。这些对象代表重新采样,原始。

重复计算。指定N= 1,使抗混叠滤波器有序 2. × 1. × 4. = 8. .指定形状参数 β = 0 凯撒橱窗。输出滤波器和重采样信号。

n=1;beta=0;[y,b]=重采样(x,ups,dns,n,beta);fo=filterD(b)
fo=8
茎(tu, y)楼梯(t x,'--')举行传奇('n = 1, \beta = 0')

图中包含一个坐标轴。轴包含两种类型的物体,茎,楼梯。这个对象表示n = 1, \beta = 0。

重采样信号由于窗的主瓣较宽,副瓣较低的衰减而产生混叠效应。

增加N5点离开 β = 0 .验证过滤器是否为第40阶。绘制重采样信号。

n=5;[y,b]=重采样(x,ups,dns,n,beta);fo=filterD(b)
fo = 40
茎(tu, y)楼梯(t x,'--')举行传奇('n = 5, \beta = 0')

图中包含一个坐标轴。轴包含两种类型的物体,茎,楼梯。这个对象表示n = 5, \beta = 0。

窗口越长,主瓣越窄,可以更好地抑制混叠效应。它也会减弱信号。

将过滤器顺序保留在 2. × 5. × 4. = 4. 0 并增加形状参数为 β = 2. 0

β= 20;y =重新取样(x, ups, dns, n,β);茎(tu, y)楼梯(t x,'--')举行传奇('n = 5, \beta = 20')

图中包含一个坐标轴。轴包含两种类型的物体,茎,楼梯。这个对象表示n = 5, \beta = 20。

高旁瓣衰减导致良好的重采样。

将过滤顺序降低到 2. × 1. × 4. = 8. 然后离开 β = 2. 0

n=1;[y,b]=重采样(x,ups,dns,n,beta);干(tu,y)保持楼梯(t x,'--')举行传奇('n=1,\beta=20')

图中包含一个轴。轴包含两个类型为stem、stair的对象。此对象表示n=1,\beta=20。

较宽的主瓣在重采样时产生相当大的伪影。

生成60个正弦信号样本,并以3/2的原始速率重新采样。显示原始和重新采样的信号。

tx = 0:6:360-3;x =罪(2 *π* tx / 120);泰= 0:4:360-2;[y,] =重新取样(x 3 2);情节(tx, x,“+ -”泰y”啊,“)传说(“原始”,重新取样的)

图形包含一个轴。轴包含两个类型为line的对象。这些对象表示原始的、重新采样的。

绘制抗混叠滤波器的频率响应图。

freqz(通过)

图中包含2个轴。轴1包含线型对象。轴2包含线型对象。

以原速率的2/3重新采样信号。显示原始信号及其重采样。

tz = 0:9:360-9;(z, bz) =重新取样(x, 2、3);情节(tx, x,“+ -”tz, z,”啊,“)传说(“原始”,重新取样的)

图形包含一个轴。轴包含两个类型为line的对象。这些对象表示原始的、重新采样的。

绘制新的低通滤波器的脉冲响应。

impz (bz)

图中包含一个坐标轴。标题为脉冲响应的轴包含一个类型为干的对象。

创建两个由十个随机生成的数字组成的向量。假设每一种病媒每天记录一个数字,持续十天。将数据存储在MATLAB时间表中。

1 = randn(10日);1 b = randn(10日);t =天(1:10);xTT =时间表(t',[a b]);

使用重新取样函数将采样率从每天一次增加到每小时一次。绘制两个数据集。

yTT=重采样(xTT,24,1);子批次(2,1,1)绘图(xTT.时间,xTT.变量1,“-o”次要情节(2,1,2)情节(yTT.Time yTT.Var1,“-o”)

图中包含2个轴。axis 1包含2个类型为line的对象。axis 2包含2个类型为line的对象。

利用伽利略·伽利莱1610年记录的数据,确定木卫四的轨道周期,木卫四是木星四大卫星中最外层的卫星。

伽利略从1月15日开始对卫星的运动进行了为期六周的观测。由于在多云的夜晚看不到木星,因此观测有几个空白。生成一个datetime观测时间数组。

T = [0 2 37 8 9 10 11 12 17 18 19 20 24 25 26 27 28 29 31 32 33 35 37...41 42 43 44 45]'+1;Yg = [10.5 10.5 -5.5 -10.0 -12.0 -11.5 -12.0 -7.5 8.5 12.5 12.5...10.5 -6.0 -11.5 -12.5 -12.5 -10.5 -6.5 2.0 8.5 10.5 13.5 10.5 -8.5...';obsv = datetime (1610, 15 + t);

使用每天一次观察的采样率将数据重新采样到一个规则网格上。使用适度的上采样系数3以避免过拟合。

fs=1;[y,ty]=重采样(yg,t,fs,3,1);

绘制数据和重采样信号。

图(t,yg,“o”泰y'.-')包含(“天”)

图中包含一个坐标轴。轴线包含2个线型对象。

使用样条插值重复上述步骤,并显示观测日期。以反天数表示采样率。

fs = 1/86400;[y,泰]=重新取样(yg、obsv fs, 3, 1,样条的);图(t,yg,“o”)举行地块(ys,'.-')举行甘氨胆酸ax =;斧子。XTick = t(1:9:结束);斧子。XTickLabel = char (obsv(1:9:结束));

图中包含一个坐标轴。轴线包含2个线型对象。

计算均匀间隔线性插值数据的周期图功率谱估计。选择1024的DFT长度。信号峰值位于轨道周期的倒数处。

[pxx f] =周期图(y,[], 1024年1“权力”);[pk,i0]=max(pxx);f0=f(i0);T0=1/f0
T0=16.7869
图(f,pxx,f0,pk,“o”)包含(频率(天^ {1}))

图中包含一个坐标轴。轴线包含2个线型对象。

一个人在2012年的闰年记录了自己的体重(磅)。这个人并没有每天记录他们的体重,所以数据是不统一的。加载数据和存储在MATLAB时间表的测量。使用datetime向量指定划船次数

负载权重2012.datrowTimes = datetime(2012、1、1:366)';wt = weight2012 (:, 2);xTT =时间表(rowTimes、wt);

重新取样数据。结果是一个时间表,其中包含具有相同端点和样本数的均匀采样数据wt

yTT=重采样(xTT);

将原始数据和重新采样的数据绘制出来进行比较。调整x-axis限制只显示8月份的测量值。

情节(xTT.rowTimes xTT.wt,“-o”,yTT.Time,yTT.wt,'-*'xlim(datetime([2012 08 01;2012 08 31]))“origal”,重新取样的)

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表原始的,重新采样的。

再次使用三次插值对数据进行采样。

yTTs =重新取样(xTT,“pchip”);情节(xTT.rowTimes xTT.wt,“o”,yTTs.Time,yTTs.wt,'-*') xlim(datetime([2012 08 01;2012 08 31]))

图中包含一个坐标轴。轴线包含2个线型对象。

现在将采样率增加到每天两次,并使用样条插值。策划的结果。

fs=1/86400;yTTf=重采样(xTT,2*fs,样条的);情节(yTTf.Time yTTf.wt,'-*') xlim(datetime([2012 08 01;2012 08 31]))

图中包含一个坐标轴。轴包含一个线型对象。

生成一个五通道,100采样的正弦信号。每列的时间都在增加,每行的频率都在增加。画出信号。

p = 3;q = 2;tx = 0: p: 300 - p;x = cos(2 *π* tx. / (1:5) / 100);情节(tx, x,“。”)标题(“原始”) ylim ([-1.5 - 1.5])

图中包含一个坐标轴。标题为Original的轴包含5个线型对象。

沿着正弦信号的二维向上采样3/2。把重新采样的信号覆盖在图上。

泰= 0:问:300 - q;y =重新取样(x, p, q,“维度”2);情节(泰,y,“。”)标题(“上采样”)

图中包含一个轴。标题为“向上采样”的轴包含5个line类型的对象。

重塑重采样信号的形状,使时间沿三维方向运行。

Y = permute(Y,[1 3 2]);大小(y)
ans=1×35 150

将信号降低至其原始速率,并绘制它。

z =重新取样(y, q, p,“维度”3);情节(tx,挤压(z),“。”)标题(“Downsampled”)

图中包含一个坐标轴。标题为Downsampled的轴包含5个line类型的对象。

输入参数

全部折叠

输入信号,指定为向量、矩阵或N- d数组。x可以包含当提供时间信息时。s被视为缺失数据,并从重采样中排除。

例子:cos(pi/4*(0:159))+randn(1160)是单通道行矢量信号。

例子:因为(pi. / (4; 2) * (0:159)) ' + randn (160 2)是一个双通道信号。

数据类型:

重采样因子,指定为正整数。

数据类型:

邻居项号,指定为正整数。如果N= 0,重新取样执行加权插值。抗混叠FIR滤波器的长度与N.更大的值N以更多的计算时间为代价提供更好的精度。

数据类型:

Kaiser窗口的形状参数,指定为正实标量。增加β加宽用于设计反混滤波器的窗的主瓣,降低窗旁瓣的幅值。

数据类型:

FIR滤波器系数,指定为向量。默认情况下,重新取样使用冷杉带有Kaiser窗口。在补偿延迟时,重新取样假设B具有奇数长度和线性相位。看见抗锯齿低通滤波器为更多的信息。

数据类型:

输入至少两行的时间表,指定为时间表.中的每个变量xTT被视为一个独立的信号。如果时间表中的变量是N- d数组,然后重新取样作用于第一维。

  • 划船次数必须是持续时间向量还是datetime具有唯一和有限值的对象。非有限时间值被视为缺失数据并被忽略。

  • 如果未排序的,重新取样种类划船次数按升序排列。

看见时间表为更多的信息。

数据类型:

时间瞬间,指定为非负实向量或adatetime数组。tx必须单调增加,但不需要均匀间隔。tx可以包含s或纳特s。这些值作为缺失数据处理,从重采样中排除。tx是否仅对输入有效x

数据类型:|datetime

采样率,指定为一个正标量。采样率是单位时间内的采样数。如果以秒为时间单位,则采样率以Hz为单位。

数据类型:

插值方法,指定为“线性”,“pchip”,或样条的:

  • “线性”——线性插值。

  • “pchip”-保持形状的分段三次插值。

  • 样条的-样条插值使用非结结束条件。

看到interp1参考页获取更多信息。

如果x不是慢慢变化,考虑使用吗interp1“pchip”插值法。

要沿其操作的维度,指定为正整数标量。如果昏暗的没有指定,重新取样对第一个大于1的数组维度进行操作。如果输入的是时间表,那么昏暗的必须是1。

数据类型:|

输出参数

全部折叠

重新采样的信号,以向量,矩阵或N- d数组。如果x的长度N沿着维度昏暗的你指定PQ那么Y是长度⌈N×P/Q沿着昏暗的

FIR滤波器系数,作为向量返回。

输出瞬间,作为非负实向量返回。只适用于输入x

重新采样的时间表,返回为时间表

更多关于

全部折叠

抗锯齿低通滤波器

用一个有理因子对信号进行重新采样P/Q,重新取样电话upfirdn,在概念上执行以下步骤:

  1. 插入零以对信号进行上采样P

  2. 对上采样信号应用FIR反混叠滤波器。

  3. 丢弃采样,对滤波后的信号进行下采样Q

理想的抗混叠滤波器具有归一化截止频率FC=π/ max (P,Q)rad /样本和增益P.为了近似抗混叠滤波器,重新取样使用Kaiser窗口方法。

  • 过滤顺序为2 ×N×最大值(P,Q).的默认值N是50。

  • Kaiser窗口有一个形状参数β控制过渡宽度和阻带衰减之间的权衡。的默认值β是五岁。

  • 滤波器系数被归一化以反映窗口的处理增益。

例如,设计一个抗混叠滤波器,将信号重采样到原采样率的3/2倍:

p = 3;q = 2;maxpq = max (p, q);fc = 1 / maxpq;n = 50;n = 2 * * maxpq;β= 5;b = fir1(秩序、fc、kaiser(订单+ 1,β));b = p * b /和(b);
看见均匀采样信号的重采样为更多的信息。

提示

  • 使用isregular函数来确定时间表是否被均匀采样。

算法

重新取样使用冷杉,将结果归一化以说明窗口的处理增益,然后使用upfirdn

扩展功能

之前介绍过的R2006a