资源简介

用重叠保留法实现长短相差很大的序列的线性卷积

资源截图

代码片段和文件信息

%% 重叠相加法,重叠保留法 实现长短序列的线性卷积
function y=overlap_save(xhM)
% x为较长的输入序列,h为较短的系统函数,M为分段大小
% choice为‘add‘或‘save‘选择重叠相加法或重叠保留法

%---------前期处理-------------------
N=length(h);                                % 序列h(n)的长度
Lx=length(x);                             % 序列x(n)的长度
if N>M                                      % 算法要求 N<=M
    M=N+1;
end
L=M+N-1;                                     % 用每段循环卷积计算线性卷积所需点数
T=ceil(Lx/M);                                % 分段数,ceil向上取整
t=zeros(1N-1);                              % 缓存序列初始化
x=[xzeros(1(T+1)*M-Lx)];                   % 最后一个不足M的分段补零

评论

共有 条评论