circonvt.m
来自「DSP2 using matlab v4」· M 代码 · 共 65 行
M
65 行
function y = circonvt(x1,x2,N)% N-point circular convolution between x1 and x2: (time-domain)% -------------------------------------------------------------% [y] = circonvt(x1,x2,N)% y = output sequence containing the circular convolution% x1 = input sequence of length N1 <= N% x2 = input sequence of length N2 <= N% N = size of circular buffer% Method: y(n) = sum (x1(m)*x2((n-m) mod N))% Check for length of x1if length(x1) > N error('N must be >= the length of x1')end% Check for length of x2if length(x2) > N error('N must be >= the length of x2')endx1=[x1 zeros(1,N-length(x1))];x2=[x2 zeros(1,N-length(x2))];m = [0:1:N-1];x2 = x2(mod(-m,N)+1);H = zeros(N,N);for n = 1:1:N H(n,:) = cirshftt(x2,n-1,N);endy = x1*H';
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?