hsolpadd.m
来自「matlab例子」· M 代码 · 共 20 行
M
20 行
function [y]=hsolpadd(x,h,N)
%用重叠相加法作分段卷积
%--------------------
%[y]=hsolpadd(x,h,N)
%y=输出序列
%x=输入序列
%h=脉冲响应
%N=段长>=2*length(h)-1
%
%y=zeros(1,2*length(x)-1);
N=2^(ceil(log10(N)/log10(2)));
K=floor(length(x)/N)
x=[x,zeros(1,(K+1)*N-length(x))];
y=zeros(1,(K+2)*N);
h=fft(h,2*N);
for k=0:K
xk=fft(x(k*N+1:k*N+N),2*N);
y(k*N+1:k*N+2*N)=y(k*N+1:k*N+2*N)+real(ifft(xk.*h));
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?