登录论坛

查看完整版本 : [求助]使用傅里叶变换重建波前数据


chenzheyi
2008-10-15, 12:53
f是一个方形实数矩阵,大小为N*N,实际为一波面数据f=f(x,y)。
现要求实现以下公式:
F[∂2f/∂x2 +∂2f/∂y2 ]=-(u2+v2)F(u,v),此即为频率域的拉普拉斯算子。
其中F(u,v)是f(x,y)是二维傅里叶变换。
等式左边是对f在x方向上与y方向上的二次偏导之和作傅里叶变换。
希望高手能实现,即给定f的数据矩阵,利用此公式求得F(u,v),并对此作傅里叶逆变换求得重建的f’,与原先的f作比较。

chenzheyi
2008-10-15, 15:35
我自己失败的程序:
N=13;
[fx fy]=gradient(f);
[fxx fxy]=gradient(fx);
[fyx fyy]=gradient(fy);
left=fft2(fxx+fyy);%计算等式左边的值。

for u=0:N-1
for v=0:N-1
h(u+1,v+1)=-1*(u^2+v^2);
end
end %计算求得滤波方程。

fz2=left./h;
fz2(1,1)=0;
f2=ifft2(fz2); %求得重建的f'。
不知道为什么反正总是不对……