hsolpsave / 快速重叠保留法

 

  • 空间

function [y] = hsolpsave(x,h,N)

% High-speed Overlap-Save method of block convolutions using FFT

% --------------------------------------------------------------

% [y] = hsolpsav(x,h,N)

% y = output sequence

% x = input sequence

% h = impulse response

% N = block length (must be a power of two)

%

T = 1;

while T<N,T = T*2;end

if T ~= N

    N = 2^(ceil(log10(N)/log10(2)));

end

Lenx = length(x);

M = length(h);

M1 = M-1;

L = N-M1

H = fft(h,N);

x = [zeros(1,M1),x,zeros(1,N-1)]

K = floor((M1+Lenx-1)/L)+1;              % 块数K = 向下取整( (N-1)/L )  +  1

y = zeros(K,N);

for k = 0:K-1

    xk = fft(x(k*L+1:k*L+N));

    y(k+1,:) = real(ifft(xk.*H));

end

y = y(:,M:N)';

y = y(:)';

 

收藏于 2013-08-28

来自于百度空间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ECG,SPO2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值