matlab 等距采样,对均匀采样信号进行重采样

按有理因子进行速率转换resample 函数执行从一个采样率到另一个采样率的速率转换。resample 允许您按积分因子 p 进行上采样,然后按另一个积分因子 q 进行抽取。这样,您能够以原始采样率的有理倍数 (p/q) 进行重采样。要对均匀采样使用 resample 函数,您必须提供此有理因子的分子和分母。要确定所需的整数,可以使用 rat 函数。以下是从 48 kHz 转换为 44.1 kHz...
摘要由CSDN通过智能技术生成

按有理因子进行速率转换

resample 函数执行从一个采样率到另一个采样率的速率转换。resample 允许您按积分因子 p 进行上采样,然后按另一个积分因子 q 进行抽取。这样,您能够以原始采样率的有理倍数 (p/q) 进行重采样。

要对均匀采样使用 resample 函数,您必须提供此有理因子的分子和分母。要确定所需的整数,可以使用 rat 函数。

以下是从 48 kHz 转换为 44.1 kHz 时如何调用 rat 的示例:

originalFs = 48000;

desiredFs = 44100;

[p,q] = rat(desiredFs / originalFs)

p = 147

q = 160

rat 表示可以按 147 进行上采样,按 160 进行下采样。要验证这是否会产生所需的速率,请将 p/q 乘以原始采样率:

originalFs * p / q

ans = 44100

一旦您确定了新采样率和原始采样率之间的比率,您就可以调用 resample。

例如,使用 48 kHz 的原始采样率创建一段 10 毫秒长的 500 Hz 正弦波,并将其转换为 44.1 kHz:

tEnd = 0.01;

Tx = 0:1/originalFs:tEnd;

f = 500;

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

y = resample(x,p,q);

Ty = (0:numel(y)-1)/desiredFs;

plot(Tx,x,'. ')

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值