我尝试使用可分离为 2 个一维向量的二维矩阵来证明二维傅里叶变换的信号属性的可分离性。 地点:
f(x,y) = f(x)*f(y)
那么 F(u,v) = F(u)*F(v)
使用以下代码:
% Separabilty of signal
H = [-1,2,-1;-2,4,-2;-1,2,-1];
b3 = fft2(H)
Hx = [-1,2,-1];
Hy = [1,2,1]';
c2 = fft(Hy)*fft(Hx')'
if norm(vecnorm(b3-c2)) < 1e-5
"same"
else
"different"
end
但是,尽管数字是正确的,但它们在矩阵中的顺序发生了变化。我不明白怎么了。
最佳答案
错误在这里
c2 = fft(Hy)*fft(Hx')'
为什么要应用双转置 fft(Hx')'
?
自
H = Hy*Hx
然后
c2 = fft(Hy)*fft(Hx)
请注意,在 matlab 中,操作 '
执行复数共轭转置,这就是为什么 fft(Hx)
不等于 fft(Hx' )'
,因为第二次换位改变了虚部的符号。
关于matlab - 如何证明二维DFT的信号可分离性?软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65344702/