ovrlpsav.m

来自「计DFT」· M 代码 · 共 23 行

M
23
字号
function [y]=ovrlpsav(x,h,N)
%用重叠保留法做分段卷积
%--------------------
%【y】=ovrlpasv(x,h,N)
%y=输出序列
%x=输入序列
%h=脉冲响应
%N=段长
%
Lenx=length(x);M=length(h);
M1=M-1;L=N-M1;
h=[h zeros(1,N-M)];
%
x=[zeros(1,M1),x,zeros(1,N-1)];%预置(M-1)样本
K=floor((Lenx+M1-1)/(L));%段数
Y=zeros(K+1,N);
%与后续各段卷积
for k=0:K
    xk=x(k*L+1:k*L+N);
    Y(k+1,:)=circonvt(xk,h,N);
end
Y=Y(:,M:N)'; %去掉前(M-1)个样本
y=(Y(:))';   %装成输出

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?