matlab resample,resample matlab实现

使用线性插值实现sample rate转换。

function output = simpleResample(input, inputfs, outputfs)

inputLen = length(input(:, 1));

outputLen = floor(inputLen * outputfs / inputfs);

output = zeros(outputLen, 1);

timeStep = inputfs / outputfs;

curTime = 1;

integer = 0;

frac = 0;

for i = 1:1:outputLen

integer = floor(curTime)

frac = curTime - floor(curTime);

if integer + 1 < inputLen

output(i, 1) = input(integer, 1) + frac * ( input(integer + 1, 1) - input(integer, 1));

end

curTime = curTime + timeStep;

end

win = fir1(13, 0.6, ‘low‘)

output = filter(win, 1, output);

end

原文:https://www.cnblogs.com/fellow1988/p/9906171.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值