matlab中只有正的空间域坐标,所以要注意对负的空间域的信号要做一定的特殊处理,例如偶信号需要取FFT出来结果的实部.奇信号要取FFT处理结果的虚部.
1>方波信号与其频谱:
matlab 程序:
clear;
clc;
x = [ones(20,1);zeros(246,1)];
figure(1);
plot(x);
axis([0 256 -1 1.5])
grid on;
figure(2);
y = fftshift(fft(x));
plot(real(y));
axis([0 256 -10 25]);
grid on;
2>圆孔信号与其频谱:(这就是光学成像圆形光阑的点扩散函数)
matlab 程序:
clear;
clc;
[x,y] = meshgrid(-128:128);
z = zeros(257,257);
%z(125:132,125:132) = 1;
for r = 0:5
for theta = 0:0.01:2*pi
xn = round(r*cos(theta));
yn = round(r*sin(theta));
z(129+xn, 129+yn)=1;
end
end
figure(1);
surf(x,y,