我有以下矩阵A
:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
现在我在上述矩阵上执行了以下操作:
B = fft2(A);
amp = abs(B);
amp_norm = amp/max(max(amp));
p = angle(B);
p_norm = p/pi;
现在,如果我有矩阵amp_norm
和p_norm
并且不知道如何从原始矩阵获得这两个矩阵,那么我们如何才能找回原始矩阵A
?
5-10%的错误就可以了。
答案 0 :(得分:0)
重建原始矩阵A
的问题来自于您正在规范amp
矩阵的事实。除非您在某处保存max(max(amp))
值,否则信号信息将永远丢失。
鉴于p
和amp
,您的原始矩阵A
可以重建如下:
B_orig = amp .* exp(p .* 1i);
A_orig = round(real(ifft2(B_orig)));
鉴于p_norm
和amp_norm
,您可以重建原始p
但不重建amp
...除非上述归一化因子存储在某处:
k = 136; % the original max(max(amp)) value
p_orig = p_norm .* pi;
amp_orig = amp_norm .* k;
B_orig = amp_orig .* exp(p_orig .* 1i);
A_orig = round(real(ifft2(B_orig)));