📄 diamond.m
字号:
function H = diamond(N0,N1)
% calculate the impulse response of an ideal diamond (lowpass) filter of size N0xN1
% i.e., 1 inside the diamond region, the 0 elsewhere
% Copyright (c) 2006 Yi Chen
if mod(N0,2) == 1 && mod(N1,2) == 1
H = zeros(N0, N1);
if N0 <= N1
for i = 1:(N0+1)/2;
j = (N1+1)/2-(i-1):(N1+1)/2+(i-1);
H(i,j)=1;
H(N0-i+1,j)=1;
end
else
for j = 1:(N1+1)/2;
i = (N0+1)/2-(j-1):(N0+1)/2+(j-1);
H(i,j)=1;
H(i,N1-j+1)=1;
end
end
elseif mod(N0,2) == 1 && mod(N1,2) == 0
H = zeros(N0, N1);
if N0 < N1
for i = 1:(N0+1)/2;
j = N1/2-(i-1):N1/2+i;
H(i,j)=1;
H(N0-i+1,j)=1;
end
else
for j = 1:N1/2;
i = (N0+1)/2-(j-1):(N0+1)/2+(j-1);
H(i,j)=1;
H(i,N1-j+1)=1;
end
end
elseif mod(N0,2) == 0 && mod(N1,2) == 1
Nt = N0; N0 = N1; N1 = Nt;
H = zeros(N0, N1);
if N0 < N1
for i = 1:(N0+1)/2;
j = N1/2-(i-1):N1/2+i;
H(i,j)=1;
H(N0-i+1,j)=1;
end
else
for j = 1:N1/2;
i = (N0+1)/2-(j-1):(N0+1)/2+(j-1);
H(i,j)=1;
H(i,N1-j+1)=1;
end
end
H = H';
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -