非均匀采样重建 matlab,对非均匀采样信号进行重采样

以所需采样率对非均匀采样信号进行重采样

resample 函数允许您将非均匀采样信号转换为使用新的均匀采样率。

创建一个以大约 48 kHz 采样率不规则采样的 500 Hz 正弦波。我们通过向均匀向量添加随机值来模拟不规则性。

rng default

nominalFs = 48000;

f = 500;

Tx = 0:1/nominalFs:0.01;

irregTx = sort(Tx + 1e-4*rand(size(Tx)));

x = sin(2*pi*f*irregTx);

plot(irregTx,x,'.')

71079bb8deae1f1d5cf58322c32a7402.png

要对非均匀采样信号进行重采样,可以调用带时间向量输入的 resample。

下一个示例将我们的原始信号转换为均匀的 44.1 kHz 采样率。

desiredFs = 44100;

[y, Ty] = resample(x,irregTx,desiredFs);

plot(irregTx,x,'.-', Ty,y,'o-')

legend('Original','Resampled')

ylim([-1.2 1.2])

f55fb3c3464f3f31c179d656b7c2b1e8.png

您可以看到,经过重采样的信号与原始信号具有相同的形状和大小。

选择插值方法

resample 中的转换算法在输入采样尽可能接近规则间距时效果最佳,因此观察采样数据中缺失一部分输入采样时可能发生的情况很有意义。

下一个示例使输入正弦波的第二个波峰出现陷波,并对其应用重采样。

irregTx(105:130) = [];

x = sin(2*pi*f*irregTx);

[y, Ty] = resample(x,irregTx,desiredFs);

plot(irregTx,x,'. ')

hold on

plot(Ty,y,'.-')

hold off

legend('Original','Resampled')

ylim([-1.2 1.2])

216fe1bef8bfccb694bd9346da8f42d0.png

缺失段通

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值