原文地址:卷积计算,序列相加,周期延拓程序作者:李本星这里给出卷积计算,序列相加,周期延拓程序,请同学们动手做一下相关实验 f nction [y,ny] = convwthn (x,nx,h,nh) % 带有位置向量的卷积计算 % % [y,ny] = convwthn (x,nx,h,nh) % - % 序列y为序列x和序列h的卷积 % ny,nx,nh 分别为y,x和h的位置向量 % ny0 = nx(1)+nh(1); % 卷积后位置初值的计算 nyf = nx(end) + nh(end); % 卷积后位置终值的计算 y = conv(x,h); % 卷积序列数值的计算 ny = [ % 卷积序列位置向量的计算 f nction [y,n] = seqadd(x1,n1,x2,n2) % 序列相加子程序 % % [y,n] = seqadd(x1,n1,x2,n2) % -- % 实现y(n) = x1(n)+x2(n) % y = 在包含n1和n2的n点上求序列和, % x1 = 在位置向量n1上的第一序列 % x2 = 在位置向量n2上的第二序列(n2可与 n1不同) % n = min(min(n1),min(n2)):max(max(n1),max(n2)); % y(n)的长度 y1 = zeros(1,length(n)); y2 = y1; % 初始化 y1(find((n=min(n1))&(n=max(n1)=x1; % 具有y的长度的x1 y2(find((n=min(n2))&(n=max(n2)=x2; % 具有y的长度的x2 y = y1+y2; % 序列相加. f nction [y,ny] = seqshift(x,nx,n0) % 序列平移子程序 % % [y,ny] = seqshift(x,nx,n0) % - % 实现 y(n) = x(n-n0) % n0为平移样本数,n0为正数时,右移,反之 % ny = nx + n0; % 位置向量移位 y = x; % 序列的值不变 % 信号序列的周期延拓 % clear,close all x =[2,3,4,5];n=length(x); nx=0:n-1;k=3; ny=0:k*n-1; % 设置延拓序列的位置向量 y=x(mod(ny,n)+1);