fft and complex number operation for dlarray?
11 views (last 30 days)
Show older comments
Is there any ways to do complex number and fft operations for dlarray?
I'm trying to use auto differentiation to calculate the gradient of a mse loss function.
init_phase = 2*pi*rand(1080,1080)-pi;
phase = dlarray(init_phase,'SS');
in_complex_field = ones(size(phase,1,2)).*exp(1j.*phase);
target_amp = im2double(imread('1,bmp'));
out_complex_field = fft2(ifftshift(in_complex_field));
out_amp = abs(out_complex_field).^2;
mse_val = mse(out_amp, target_amp);
grad = dlgradient(mse_val,phase);
Although I could do basic complex number operations with separable real and imaginary parts,
[real,imag] = polar_to_rect(ones(size(phase,1,2)),phase);
in_complex_field = cat(3,real,imag);
is there any ways that I could do fft2 operation with dlarray?
0 Comments
Accepted Answer
Aditya Patil
on 18 Nov 2020
As of now, fft does not support dlarray. This is an known issue, and it might get fixed in any upcoming release.
2 Comments
Hengfa Lu
on 15 Sep 2021
Hi Aditya, I want to follow up to see if fft supports dlarray now? Thank you.
Aditya Patil
on 16 Sep 2021
More Answers (0)
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!