How to reduce the computation time of for loop?

1 view (last 30 days)
Dear Experts,
I have a query regarding my code below, it takes long time to process the loop, could you please guide how to reduce the processing time.
img = zeros(M,N);
for ii = 3264:64:86610 % sorted for one complete rotation
dR = sqrt((R0*cos(alpha*pi/180).*cos(Turntable_angle(ii)*pi/180) + x_mat).^2 + (R0*cos(alpha*pi/180).*sin(Turntable_angle(ii)*pi/180) + y_mat).^2 + (z_mat - R0*sin(alpha*pi/180)).^2) - R0;
for jj = 1:length(Freq_vec)
S1 = data_matrix; % data
Sc_win = S1.*repmat(hanning(size(S1,2)).',size(S1,1),1); % apply window
S = ifftshift(ifft(Sc_win,Nfft,2),2);
img = img + S(ii,jj).*exp(1j*4*pi*Freq_vec(jj)/c0*dR);
end
end
I look forward to receive your valueable suggestions, thank you so much!

Accepted Answer

Johan
Johan on 8 Jul 2022
Edited: Johan on 8 Jul 2022
You can likely vectorize your code:
i_loop = 3264:64:86610 ;
M = size(i_loop,1);
N = 25;
Freq_vec = rand(N,1);
Turntable_angle = rand(i_loop(end),1);
R0 = 1;
x_mat = 1;
y_mat = 1;
z_mat = 1;
alpha = 1;
c0 = 1;
S1 = rand(i_loop(end),N); % data
% You did not share these function but I assume S is the same size as S1
% Sc_win = S1.*repmat(hanning(size(S1,2)).',size(S1,1),1); % apply window
% S = ifftshift(ifft(Sc_win,Nfft,2),2);
tic
dR = sqrt((R0*cos(alpha*pi/180).*cos(Turntable_angle(i_loop)*pi/180) + x_mat).^2 +...
(R0*cos(alpha*pi/180).*sin(Turntable_angle(i_loop)*pi/180) + y_mat).^2 +...
(z_mat - R0*sin(alpha*pi/180)).^2) - R0;
imgvec = S1(i_loop,:).*exp(1j*4*pi*dR*Freq_vec'/c0);
toc
Elapsed time is 0.008215 seconds.
imgloop = zeros(size(i_loop,2),N);
tic
for i_row = 3264:64:i_loop(end) % sorted for one complete rotation
dR = sqrt((R0*cos(alpha*pi/180).*cos(Turntable_angle(i_row)*pi/180) + x_mat).^2 + (R0*cos(alpha*pi/180).*sin(Turntable_angle(i_row)*pi/180) + y_mat).^2 + (z_mat - R0*sin(alpha*pi/180)).^2) - R0;
for i_col = 1:length(Freq_vec)
%This make all value of imgloop the same, I don't think this is
%intended ?
imgloop = imgloop + S1(i_row,i_col)*exp(1j*4*pi*Freq_vec(i_col)/c0*dR);
end
end
toc
Elapsed time is 0.665726 seconds.
unique(imgloop)
ans = -7.4497e+02 + 3.1083e+03i
unique(imgvec)
ans =
0.0001 + 0.0001i -0.0002 + 0.0000i 0.0002 + 0.0002i -0.0000 + 0.0003i 0.0002 + 0.0002i 0.0002 + 0.0003i 0.0002 - 0.0003i 0.0002 + 0.0003i -0.0004 + 0.0000i -0.0003 + 0.0002i -0.0004 + 0.0001i 0.0003 - 0.0002i 0.0003 + 0.0003i 0.0002 + 0.0004i -0.0004 - 0.0003i 0.0005 + 0.0002i -0.0006 + 0.0001i -0.0006 + 0.0000i 0.0006 - 0.0003i -0.0000 - 0.0007i -0.0007 + 0.0000i -0.0008 + 0.0000i -0.0005 + 0.0006i 0.0007 - 0.0004i 0.0007 - 0.0004i -0.0000 - 0.0008i -0.0004 + 0.0007i -0.0001 + 0.0009i 0.0007 + 0.0006i -0.0008 - 0.0005i 0.0007 + 0.0006i -0.0010 + 0.0001i 0.0008 + 0.0007i 0.0008 - 0.0007i -0.0009 - 0.0006i 0.0009 + 0.0007i 0.0008 - 0.0007i -0.0007 + 0.0008i 0.0009 + 0.0007i 0.0006 + 0.0010i 0.0007 + 0.0010i -0.0004 - 0.0012i 0.0009 + 0.0009i 0.0010 + 0.0008i 0.0007 + 0.0011i -0.0013 - 0.0004i -0.0014 - 0.0003i -0.0009 + 0.0011i -0.0012 - 0.0009i -0.0015 - 0.0003i -0.0015 - 0.0003i 0.0013 + 0.0010i -0.0014 + 0.0009i -0.0017 + 0.0001i -0.0009 + 0.0014i -0.0002 + 0.0017i -0.0002 + 0.0017i 0.0009 + 0.0015i -0.0015 + 0.0009i 0.0015 - 0.0008i -0.0009 + 0.0015i -0.0001 - 0.0018i -0.0001 - 0.0018i -0.0018 + 0.0001i -0.0001 - 0.0018i 0.0009 + 0.0016i 0.0018 + 0.0006i 0.0015 + 0.0012i -0.0019 + 0.0002i 0.0019 + 0.0006i -0.0013 + 0.0015i -0.0017 + 0.0012i -0.0017 - 0.0012i 0.0012 - 0.0017i 0.0016 + 0.0013i 0.0017 + 0.0013i 0.0016 - 0.0014i -0.0006 - 0.0020i -0.0021 - 0.0005i -0.0018 + 0.0012i -0.0003 + 0.0023i 0.0009 - 0.0021i -0.0015 + 0.0017i 0.0022 + 0.0007i 0.0009 - 0.0022i 0.0010 - 0.0022i -0.0004 + 0.0025i -0.0004 + 0.0025i -0.0001 - 0.0026i 0.0021 - 0.0017i -0.0027 + 0.0004i 0.0015 - 0.0023i -0.0028 + 0.0005i -0.0025 + 0.0016i 0.0016 - 0.0025i 0.0029 + 0.0010i -0.0030 + 0.0002i -0.0026 + 0.0016i 0.0029 + 0.0010i -0.0026 + 0.0016i 0.0025 + 0.0019i -0.0027 + 0.0017i -0.0017 + 0.0028i -0.0033 + 0.0004i 0.0017 - 0.0029i 0.0026 - 0.0022i 0.0025 + 0.0023i -0.0029 + 0.0019i 0.0019 - 0.0029i 0.0030 - 0.0017i -0.0001 - 0.0035i -0.0035 + 0.0002i -0.0035 + 0.0004i 0.0028 + 0.0022i -0.0036 + 0.0002i 0.0028 - 0.0023i -0.0005 + 0.0036i -0.0005 + 0.0036i -0.0036 - 0.0009i 0.0035 + 0.0011i -0.0036 - 0.0010i 0.0030 + 0.0023i -0.0005 + 0.0038i 0.0031 + 0.0024i -0.0038 - 0.0010i 0.0030 + 0.0025i 0.0031 + 0.0025i -0.0005 + 0.0040i 0.0031 + 0.0025i -0.0033 - 0.0024i -0.0040 + 0.0007i 0.0022 - 0.0035i 0.0033 + 0.0026i 0.0023 - 0.0035i -0.0002 - 0.0043i 0.0034 + 0.0026i 0.0018 - 0.0039i -0.0028 + 0.0033i -0.0022 + 0.0038i -0.0045 + 0.0003i 0.0036 + 0.0028i 0.0025 - 0.0038i -0.0015 - 0.0043i 0.0024 + 0.0039i 0.0037 + 0.0028i 0.0034 + 0.0032i 0.0037 + 0.0029i -0.0031 + 0.0035i -0.0031 + 0.0036i -0.0047 + 0.0003i -0.0041 + 0.0025i -0.0048 - 0.0011i -0.0013 - 0.0047i 0.0022 - 0.0044i -0.0049 + 0.0009i -0.0042 + 0.0027i -0.0042 - 0.0030i 0.0027 + 0.0043i -0.0033 + 0.0039i -0.0003 - 0.0052i -0.0052 + 0.0003i -0.0002 - 0.0053i 0.0042 + 0.0033i -0.0035 + 0.0040i 0.0047 - 0.0026i -0.0029 + 0.0045i 0.0040 + 0.0037i -0.0030 + 0.0046i 0.0028 + 0.0048i 0.0053 + 0.0018i 0.0043 + 0.0035i 0.0029 + 0.0049i 0.0045 + 0.0035i 0.0031 + 0.0048i -0.0029 + 0.0049i -0.0056 - 0.0013i 0.0046 + 0.0035i -0.0048 + 0.0032i -0.0031 + 0.0049i 0.0051 - 0.0028i -0.0049 + 0.0032i 0.0046 + 0.0036i -0.0002 - 0.0059i -0.0033 + 0.0049i 0.0044 - 0.0038i -0.0021 - 0.0055i -0.0059 + 0.0003i -0.0060 + 0.0003i -0.0002 - 0.0060i -0.0049 - 0.0035i -0.0059 + 0.0010i 0.0032 + 0.0051i -0.0051 + 0.0032i 0.0048 + 0.0037i -0.0003 - 0.0061i -0.0052 + 0.0032i -0.0061 + 0.0003i -0.0052 + 0.0032i -0.0050 - 0.0035i 0.0031 - 0.0052i 0.0048 + 0.0037i -0.0052 + 0.0032i -0.0021 - 0.0058i -0.0007 + 0.0061i 0.0033 - 0.0053i -0.0053 + 0.0033i -0.0063 + 0.0004i -0.0062 + 0.0012i -0.0054 + 0.0033i 0.0026 - 0.0058i 0.0047 + 0.0043i 0.0027 - 0.0058i -0.0064 + 0.0004i 0.0034 - 0.0056i 0.0051 + 0.0040i -0.0056 + 0.0035i -0.0066 + 0.0004i -0.0057 + 0.0035i -0.0044 + 0.0052i 0.0053 + 0.0043i 0.0052 - 0.0044i -0.0057 + 0.0038i -0.0056 - 0.0040i -0.0044 + 0.0053i 0.0028 - 0.0063i -0.0068 - 0.0014i -0.0060 + 0.0037i -0.0036 + 0.0061i -0.0071 + 0.0004i 0.0057 + 0.0044i 0.0041 + 0.0059i -0.0037 + 0.0061i -0.0022 - 0.0069i 0.0055 - 0.0047i -0.0011 + 0.0072i 0.0057 + 0.0046i -0.0074 + 0.0004i -0.0063 + 0.0040i 0.0038 - 0.0064i -0.0074 + 0.0004i -0.0010 + 0.0076i -0.0065 + 0.0041i 0.0032 - 0.0070i 0.0057 + 0.0053i 0.0042 + 0.0065i 0.0074 + 0.0026i 0.0060 - 0.0051i -0.0067 + 0.0042i 0.0046 + 0.0065i 0.0047 + 0.0066i -0.0052 + 0.0063i -0.0043 + 0.0069i -0.0081 + 0.0005i -0.0023 - 0.0078i -0.0023 - 0.0078i 0.0078 + 0.0025i -0.0067 - 0.0048i 0.0062 - 0.0054i -0.0003 - 0.0083i -0.0070 + 0.0046i 0.0066 + 0.0053i -0.0085 + 0.0005i -0.0011 + 0.0084i -0.0085 + 0.0004i -0.0083 - 0.0021i 0.0035 - 0.0078i 0.0065 - 0.0056i -0.0073 + 0.0047i -0.0003 - 0.0088i -0.0074 + 0.0048i 0.0064 + 0.0060i -0.0045 + 0.0076i -0.0088 + 0.0006i -0.0073 - 0.0052i 0.0078 - 0.0043i 0.0071 + 0.0055i 0.0066 + 0.0061i -0.0015 + 0.0089i -0.0048 + 0.0076i -0.0090 + 0.0006i 0.0067 + 0.0062i -0.0058 + 0.0070i -0.0091 + 0.0013i 0.0054 + 0.0074i -0.0059 + 0.0071i 0.0053 + 0.0076i -0.0075 - 0.0054i 0.0082 - 0.0044i 0.0068 + 0.0064i -0.0060 + 0.0072i -0.0080 + 0.0049i -0.0005 - 0.0095i 0.0075 + 0.0058i -0.0093 - 0.0021i 0.0084 - 0.0046i -0.0003 - 0.0095i 0.0056 + 0.0077i -0.0049 + 0.0083i 0.0045 - 0.0085i -0.0053 + 0.0081i -0.0003 - 0.0097i -0.0095 - 0.0021i 0.0053 - 0.0081i 0.0040 - 0.0089i -0.0005 - 0.0097i -0.0063 + 0.0074i -0.0003 - 0.0098i 0.0078 + 0.0060i 0.0087 - 0.0049i 0.0059 + 0.0081i 0.0059 + 0.0082i -0.0015 + 0.0100i -0.0015 + 0.0100i 0.0074 + 0.0069i 0.0056 + 0.0086i -0.0103 + 0.0012i 0.0090 - 0.0051i -0.0089 + 0.0054i -0.0067 + 0.0080i -0.0089 + 0.0055i 0.0048 - 0.0094i -0.0105 + 0.0018i 0.0084 + 0.0066i -0.0003 - 0.0107i 0.0083 + 0.0067i -0.0016 + 0.0107i -0.0017 + 0.0107i 0.0104 + 0.0034i -0.0109 + 0.0006i -0.0054 + 0.0095i 0.0055 + 0.0095i 0.0088 + 0.0067i -0.0014 + 0.0110i -0.0003 - 0.0111i -0.0015 + 0.0110i -0.0058 + 0.0096i -0.0095 + 0.0059i 0.0058 - 0.0097i 0.0066 + 0.0091i -0.0020 + 0.0111i -0.0094 + 0.0063i -0.0113 + 0.0006i 0.0045 - 0.0104i -0.0005 - 0.0113i -0.0074 + 0.0087i -0.0114 + 0.0006i -0.0115 + 0.0005i 0.0090 + 0.0073i 0.0101 - 0.0057i 0.0101 - 0.0057i 0.0050 - 0.0105i -0.0005 - 0.0117i 0.0103 - 0.0055i -0.0115 + 0.0022i -0.0062 + 0.0100i -0.0101 + 0.0062i 0.0104 - 0.0059i 0.0095 + 0.0073i -0.0005 - 0.0120i 0.0095 + 0.0074i 0.0068 + 0.0100i 0.0066 + 0.0101i -0.0059 + 0.0106i -0.0103 + 0.0065i 0.0072 + 0.0098i -0.0104 + 0.0063i -0.0037 - 0.0117i 0.0090 + 0.0084i -0.0079 + 0.0095i 0.0069 - 0.0103i 0.0097 + 0.0078i 0.0091 + 0.0085i -0.0122 - 0.0027i 0.0110 - 0.0060i -0.0107 + 0.0066i -0.0080 + 0.0097i -0.0062 + 0.0109i 0.0111 - 0.0060i 0.0093 + 0.0086i 0.0072 + 0.0106i 0.0069 - 0.0108i -0.0083 + 0.0097i 0.0113 - 0.0061i 0.0094 + 0.0088i -0.0109 + 0.0067i -0.0005 - 0.0128i -0.0084 + 0.0098i 0.0094 + 0.0088i -0.0068 + 0.0109i 0.0067 + 0.0110i -0.0125 - 0.0033i -0.0006 - 0.0130i -0.0130 + 0.0007i 0.0072 - 0.0109i 0.0051 - 0.0120i 0.0103 + 0.0080i -0.0131 + 0.0007i -0.0067 + 0.0113i 0.0104 + 0.0080i -0.0109 + 0.0073i 0.0059 - 0.0117i 0.0072 - 0.0111i -0.0039 - 0.0127i 0.0077 + 0.0108i 0.0103 + 0.0083i -0.0114 + 0.0071i 0.0106 + 0.0082i -0.0109 - 0.0079i 0.0107 + 0.0082i 0.0107 + 0.0083i 0.0063 - 0.0120i -0.0134 + 0.0021i -0.0131 - 0.0036i 0.0073 + 0.0115i -0.0069 + 0.0117i -0.0132 - 0.0033i 0.0070 - 0.0117i 0.0107 + 0.0086i 0.0108 + 0.0084i 0.0103 - 0.0090i 0.0056 - 0.0125i -0.0067 + 0.0120i -0.0069 + 0.0119i -0.0117 + 0.0072i 0.0109 + 0.0084i -0.0136 + 0.0022i 0.0107 + 0.0087i 0.0073 + 0.0118i 0.0110 + 0.0084i -0.0136 - 0.0028i -0.0019 + 0.0138i -0.0116 + 0.0078i 0.0058 - 0.0127i -0.0117 + 0.0077i 0.0070 + 0.0121i -0.0140 + 0.0008i 0.0109 + 0.0088i 0.0069 + 0.0123i -0.0074 + 0.0121i 0.0112 + 0.0087i 0.0112 + 0.0086i -0.0119 + 0.0078i 0.0065 - 0.0126i 0.0075 + 0.0121i -0.0117 - 0.0082i 0.0108 - 0.0094i -0.0121 + 0.0075i 0.0109 - 0.0093i -0.0020 + 0.0142i -0.0077 + 0.0122i -0.0092 + 0.0111i -0.0144 + 0.0008i -0.0092 + 0.0111i -0.0143 + 0.0022i 0.0080 + 0.0120i 0.0115 + 0.0089i 0.0113 + 0.0091i -0.0146 + 0.0007i -0.0075 + 0.0126i -0.0026 + 0.0145i -0.0123 + 0.0081i 0.0084 + 0.0121i 0.0128 - 0.0073i -0.0044 - 0.0141i -0.0008 - 0.0149i 0.0114 - 0.0097i 0.0065 - 0.0136i 0.0080 + 0.0129i -0.0148 - 0.0032i -0.0022 + 0.0151i -0.0153 + 0.0009i -0.0152 + 0.0022i -0.0154 + 0.0008i 0.0113 + 0.0105i -0.0153 + 0.0026i -0.0079 + 0.0133i 0.0085 - 0.0130i 0.0118 - 0.0102i 0.0137 - 0.0075i -0.0081 + 0.0133i -0.0133 + 0.0082i -0.0156 + 0.0010i 0.0120 - 0.0101i -0.0134 + 0.0083i 0.0121 - 0.0101i 0.0083 - 0.0134i 0.0140 - 0.0076i 0.0138 - 0.0079i -0.0134 + 0.0086i -0.0159 + 0.0018i 0.0125 + 0.0100i 0.0084 + 0.0136i 0.0080 + 0.0139i -0.0134 + 0.0088i -0.0007 - 0.0161i 0.0118 + 0.0110i -0.0131 - 0.0094i -0.0051 - 0.0153i 0.0128 + 0.0099i -0.0057 - 0.0152i 0.0127 + 0.0102i -0.0007 - 0.0163i -0.0086 + 0.0138i -0.0164 + 0.0007i -0.0008 - 0.0164i -0.0138 + 0.0089i -0.0165 + 0.0008i 0.0075 - 0.0149i 0.0094 + 0.0138i -0.0006 - 0.0167i -0.0165 + 0.0024i -0.0008 - 0.0167i -0.0082 + 0.0146i -0.0137 - 0.0097i 0.0086 + 0.0144i -0.0166 + 0.0024i -0.0086 + 0.0144i -0.0163 - 0.0040i -0.0111 + 0.0127i -0.0027 + 0.0167i 0.0132 + 0.0107i -0.0164 - 0.0043i -0.0145 + 0.0088i -0.0171 + 0.0010i -0.0087 + 0.0147i 0.0097 + 0.0141i 0.0151 - 0.0082i 0.0150 - 0.0084i -0.0052 - 0.0164i -0.0024 + 0.0171i -0.0024 + 0.0172i 0.0092 + 0.0147i -0.0094 + 0.0147i 0.0097 - 0.0145i -0.0149 + 0.0092i 0.0091 + 0.0150i -0.0085 + 0.0153i -0.0021 + 0.0174i -0.0096 + 0.0147i 0.0069 - 0.0161i -0.0149 + 0.0093i 0.0155 - 0.0084i 0.0167 + 0.0055i 0.0097 - 0.0147i -0.0176 + 0.0011i 0.0095 - 0.0149i -0.0092 + 0.0151i 0.0141 + 0.0109i 0.0070 - 0.0164i -0.0030 + 0.0176i -0.0116 + 0.0136i -0.0094 + 0.0152i 0.0141 + 0.0110i -0.0175 - 0.0038i -0.0094 + 0.0154i -0.0176 - 0.0045i -0.0155 + 0.0095i 0.0172 + 0.0057i -0.0179 + 0.0034i 0.0160 - 0.0088i 0.0142 + 0.0115i 0.0145 + 0.0112i -0.0027 + 0.0181i 0.0145 + 0.0113i -0.0029 + 0.0182i -0.0118 + 0.0142i 0.0106 + 0.0151i 0.0146 + 0.0113i 0.0144 + 0.0116i -0.0090 + 0.0162i -0.0122 + 0.0141i -0.0151 - 0.0110i 0.0094 + 0.0162i 0.0110 + 0.0151i -0.0184 + 0.0032i -0.0159 + 0.0098i -0.0151 - 0.0110i 0.0104 - 0.0156i -0.0100 + 0.0158i -0.0186 + 0.0025i -0.0025 + 0.0186i -0.0188 + 0.0011i 0.0096 + 0.0162i 0.0179 + 0.0061i 0.0104 - 0.0158i 0.0179 + 0.0060i 0.0150 + 0.0116i -0.0161 + 0.0100i -0.0188 + 0.0025i 0.0167 - 0.0092i -0.0191 + 0.0010i 0.0104 - 0.0161i 0.0182 + 0.0059i 0.0144 - 0.0126i -0.0123 + 0.0147i -0.0164 + 0.0101i 0.0152 + 0.0118i 0.0084 - 0.0173i 0.0099 - 0.0165i 0.0141 + 0.0132i 0.0102 - 0.0166i 0.0142 + 0.0133i -0.0025 + 0.0193i 0.0098 + 0.0170i 0.0155 + 0.0120i -0.0167 + 0.0103i 0.0105 - 0.0166i -0.0060 - 0.0187i 0.0151 - 0.0127i 0.0151 - 0.0128i -0.0026 + 0.0196i 0.0187 + 0.0064i -0.0160 - 0.0116i 0.0175 - 0.0095i -0.0132 + 0.0150i -0.0127 + 0.0154i 0.0156 + 0.0126i -0.0025 + 0.0199i 0.0091 - 0.0179i 0.0153 - 0.0131i -0.0171 + 0.0106i 0.0082 - 0.0184i -0.0033 + 0.0199i 0.0161 + 0.0125i -0.0071 - 0.0191i 0.0159 + 0.0128i -0.0203 + 0.0026i -0.0036 + 0.0201i 0.0149 + 0.0140i 0.0180 - 0.0098i -0.0203 + 0.0027i 0.0160 + 0.0129i 0.0163 + 0.0125i 0.0101 + 0.0179i -0.0105 + 0.0177i -0.0206 + 0.0012i -0.0172 + 0.0114i -0.0207 + 0.0012i 0.0197 + 0.0066i 0.0090 - 0.0187i 0.0196 + 0.0069i -0.0207 + 0.0012i 0.0110 + 0.0176i 0.0158 - 0.0135i -0.0137 + 0.0156i -0.0060 - 0.0200i -0.0062 - 0.0199i 0.0089 - 0.0189i 0.0199 + 0.0068i -0.0138 + 0.0158i 0.0154 + 0.0144i 0.0155 + 0.0144i 0.0167 + 0.0129i 0.0200 + 0.0069i -0.0103 + 0.0185i -0.0176 + 0.0117i 0.0093 - 0.0191i -0.0209 + 0.0037i -0.0136 + 0.0164i -0.0138 + 0.0162i -0.0139 + 0.0163i 0.0094 - 0.0192i 0.0095 - 0.0192i -0.0065 - 0.0204i -0.0070 - 0.0203i 0.0170 + 0.0131i 0.0167 + 0.0135i -0.0184 + 0.0112i -0.0209 - 0.0053i -0.0111 + 0.0185i -0.0175 - 0.0127i -0.0033 + 0.0214i 0.0172 + 0.0133i 0.0127 + 0.0177i 0.0114 + 0.0186i 0.0172 + 0.0133i 0.0173 + 0.0134i -0.0215 + 0.0040i 0.0127 + 0.0179i 0.0170 + 0.0138i -0.0114 + 0.0188i 0.0161 + 0.0150i 0.0124 + 0.0182i -0.0217 + 0.0040i 0.0211 + 0.0069i 0.0175 + 0.0136i -0.0111 + 0.0193i 0.0173 + 0.0140i 0.0176 + 0.0136i -0.0119 + 0.0189i -0.0182 - 0.0129i -0.0064 - 0.0215i -0.0220 + 0.0040i -0.0121 + 0.0189i -0.0222 + 0.0032i -0.0182 - 0.0132i -0.0183 - 0.0130i -0.0144 + 0.0174i -0.0193 + 0.0118i -0.0223 + 0.0041i 0.0216 + 0.0069i 0.0177 + 0.0142i 0.0179 + 0.0140i 0.0180 + 0.0139i 0.0180 + 0.0140i 0.0216 + 0.0071i -0.0228 + 0.0011i 0.0171 - 0.0150i 0.0166 + 0.0156i -0.0009 - 0.0228i -0.0194 + 0.0120i -0.0077 - 0.0216i -0.0229 + 0.0013i -0.0032 + 0.0227i 0.0168 + 0.0157i -0.0113 + 0.0202i -0.0010 - 0.0232i -0.0232 + 0.0013i -0.0114 + 0.0203i -0.0127 + 0.0195i 0.0182 + 0.0146i 0.0119 + 0.0202i 0.0223 + 0.0072i 0.0120 + 0.0202i 0.0183 + 0.0148i 0.0187 + 0.0144i 0.0173 + 0.0161i -0.0132 + 0.0196i -0.0156 + 0.0179i -0.0237 + 0.0012i -0.0237 + 0.0014i 0.0226 + 0.0076i -0.0238 + 0.0016i 0.0227 + 0.0073i -0.0239 + 0.0016i 0.0183 - 0.0155i -0.0202 + 0.0129i 0.0190 + 0.0146i 0.0187 + 0.0151i 0.0228 + 0.0076i -0.0027 + 0.0239i -0.0034 + 0.0238i -0.0008 - 0.0241i 0.0210 - 0.0119i 0.0227 + 0.0080i 0.0129 - 0.0204i 0.0230 + 0.0074i -0.0158 + 0.0182i 0.0188 + 0.0151i -0.0241 + 0.0014i -0.0042 + 0.0238i 0.0128 - 0.0205i -0.0043 + 0.0238i 0.0099 - 0.0221i 0.0192 + 0.0148i 0.0192 + 0.0148i 0.0129 - 0.0206i -0.0128 + 0.0207i -0.0244 + 0.0014i -0.0013 - 0.0245i -0.0242 + 0.0040i -0.0201 - 0.0141i -0.0010 - 0.0246i -0.0207 + 0.0135i 0.0186 - 0.0163i -0.0161 + 0.0188i -0.0247 + 0.0013i -0.0209 + 0.0134i -0.0248 + 0.0014i -0.0034 + 0.0247i -0.0249 + 0.0014i -0.0128 + 0.0214i 0.0139 - 0.0208i -0.0242 - 0.0067i 0.0198 + 0.0154i -0.0251 + 0.0014i 0.0239 + 0.0078i 0.0239 + 0.0081i 0.0103 - 0.0230i -0.0251 + 0.0030i 0.0104 - 0.0231i -0.0247 - 0.0052i -0.0205 - 0.0148i 0.0136 + 0.0214i -0.0217 + 0.0132i -0.0248 - 0.0056i 0.0198 + 0.0160i 0.0135 - 0.0217i -0.0217 + 0.0134i 0.0203 + 0.0156i 0.0194 - 0.0168i -0.0217 + 0.0139i -0.0248 - 0.0069i 0.0224 - 0.0129i 0.0202 + 0.0163i -0.0259 + 0.0015i 0.0141 + 0.0218i 0.0205 + 0.0159i 0.0137 - 0.0221i 0.0228 - 0.0126i -0.0168 + 0.0199i -0.0258 + 0.0034i 0.0247 + 0.0083i 0.0207 + 0.0159i -0.0217 + 0.0146i -0.0261 + 0.0015i 0.0110 - 0.0239i -0.0035 + 0.0260i -0.0009 - 0.0263i 0.0134 + 0.0228i -0.0172 + 0.0201i -0.0137 + 0.0227i 0.0108 - 0.0242i 0.0143 - 0.0223i -0.0265 + 0.0014i -0.0227 + 0.0138i -0.0132 + 0.0231i -0.0263 + 0.0044i -0.0149 + 0.0222i 0.0211 + 0.0164i 0.0212 + 0.0163i 0.0234 - 0.0131i -0.0134 + 0.0232i -0.0172 + 0.0207i 0.0214 + 0.0165i -0.0037 + 0.0268i 0.0145 + 0.0229i -0.0041 + 0.0268i 0.0142 + 0.0231i -0.0151 + 0.0226i 0.0139 - 0.0233i 0.0216 + 0.0166i -0.0012 - 0.0272i 0.0216 + 0.0167i -0.0145 + 0.0233i -0.0139 + 0.0236i 0.0213 + 0.0172i -0.0143 + 0.0234i -0.0274 + 0.0018i 0.0260 + 0.0089i 0.0142 - 0.0235i -0.0235 + 0.0144i 0.0214 + 0.0173i 0.0209 - 0.0180i -0.0134 + 0.0242i -0.0012 - 0.0276i 0.0145 - 0.0236i 0.0216 + 0.0174i -0.0274 + 0.0043i -0.0270 - 0.0062i 0.0216 + 0.0174i 0.0241 - 0.0138i -0.0278 + 0.0015i 0.0213 - 0.0180i 0.0221 + 0.0172i 0.0222 + 0.0171i -0.0152 + 0.0235i 0.0144 + 0.0240i -0.0032 + 0.0279i 0.0222 + 0.0172i -0.0014 - 0.0281i 0.0266 + 0.0091i -0.0279 + 0.0039i 0.0223 + 0.0172i -0.0281 + 0.0014i 0.0140 + 0.0245i 0.0166 + 0.0228i -0.0239 + 0.0151i 0.0206 + 0.0193i 0.0207 + 0.0193i -0.0274 - 0.0070i -0.0281 + 0.0041i 0.0250 - 0.0135i -0.0274 - 0.0075i -0.0157 + 0.0237i -0.0236 + 0.0158i 0.0215 - 0.0186i 0.0163 + 0.0234i 0.0155 + 0.0239i -0.0032 + 0.0284i 0.0123 - 0.0258i 0.0271 + 0.0092i 0.0273 + 0.0087i 0.0228 + 0.0175i -0.0287 + 0.0015i 0.0272 + 0.0095i -0.0288 + 0.0017i -0.0243 + 0.0157i -0.0040 + 0.0286i 0.0158 - 0.0243i 0.0226 + 0.0182i -0.0236 - 0.0168i -0.0290 + 0.0017i -0.0155 + 0.0245i -0.0186 + 0.0222i 0.0222 - 0.0187i -0.0290 + 0.0015i -0.0290 + 0.0018i 0.0254 - 0.0142i 0.0254 - 0.0144i -0.0292 + 0.0015i 0.0224 - 0.0188i -0.0239 - 0.0169i 0.0151 - 0.0250i -0.0282 - 0.0077i 0.0156 + 0.0248i 0.0228 + 0.0184i -0.0085 - 0.0281i 0.0257 - 0.0143i -0.0151 + 0.0252i 0.0232 + 0.0181i -0.0044 + 0.0291i -0.0286 - 0.0069i 0.0158 + 0.0249i -0.0291 + 0.0049i -0.0040 + 0.0292i 0.0230 + 0.0185i -0.0035 + 0.0293i -0.0041 + 0.0293i 0.0259 - 0.0145i -0.0010 - 0.0297i -0.0148 + 0.0259i 0.0125 - 0.0272i -0.0242 - 0.0176i -0.0012 - 0.0299i 0.0234 + 0.0188i 0.0166 - 0.0250i 0.0237 + 0.0184i 0.0234 + 0.0189i -0.0254 + 0.0164i -0.0192 + 0.0233i -0.0015 - 0.0302i -0.0254 + 0.0165i -0.0259 + 0.0159i 0.0177 + 0.0247i -0.0015 - 0.0304i -0.0253 + 0.0170i -0.0045 + 0.0301i -0.0260 + 0.0159i -0.0158 + 0.0262i -0.0048 + 0.0302i 0.0161 - 0.0261i 0.0162 - 0.0260i 0.0224 + 0.0209i -0.0306 + 0.0016i -0.0250 - 0.0177i -0.0044 + 0.0303i -0.0255 + 0.0170i -0.0167 + 0.0257i -0.0261 + 0.0161i -0.0251 - 0.0177i -0.0015 - 0.0307i -0.0151 + 0.0269i -0.0257 + 0.0171i 0.0245 + 0.0188i 0.0234 - 0.0202i 0.0171 - 0.0258i 0.0159 + 0.0267i -0.0300 - 0.0081i -0.0303 - 0.0074i -0.0203 + 0.0236i -0.0306 - 0.0064i 0.0247 + 0.0191i -0.0312 + 0.0015i 0.0124 - 0.0287i -0.0314 + 0.0017i 0.0240 - 0.0204i 0.0181 + 0.0257i 0.0250 + 0.0192i 0.0274 - 0.0156i -0.0268 + 0.0167i 0.0300 + 0.0096i -0.0201 + 0.0244i 0.0242 - 0.0203i 0.0168 - 0.0268i -0.0108 - 0.0297i -0.0036 + 0.0315i -0.0042 + 0.0314i 0.0251 + 0.0194i -0.0176 + 0.0266i 0.0253 + 0.0194i -0.0162 + 0.0276i 0.0234 + 0.0219i -0.0315 + 0.0056i 0.0184 + 0.0262i 0.0245 - 0.0207i -0.0173 + 0.0270i -0.0310 - 0.0082i 0.0235 + 0.0219i 0.0242 - 0.0213i -0.0276 + 0.0168i -0.0208 + 0.0248i -0.0177 + 0.0271i -0.0265 - 0.0188i -0.0096 - 0.0311i 0.0257 + 0.0199i -0.0322 + 0.0051i 0.0251 - 0.0210i 0.0288 - 0.0155i -0.0096 - 0.0313i 0.0254 + 0.0206i 0.0151 - 0.0290i -0.0322 + 0.0060i -0.0324 + 0.0048i 0.0284 - 0.0163i -0.0218 + 0.0246i -0.0163 + 0.0286i -0.0215 + 0.0249i -0.0099 - 0.0314i -0.0329 + 0.0020i 0.0256 + 0.0207i 0.0130 - 0.0303i 0.0172 + 0.0281i -0.0328 + 0.0041i -0.0097 - 0.0315i -0.0046 + 0.0327i 0.0172 - 0.0283i -0.0327 + 0.0051i 0.0180 + 0.0278i -0.0283 + 0.0173i -0.0321 - 0.0081i -0.0333 + 0.0018i -0.0272 - 0.0193i 0.0252 - 0.0219i -0.0333 + 0.0015i 0.0264 + 0.0205i -0.0037 + 0.0332i -0.0333 + 0.0020i 0.0182 - 0.0280i 0.0179 - 0.0283i 0.0294 - 0.0161i 0.0260 + 0.0211i -0.0273 - 0.0194i 0.0246 + 0.0228i 0.0266 + 0.0204i 0.0320 + 0.0102i 0.0262 + 0.0211i -0.0179 + 0.0285i 0.0181 - 0.0283i 0.0173 + 0.0288i 0.0246 + 0.0229i 0.0246 + 0.0229i -0.0168 + 0.0293i 0.0268 + 0.0206i -0.0338 + 0.0018i -0.0054 + 0.0334i -0.0017 - 0.0338i -0.0094 - 0.0326i 0.0249 + 0.0231i -0.0275 - 0.0199i -0.0339 + 0.0017i 0.0264 + 0.0213i -0.0329 - 0.0086i -0.0336 + 0.0053i -0.0011 - 0.0341i 0.0265 + 0.0214i -0.0042 + 0.0338i -0.0340 + 0.0020i -0.0014 - 0.0341i -0.0341 + 0.0018i -0.0057 + 0.0337i -0.0171 + 0.0296i -0.0342 + 0.0019i -0.0041 + 0.0340i 0.0300 - 0.0165i 0.0197 + 0.0280i -0.0280 - 0.0198i 0.0251 + 0.0235i 0.0272 + 0.0210i 0.0174 + 0.0296i -0.0294 + 0.0179i -0.0339 + 0.0062i -0.0294 + 0.0180i 0.0189 + 0.0290i -0.0048 + 0.0343i -0.0010 - 0.0346i 0.0192 - 0.0289i -0.0103 - 0.0331i -0.0344 + 0.0049i -0.0347 + 0.0020i -0.0293 + 0.0189i -0.0336 - 0.0093i -0.0186 + 0.0295i 0.0329 + 0.0115i 0.0331 + 0.0111i -0.0040 + 0.0347i -0.0345 + 0.0056i -0.0349 + 0.0017i -0.0045 + 0.0347i -0.0350 + 0.0018i 0.0263 - 0.0231i 0.0267 - 0.0227i -0.0177 + 0.0303i -0.0285 - 0.0204i 0.0257 + 0.0240i 0.0257 + 0.0240i -0.0011 - 0.0352i 0.0279 + 0.0215i 0.0279 + 0.0216i -0.0293 + 0.0197i -0.0353 + 0.0017i -0.0050 + 0.0350i -0.0302 + 0.0184i -0.0057 + 0.0349i -0.0188 + 0.0300i -0.0018 - 0.0354i 0.0195 + 0.0296i -0.0287 - 0.0209i -0.0288 - 0.0207i -0.0053 + 0.0351i 0.0193 - 0.0297i 0.0206 + 0.0289i 0.0209 + 0.0288i -0.0101 - 0.0341i -0.0351 + 0.0066i 0.0272 - 0.0232i 0.0194 - 0.0302i 0.0280 + 0.0225i -0.0292 - 0.0210i 0.0275 - 0.0232i 0.0286 + 0.0220i -0.0360 + 0.0019i -0.0048 + 0.0358i -0.0229 + 0.0279i 0.0159 - 0.0324i -0.0356 + 0.0062i 0.0315 - 0.0179i 0.0343 + 0.0117i 0.0274 - 0.0238i 0.0288 + 0.0221i 0.0316 - 0.0179i -0.0309 + 0.0189i -0.0058 + 0.0358i -0.0360 + 0.0047i 0.0315 - 0.0181i 0.0278 - 0.0234i -0.0358 + 0.0065i -0.0234 + 0.0278i 0.0283 + 0.0228i 0.0266 + 0.0249i 0.0276 - 0.0237i -0.0295 - 0.0213i -0.0017 - 0.0365i -0.0307 + 0.0198i 0.0198 + 0.0307i 0.0290 + 0.0223i -0.0303 + 0.0204i 0.0285 + 0.0230i -0.0366 + 0.0021i 0.0349 + 0.0111i -0.0236 + 0.0280i 0.0279 - 0.0238i 0.0195 - 0.0311i 0.0178 + 0.0322i -0.0042 + 0.0365i -0.0046 + 0.0365i 0.0291 + 0.0226i 0.0350 + 0.0116i 0.0287 + 0.0231i -0.0116 - 0.0350i -0.0193 + 0.0315i -0.0363 + 0.0068i -0.0314 + 0.0194i -0.0057 + 0.0365i -0.0314 + 0.0195i 0.0161 - 0.0333i 0.0190 + 0.0317i 0.0159 - 0.0334i -0.0370 + 0.0019i 0.0293 + 0.0227i 0.0192 - 0.0317i -0.0051 + 0.0367i -0.0302 - 0.0215i 0.0353 + 0.0113i -0.0065 + 0.0365i 0.0295 + 0.0226i -0.0016 - 0.0371i -0.0363 - 0.0078i -0.0371 + 0.0021i -0.0016 - 0.0372i -0.0018 - 0.0373i -0.0368 + 0.0062i 0.0189 + 0.0322i 0.0203 + 0.0314i -0.0017 - 0.0373i -0.0311 + 0.0208i -0.0193 + 0.0321i -0.0246 + 0.0282i 0.0287 - 0.0241i -0.0305 - 0.0218i 0.0329 - 0.0180i 0.0198 - 0.0319i 0.0298 + 0.0229i 0.0189 + 0.0325i 0.0297 + 0.0231i 0.0327 - 0.0186i 0.0329 - 0.0184i -0.0376 + 0.0022i -0.0374 + 0.0052i -0.0367 - 0.0088i 0.0286 - 0.0247i -0.0306 - 0.0222i 0.0201 + 0.0320i -0.0196 + 0.0323i 0.0358 + 0.0120i -0.0365 - 0.0099i -0.0316 + 0.0208i 0.0221 + 0.0307i 0.0333 - 0.0180i 0.0278 + 0.0259i -0.0374 + 0.0066i -0.0374 + 0.0067i -0.0370 - 0.0086i -0.0016 - 0.0380i -0.0380 + 0.0022i 0.0361 + 0.0123i 0.0172 - 0.0340i -0.0196 + 0.0327i 0.0149 - 0.0352i -0.0198 + 0.0327i -0.0054 + 0.0378i -0.0325 + 0.0202i 0.0291 - 0.0250i -0.0373 - 0.0090i -0.0326 + 0.0201i -0.0313 - 0.0222i 0.0304 + 0.0236i -0.0327 + 0.0202i -0.0210 + 0.0323i 0.0195 + 0.0333i 0.0306 + 0.0235i 0.0306 + 0.0236i 0.0198 + 0.0332i -0.0387 + 0.0018i 0.0306 + 0.0237i -0.0387 + 0.0023i 0.0302 + 0.0243i -0.0326 + 0.0211i -0.0059 + 0.0385i 0.0369 + 0.0127i -0.0389 + 0.0026i -0.0121 - 0.0372i -0.0383 - 0.0082i 0.0211 + 0.0330i -0.0046 + 0.0389i -0.0384 - 0.0079i -0.0208 + 0.0333i -0.0056 + 0.0388i 0.0297 - 0.0258i -0.0327 + 0.0219i -0.0386 - 0.0076i -0.0201 + 0.0338i -0.0215 + 0.0330i -0.0052 + 0.0390i 0.0164 - 0.0358i -0.0019 - 0.0394i 0.0183 - 0.0350i 0.0219 + 0.0329i -0.0395 + 0.0023i -0.0111 - 0.0380i 0.0375 + 0.0126i -0.0215 + 0.0333i -0.0109 - 0.0382i -0.0058 + 0.0393i -0.0213 + 0.0336i -0.0258 + 0.0303i 0.0215 + 0.0335i 0.0207 - 0.0342i -0.0054 + 0.0396i 0.0311 + 0.0251i -0.0202 + 0.0345i -0.0394 + 0.0068i -0.0386 - 0.0106i 0.0352 - 0.0192i -0.0342 + 0.0209i -0.0389 - 0.0098i -0.0401 + 0.0018i -0.0327 - 0.0234i -0.0218 + 0.0338i -0.0340 + 0.0215i -0.0053 + 0.0399i 0.0295 + 0.0275i 0.0212 - 0.0344i 0.0315 + 0.0253i 0.0321 + 0.0246i 0.0221 - 0.0339i -0.0224 + 0.0337i 0.0206 + 0.0349i -0.0341 + 0.0219i -0.0125 - 0.0386i -0.0406 + 0.0025i 0.0355 - 0.0198i 0.0198 + 0.0355i -0.0047 + 0.0405i 0.0323 + 0.0249i -0.0347 + 0.0215i -0.0342 + 0.0224i 0.0319 + 0.0256i 0.0225 + 0.0342i -0.0349 + 0.0215i -0.0399 - 0.0092i 0.0324 + 0.0251i -0.0348 + 0.0217i 0.0229 - 0.0341i -0.0017 - 0.0410i -0.0123 - 0.0392i -0.0054 + 0.0407i -0.0411 + 0.0020i 0.0326 + 0.0252i 0.0325 + 0.0253i -0.0337 - 0.0238i 0.0359 - 0.0205i 0.0174 - 0.0376i 0.0207 + 0.0360i 0.0323 + 0.0261i -0.0405 - 0.0095i -0.0411 + 0.0061i -0.0203 + 0.0363i 0.0224 - 0.0351i 0.0396 + 0.0129i -0.0415 + 0.0025i 0.0181 - 0.0375i -0.0401 - 0.0112i -0.0049 + 0.0414i 0.0331 + 0.0254i -0.0404 - 0.0105i -0.0418 + 0.0020i -0.0352 + 0.0227i -0.0343 - 0.0241i -0.0128 - 0.0399i 0.0333 + 0.0256i 0.0332 + 0.0258i -0.0065 + 0.0416i -0.0206 + 0.0368i -0.0360 + 0.0219i 0.0234 - 0.0351i -0.0409 - 0.0105i 0.0329 + 0.0266i -0.0130 - 0.0403i 0.0322 - 0.0275i -0.0411 - 0.0103i -0.0227 + 0.0358i -0.0019 - 0.0424i 0.0404 + 0.0131i 0.0336 + 0.0261i 0.0402 + 0.0140i -0.0426 + 0.0022i -0.0425 + 0.0027i 0.0184 - 0.0385i -0.0412 - 0.0113i 0.0321 - 0.0281i 0.0338 + 0.0260i -0.0363 + 0.0225i -0.0355 + 0.0238i 0.0241 + 0.0353i 0.0339 + 0.0262i -0.0146 - 0.0402i 0.0340 + 0.0261i -0.0277 + 0.0327i -0.0240 + 0.0356i -0.0357 + 0.0239i 0.0230 - 0.0364i 0.0217 + 0.0372i -0.0053 + 0.0428i 0.0380 - 0.0205i 0.0329 - 0.0280i -0.0132 - 0.0412i -0.0064 + 0.0429i -0.0354 - 0.0251i -0.0370 + 0.0227i 0.0411 + 0.0141i 0.0239 + 0.0363i 0.0241 - 0.0363i -0.0221 + 0.0375i -0.0354 - 0.0253i 0.0240 - 0.0364i -0.0373 + 0.0227i 0.0319 + 0.0298i -0.0062 + 0.0432i -0.0014 - 0.0437i -0.0238 + 0.0367i 0.0382 - 0.0213i -0.0373 + 0.0228i 0.0213 + 0.0382i 0.0345 + 0.0269i -0.0437 + 0.0021i -0.0437 + 0.0023i 0.0341 + 0.0275i -0.0438 + 0.0023i 0.0321 + 0.0299i -0.0432 + 0.0080i -0.0125 - 0.0421i 0.0225 - 0.0378i -0.0375 + 0.0231i 0.0349 + 0.0269i 0.0337 - 0.0284i -0.0376 + 0.0231i -0.0377 + 0.0230i -0.0428 - 0.0112i 0.0324 + 0.0302i 0.0334 - 0.0291i 0.0420 + 0.0140i -0.0375 + 0.0236i 0.0247 - 0.0369i -0.0018 - 0.0444i 0.0227 + 0.0382i -0.0021 - 0.0444i -0.0073 + 0.0438i -0.0442 + 0.0052i 0.0422 + 0.0142i 0.0183 - 0.0405i 0.0353 + 0.0273i -0.0381 + 0.0232i -0.0155 - 0.0420i 0.0349 + 0.0281i 0.0327 + 0.0306i -0.0444 + 0.0061i 0.0243 + 0.0376i 0.0424 + 0.0145i -0.0373 + 0.0250i -0.0245 + 0.0376i -0.0235 + 0.0383i 0.0175 - 0.0414i -0.0436 - 0.0111i -0.0063 + 0.0446i -0.0235 + 0.0385i 0.0330 + 0.0308i -0.0451 + 0.0025i 0.0330 + 0.0308i -0.0446 + 0.0075i 0.0343 - 0.0295i -0.0381 + 0.0244i 0.0258 + 0.0372i 0.0352 + 0.0284i -0.0446 + 0.0080i -0.0367 - 0.0266i -0.0366 - 0.0267i 0.0254 + 0.0376i 0.0360 + 0.0277i -0.0225 + 0.0395i 0.0343 - 0.0300i 0.0398 - 0.0223i -0.0302 + 0.0342i -0.0126 - 0.0438i 0.0262 + 0.0374i -0.0450 + 0.0076i 0.0362 + 0.0279i 0.0345 - 0.0301i 0.0363 + 0.0279i -0.0057 + 0.0455i 0.0190 - 0.0418i -0.0066 + 0.0455i 0.0401 - 0.0226i -0.0063 + 0.0456i -0.0160 - 0.0431i -0.0374 - 0.0269i -0.0153 - 0.0435i 0.0365 + 0.0282i 0.0273 + 0.0373i 0.0360 + 0.0290i 0.0360 + 0.0291i -0.0067 + 0.0458i 0.0351 - 0.0302i -0.0455 - 0.0092i -0.0232 + 0.0402i 0.0361 + 0.0292i -0.0020 - 0.0464i -0.0380 - 0.0268i -0.0465 + 0.0030i -0.0377 - 0.0274i -0.0460 + 0.0075i 0.0369 + 0.0286i -0.0457 - 0.0094i -0.0462 + 0.0064i 0.0257 - 0.0390i 0.0245 - 0.0398i -0.0382 - 0.0270i -0.0467 + 0.0023i 0.0370 + 0.0287i 0.0365 + 0.0294i 0.0354 - 0.0308i -0.0023 - 0.0469i 0.0409 - 0.0231i -0.0462 + 0.0083i 0.0344 + 0.0320i -0.0398 + 0.0251i -0.0392 + 0.0261i -0.0238 + 0.0408i -0.0314 + 0.0354i -0.0016 - 0.0473i -0.0460 - 0.0110i -0.0068 + 0.0468i 0.0361 - 0.0306i -0.0462 - 0.0104i 0.0375 + 0.0290i -0.0473 + 0.0025i 0.0376 + 0.0290i -0.0470 + 0.0063i -0.0388 - 0.0274i 0.0376 + 0.0289i -0.0023 - 0.0474i -0.0132 - 0.0456i 0.0376 + 0.0290i 0.0347 + 0.0325i -0.0077 + 0.0470i 0.0378 + 0.0291i -0.0257 + 0.0402i -0.0311 + 0.0363i -0.0467 - 0.0103i 0.0451 + 0.0157i -0.0054 + 0.0475i -0.0408 + 0.0249i -0.0246 + 0.0410i 0.0374 + 0.0301i -0.0408 + 0.0255i -0.0253 + 0.0409i 0.0374 + 0.0303i -0.0320 + 0.0360i 0.0382 + 0.0295i 0.0458 + 0.0152i -0.0472 - 0.0102i -0.0238 + 0.0421i -0.0404 + 0.0265i 0.0259 - 0.0408i -0.0474 - 0.0097i -0.0068 + 0.0479i 0.0354 + 0.0330i 0.0195 - 0.0444i -0.0475 - 0.0095i 0.0423 - 0.0238i -0.0259 + 0.0410i -0.0485 + 0.0023i -0.0405 + 0.0267i -0.0070 + 0.0481i -0.0145 - 0.0464i -0.0245 + 0.0421i -0.0054 + 0.0484i 0.0368 - 0.0320i 0.0429 - 0.0232i -0.0408 + 0.0267i 0.0254 - 0.0418i -0.0399 - 0.0282i -0.0084 + 0.0482i -0.0479 - 0.0098i -0.0253 + 0.0418i -0.0395 - 0.0288i -0.0476 - 0.0112i 0.0261 + 0.0415i 0.0467 + 0.0149i 0.0264 + 0.0413i -0.0490 + 0.0028i 0.0359 + 0.0335i 0.0256 - 0.0421i 0.0273 - 0.0410i 0.0391 + 0.0301i -0.0087 + 0.0486i 0.0385 + 0.0310i 0.0431 - 0.0242i 0.0252 + 0.0425i 0.0385 + 0.0311i 0.0192 - 0.0456i -0.0326 + 0.0373i -0.0076 + 0.0490i -0.0486 - 0.0103i -0.0250 + 0.0429i -0.0266 + 0.0419i -0.0423 + 0.0261i -0.0407 - 0.0286i -0.0247 + 0.0432i -0.0023 - 0.0498i -0.0498 + 0.0028i 0.0212 - 0.0451i -0.0254 + 0.0430i 0.0366 + 0.0340i -0.0014 - 0.0499i 0.0388 + 0.0314i 0.0395 + 0.0306i -0.0083 + 0.0493i -0.0019 - 0.0500i -0.0256 + 0.0430i -0.0072 + 0.0495i -0.0330 + 0.0377i -0.0495 + 0.0079i 0.0224 - 0.0448i 0.0382 - 0.0325i 0.0258 - 0.0430i 0.0390 + 0.0315i 0.0397 + 0.0306i -0.0491 - 0.0103i 0.0397 + 0.0308i -0.0502 + 0.0024i -0.0332 + 0.0377i 0.0443 - 0.0238i 0.0391 + 0.0317i -0.0144 - 0.0482i -0.0256 + 0.0433i 0.0392 + 0.0317i 0.0399 + 0.0308i 0.0392 + 0.0317i 0.0284 + 0.0418i -0.0164 - 0.0478i 0.0401 + 0.0309i -0.0073 + 0.0501i -0.0423 + 0.0278i -0.0428 + 0.0271i 0.0272 - 0.0428i 0.0444 - 0.0246i -0.0061 + 0.0504i -0.0066 + 0.0504i 0.0446 - 0.0245i -0.0432 + 0.0268i -0.0492 - 0.0129i -0.0148 - 0.0487i -0.0082 + 0.0502i -0.0069 + 0.0505i -0.0413 - 0.0298i -0.0083 + 0.0503i 0.0272 - 0.0431i 0.0403 + 0.0313i -0.0510 + 0.0027i 0.0405 + 0.0313i -0.0265 + 0.0438i -0.0511 + 0.0026i -0.0427 + 0.0283i -0.0505 + 0.0085i -0.0270 + 0.0435i -0.0277 + 0.0431i -0.0436 + 0.0271i -0.0513 + 0.0029i -0.0513 + 0.0033i 0.0274 + 0.0435i 0.0400 + 0.0324i -0.0440 + 0.0267i 0.0446 - 0.0257i 0.0401 + 0.0323i 0.0407 + 0.0316i -0.0421 - 0.0298i -0.0024 - 0.0515i 0.0491 + 0.0158i -0.0017 - 0.0516i 0.0209 - 0.0472i -0.0084 + 0.0510i 0.0493 + 0.0158i -0.0087 + 0.0510i 0.0451 - 0.0255i -0.0507 - 0.0106i -0.0016 - 0.0518i -0.0066 + 0.0515i 0.0490 + 0.0172i -0.0511 + 0.0090i -0.0021 - 0.0519i -0.0444 + 0.0270i -0.0519 + 0.0029i -0.0508 - 0.0111i -0.0516 + 0.0069i -0.0515 + 0.0081i 0.0492 + 0.0172i -0.0333 + 0.0402i -0.0521 + 0.0027i 0.0267 - 0.0450i -0.0443 + 0.0279i -0.0343 + 0.0395i -0.0511 - 0.0118i 0.0234 - 0.0469i 0.0289 + 0.0437i -0.0518 + 0.0079i -0.0436 + 0.0291i -0.0269 + 0.0450i 0.0416 + 0.0320i -0.0441 + 0.0285i 0.0238 - 0.0468i -0.0524 + 0.0028i -0.0158 - 0.0501i 0.0501 + 0.0160i 0.0282 + 0.0444i 0.0416 + 0.0322i -0.0274 + 0.0450i 0.0499 + 0.0169i -0.0526 + 0.0031i 0.0457 - 0.0262i -0.0076 + 0.0522i 0.0398 - 0.0347i -0.0157 - 0.0504i -0.0522 + 0.0084i 0.0412 + 0.0332i 0.0387 + 0.0361i -0.0516 - 0.0122i -0.0512 - 0.0136i 0.0413 + 0.0333i -0.0077 + 0.0525i 0.0504 + 0.0165i -0.0448 + 0.0286i -0.0276 + 0.0454i -0.0531 + 0.0032i 0.0291 + 0.0446i -0.0096 + 0.0524i -0.0343 + 0.0408i 0.0293 + 0.0445i 0.0421 + 0.0327i 0.0408 - 0.0343i -0.0340 + 0.0411i 0.0298 + 0.0443i 0.0416 + 0.0335i -0.0078 + 0.0529i -0.0093 + 0.0527i -0.0088 + 0.0528i -0.0438 - 0.0307i -0.0277 + 0.0458i 0.0392 + 0.0365i 0.0406 - 0.0349i 0.0423 + 0.0328i 0.0230 - 0.0485i 0.0424 + 0.0329i 0.0426 + 0.0327i 0.0273 + 0.0463i -0.0521 - 0.0133i 0.0409 - 0.0350i 0.0394 + 0.0368i -0.0436 - 0.0317i 0.0394 + 0.0368i 0.0298 - 0.0450i 0.0470 - 0.0265i -0.0539 + 0.0029i -0.0540 + 0.0026i 0.0428 + 0.0331i -0.0441 - 0.0313i 0.0395 + 0.0370i -0.0156 - 0.0518i -0.0289 + 0.0458i -0.0067 + 0.0538i -0.0064 + 0.0538i 0.0428 + 0.0332i 0.0515 + 0.0170i 0.0281 - 0.0464i -0.0016 - 0.0543i 0.0313 + 0.0444i -0.0461 + 0.0287i -0.0286 + 0.0462i -0.0283 + 0.0464i -0.0275 + 0.0469i 0.0431 + 0.0332i -0.0273 + 0.0471i -0.0167 - 0.0519i 0.0282 + 0.0466i 0.0398 + 0.0372i 0.0304 - 0.0453i 0.0399 + 0.0372i 0.0284 + 0.0466i 0.0313 + 0.0447i -0.0442 - 0.0322i -0.0445 - 0.0318i 0.0416 - 0.0357i 0.0401 + 0.0375i 0.0479 - 0.0268i -0.0448 - 0.0317i 0.0435 + 0.0338i -0.0539 - 0.0113i 0.0485 - 0.0262i 0.0429 + 0.0346i -0.0531 - 0.0146i -0.0543 + 0.0096i 0.0480 - 0.0271i 0.0278 + 0.0477i -0.0153 - 0.0531i 0.0319 + 0.0452i 0.0240 - 0.0499i -0.0300 + 0.0465i 0.0431 + 0.0349i -0.0548 + 0.0086i 0.0441 + 0.0339i -0.0172 - 0.0529i -0.0542 - 0.0125i -0.0096 + 0.0548i 0.0529 + 0.0172i -0.0556 + 0.0033i -0.0271 + 0.0487i -0.0366 + 0.0420i -0.0474 + 0.0293i 0.0310 - 0.0464i -0.0281 + 0.0482i -0.0356 + 0.0431i 0.0419 - 0.0370i 0.0485 - 0.0279i -0.0476 + 0.0294i -0.0559 + 0.0032i -0.0471 + 0.0304i 0.0303 - 0.0471i -0.0280 + 0.0485i -0.0552 + 0.0095i 0.0410 + 0.0382i -0.0479 + 0.0292i 0.0410 + 0.0383i -0.0557 + 0.0075i 0.0535 + 0.0174i 0.0412 + 0.0384i 0.0447 + 0.0343i -0.0563 + 0.0035i -0.0559 + 0.0072i 0.0533 + 0.0186i -0.0082 + 0.0558i 0.0440 + 0.0354i 0.0536 + 0.0179i -0.0480 + 0.0298i 0.0537 + 0.0176i -0.0077 + 0.0560i 0.0449 + 0.0345i 0.0449 + 0.0346i -0.0461 - 0.0330i -0.0308 + 0.0476i -0.0550 - 0.0140i -0.0071 + 0.0564i -0.0567 + 0.0035i 0.0500 - 0.0271i 0.0449 + 0.0349i 0.0449 + 0.0350i 0.0416 + 0.0388i 0.0292 + 0.0490i -0.0097 + 0.0562i -0.0024 - 0.0570i -0.0486 + 0.0300i 0.0540 + 0.0188i 0.0300 + 0.0486i 0.0306 + 0.0483i -0.0170 - 0.0546i -0.0571 + 0.0032i 0.0497 - 0.0284i -0.0087 + 0.0566i -0.0569 + 0.0068i -0.0468 - 0.0331i 0.0455 + 0.0350i -0.0019 - 0.0574i 0.0455 + 0.0350i 0.0454 + 0.0352i -0.0570 + 0.0068i 0.0500 - 0.0283i 0.0318 - 0.0479i 0.0317 + 0.0480i 0.0545 + 0.0184i 0.0239 - 0.0523i 0.0260 - 0.0514i 0.0455 + 0.0353i 0.0546 + 0.0181i -0.0491 + 0.0302i 0.0549 + 0.0175i 0.0331 + 0.0472i 0.0436 - 0.0377i -0.0490 + 0.0304i -0.0286 + 0.0500i 0.0438 - 0.0375i -0.0486 + 0.0311i -0.0321 + 0.0479i -0.0090 + 0.0570i 0.0439 - 0.0375i 0.0450 + 0.0362i -0.0491 + 0.0305i -0.0494 + 0.0300i -0.0319 + 0.0482i 0.0450 + 0.0363i 0.0318 - 0.0483i -0.0298 + 0.0496i 0.0325 + 0.0479i -0.0103 + 0.0570i -0.0019 - 0.0579i -0.0578 + 0.0034i 0.0451 + 0.0363i 0.0242 - 0.0526i -0.0186 - 0.0549i 0.0232 - 0.0532i -0.0576 + 0.0069i 0.0452 + 0.0365i -0.0080 + 0.0576i -0.0581 + 0.0029i -0.0312 + 0.0491i -0.0565 - 0.0139i 0.0330 + 0.0479i -0.0023 - 0.0581i 0.0255 - 0.0523i 0.0427 + 0.0396i -0.0574 + 0.0097i 0.0554 + 0.0181i -0.0475 - 0.0337i -0.0382 + 0.0440i 0.0556 + 0.0176i 0.0462 + 0.0356i 0.0313 - 0.0492i 0.0427 + 0.0399i -0.0583 + 0.0036i -0.0185 - 0.0554i -0.0583 + 0.0029i 0.0241 - 0.0532i 0.0445 - 0.0380i 0.0455 + 0.0368i -0.0287 + 0.0510i -0.0501 + 0.0304i 0.0512 - 0.0287i -0.0501 + 0.0306i -0.0586 + 0.0033i -0.0092 + 0.0580i 0.0458 + 0.0369i -0.0587 + 0.0034i -0.0569 - 0.0148i -0.0587 + 0.0037i -0.0477 - 0.0345i -0.0375 + 0.0455i 0.0313 + 0.0500i 0.0467 + 0.0360i 0.0322 + 0.0495i -0.0590 + 0.0036i -0.0068 + 0.0587i 0.0449 - 0.0384i 0.0468 + 0.0361i -0.0069 + 0.0587i -0.0103 + 0.0583i -0.0087 + 0.0586i -0.0387 + 0.0449i 0.0348 + 0.0479i -0.0592 + 0.0036i 0.0469 + 0.0364i -0.0504 + 0.0314i 0.0470 + 0.0364i -0.0505 + 0.0314i 0.0516 - 0.0296i 0.0565 + 0.0187i -0.0508 + 0.0310i 0.0567 + 0.0181i 0.0464 + 0.0375i 0.0471 + 0.0365i 0.0437 + 0.0406i 0.0437 + 0.0406i 0.0472 + 0.0366i 0.0437 + 0.0407i -0.0081 + 0.0593i 0.0439 + 0.0408i 0.0522 - 0.0296i -0.0093 + 0.0593i -0.0076 + 0.0596i -0.0075 + 0.0596i 0.0529 - 0.0287i -0.0322 + 0.0508i 0.0468 + 0.0378i -0.0094 + 0.0595i 0.0344 + 0.0494i -0.0594 + 0.0104i -0.0099 + 0.0595i -0.0383 + 0.0466i 0.0471 + 0.0379i -0.0594 + 0.0113i 0.0321 - 0.0513i 0.0575 + 0.0188i -0.0517 + 0.0316i -0.0186 - 0.0577i 0.0259 - 0.0548i 0.0350 + 0.0495i 0.0330 - 0.0510i 0.0573 + 0.0201i 0.0316 + 0.0519i -0.0089 + 0.0601i 0.0324 - 0.0515i 0.0445 + 0.0415i -0.0306 + 0.0526i 0.0576 + 0.0197i 0.0467 - 0.0391i 0.0533 - 0.0294i -0.0520 + 0.0317i -0.0306 + 0.0527i -0.0080 + 0.0605i 0.0309 + 0.0527i -0.0596 - 0.0134i -0.0610 + 0.0039i -0.0333 + 0.0513i 0.0476 + 0.0384i 0.0448 + 0.0418i 0.0534 - 0.0301i -0.0339 + 0.0511i -0.0327 + 0.0519i 0.0342 + 0.0509i 0.0335 + 0.0514i 0.0487 + 0.0375i -0.0176 - 0.0589i 0.0268 - 0.0554i 0.0488 + 0.0377i 0.0535 - 0.0306i -0.0299 + 0.0539i -0.0335 + 0.0517i -0.0616 + 0.0034i 0.0320 - 0.0527i 0.0489 + 0.0376i 0.0468 - 0.0403i -0.0519 + 0.0334i -0.0616 + 0.0039i -0.0501 - 0.0360i 0.0451 + 0.0422i 0.0471 - 0.0400i -0.0312 + 0.0533i 0.0452 + 0.0422i 0.0321 - 0.0528i 0.0474 - 0.0397i -0.0410 + 0.0463i -0.0526 + 0.0325i -0.0027 - 0.0618i -0.0328 + 0.0525i -0.0527 + 0.0325i -0.0315 + 0.0534i -0.0412 + 0.0463i 0.0454 + 0.0423i 0.0251 - 0.0567i -0.0505 - 0.0361i 0.0484 + 0.0390i 0.0587 + 0.0204i 0.0455 + 0.0423i -0.0313 + 0.0537i 0.0324 + 0.0531i -0.0523 + 0.0336i -0.0106 + 0.0613i -0.0504 - 0.0366i -0.0622 + 0.0037i -0.0519 + 0.0346i 0.0495 + 0.0380i 0.0328 - 0.0531i 0.0337 + 0.0526i -0.0027 - 0.0624i 0.0320 - 0.0536i -0.0080 + 0.0619i -0.0624 + 0.0039i 0.0351 + 0.0517i 0.0496 + 0.0381i -0.0340 + 0.0525i -0.0104 + 0.0617i 0.0543 - 0.0311i -0.0625 + 0.0030i 0.0497 + 0.0381i -0.0026 - 0.0626i -0.0530 + 0.0335i 0.0344 + 0.0524i 0.0266 - 0.0568i -0.0407 + 0.0477i -0.0205 - 0.0593i -0.0627 + 0.0036i 0.0489 + 0.0395i -0.0616 - 0.0128i -0.0628 + 0.0040i -0.0620 + 0.0110i 0.0461 + 0.0429i -0.0523 + 0.0350i 0.0553 - 0.0302i -0.0220 - 0.0591i 0.0461 + 0.0430i 0.0462 + 0.0430i -0.0112 + 0.0622i 0.0464 + 0.0431i -0.0348 + 0.0529i 0.0339 - 0.0535i 0.0350 - 0.0528i -0.0538 + 0.0335i 0.0353 - 0.0528i 0.0494 + 0.0399i 0.0477 - 0.0419i 0.0604 + 0.0196i 0.0340 + 0.0537i -0.0213 - 0.0599i -0.0077 + 0.0631i 0.0605 + 0.0195i -0.0326 + 0.0547i -0.0541 + 0.0335i -0.0543 + 0.0334i -0.0108 + 0.0628i 0.0467 + 0.0435i 0.0466 + 0.0436i 0.0485 - 0.0415i 0.0498 + 0.0401i 0.0506 + 0.0391i -0.0639 + 0.0029i -0.0533 + 0.0354i -0.0029 - 0.0640i 0.0358 + 0.0531i 0.0276 - 0.0579i -0.0641 + 0.0034i 0.0484 - 0.0423i -0.0548 + 0.0335i -0.0547 + 0.0338i 0.0336 - 0.0549i -0.0329 + 0.0553i -0.0353 + 0.0538i 0.0500 + 0.0405i 0.0508 + 0.0395i 0.0471 + 0.0438i 0.0490 - 0.0418i -0.0644 + 0.0031i -0.0540 + 0.0352i 0.0343 - 0.0547i 0.0566 - 0.0311i -0.0627 - 0.0155i -0.0645 + 0.0030i -0.0424 + 0.0487i -0.0411 + 0.0498i -0.0318 + 0.0562i -0.0550 + 0.0340i -0.0331 + 0.0555i 0.0375 + 0.0527i 0.0488 - 0.0425i -0.0647 + 0.0030i 0.0340 - 0.0551i 0.0505 + 0.0406i -0.0647 + 0.0033i 0.0513 + 0.0396i 0.0348 + 0.0547i 0.0356 - 0.0542i 0.0512 + 0.0398i -0.0648 + 0.0039i -0.0635 - 0.0137i -0.0649 + 0.0033i 0.0615 + 0.0210i -0.0649 + 0.0042i -0.0101 + 0.0643i 0.0323 + 0.0567i 0.0270 - 0.0595i -0.0530 - 0.0383i -0.0653 + 0.0039i -0.0366 + 0.0542i 0.0574 - 0.0315i -0.0081 + 0.0649i 0.0278 - 0.0593i 0.0345 + 0.0557i -0.0646 + 0.0107i -0.0556 + 0.0347i 0.0377 + 0.0537i -0.0210 - 0.0622i -0.0425 + 0.0502i 0.0350 + 0.0557i -0.0336 + 0.0566i -0.0561 + 0.0346i -0.0560 + 0.0347i -0.0652 + 0.0094i 0.0372 + 0.0544i -0.0557 + 0.0352i -0.0029 - 0.0659i 0.0321 + 0.0576i -0.0561 + 0.0347i 0.0495 - 0.0436i -0.0551 + 0.0365i 0.0328 + 0.0574i 0.0345 - 0.0565i -0.0195 - 0.0633i 0.0523 + 0.0407i -0.0539 - 0.0386i -0.0662 + 0.0039i 0.0632 + 0.0201i -0.0539 - 0.0386i -0.0196 - 0.0635i 0.0350 - 0.0565i 0.0352 - 0.0563i 0.0526 + 0.0406i -0.0025 - 0.0664i -0.0648 - 0.0145i 0.0526 + 0.0406i -0.0650 - 0.0141i -0.0568 + 0.0347i 0.0519 + 0.0417i -0.0655 + 0.0117i 0.0275 - 0.0606i 0.0505 - 0.0434i 0.0382 + 0.0546i -0.0079 + 0.0662i 0.0310 - 0.0590i -0.0034 - 0.0667i 0.0263 - 0.0615i -0.0440 + 0.0504i -0.0668 + 0.0032i 0.0531 + 0.0408i -0.0668 + 0.0040i -0.0650 - 0.0162i 0.0363 + 0.0563i -0.0212 - 0.0636i 0.0638 + 0.0208i -0.0232 - 0.0629i 0.0515 - 0.0430i 0.0364 + 0.0564i -0.0358 + 0.0568i -0.0371 + 0.0560i -0.0544 - 0.0394i -0.0108 + 0.0664i -0.0672 + 0.0041i 0.0532 + 0.0412i -0.0658 - 0.0141i -0.0338 + 0.0582i -0.0189 - 0.0646i -0.0219 - 0.0637i 0.0512 - 0.0438i -0.0350 + 0.0576i -0.0664 + 0.0118i -0.0549 - 0.0391i -0.0550 - 0.0391i 0.0512 - 0.0439i -0.0566 + 0.0367i -0.0576 + 0.0352i 0.0533 + 0.0414i -0.0439 + 0.0512i 0.0289 - 0.0611i -0.0675 + 0.0043i 0.0290 - 0.0611i 0.0359 + 0.0574i 0.0346 - 0.0582i -0.0085 + 0.0672i 0.0310 - 0.0603i -0.0349 + 0.0581i -0.0096 + 0.0672i 0.0357 + 0.0578i 0.0591 - 0.0336i -0.0372 + 0.0570i 0.0517 - 0.0442i 0.0539 + 0.0416i -0.0680 + 0.0032i -0.0451 + 0.0511i 0.0531 + 0.0428i 0.0334 + 0.0594i 0.0645 + 0.0223i -0.0682 + 0.0035i -0.0555 - 0.0398i 0.0500 + 0.0467i -0.0021 - 0.0684i 0.0356 + 0.0585i 0.0602 - 0.0326i -0.0455 + 0.0512i 0.0542 + 0.0419i 0.0501 + 0.0468i -0.0033 - 0.0685i -0.0685 + 0.0039i -0.0120 + 0.0676i 0.0379 + 0.0572i -0.0686 + 0.0032i 0.0518 - 0.0452i 0.0536 + 0.0431i -0.0561 - 0.0399i -0.0359 + 0.0587i -0.0083 + 0.0683i -0.0678 + 0.0120i 0.0604 - 0.0331i -0.0452 + 0.0520i -0.0688 + 0.0042i 0.0536 + 0.0433i -0.0683 + 0.0094i -0.0449 + 0.0523i -0.0575 + 0.0380i 0.0546 + 0.0422i 0.0538 + 0.0433i 0.0546 + 0.0423i 0.0538 + 0.0434i 0.0349 + 0.0597i 0.0549 + 0.0421i -0.0683 + 0.0114i -0.0588 + 0.0367i -0.0685 + 0.0106i -0.0214 - 0.0659i -0.0208 - 0.0662i 0.0540 + 0.0436i -0.0589 + 0.0368i -0.0451 + 0.0528i 0.0607 - 0.0339i 0.0551 + 0.0425i -0.0080 + 0.0691i 0.0524 - 0.0458i -0.0103 + 0.0689i 0.0550 + 0.0428i 0.0386 + 0.0580i 0.0367 + 0.0593i 0.0319 - 0.0620i -0.0691 + 0.0094i 0.0288 - 0.0636i -0.0353 + 0.0603i -0.0697 + 0.0042i -0.0594 + 0.0367i -0.0698 + 0.0039i 0.0615 - 0.0333i -0.0380 + 0.0588i 0.0554 + 0.0429i 0.0554 + 0.0429i -0.0374 + 0.0593i 0.0556 + 0.0428i -0.0585 + 0.0388i -0.0348 + 0.0609i 0.0555 + 0.0430i 0.0556 + 0.0428i 0.0536 - 0.0454i -0.0375 + 0.0594i 0.0359 - 0.0605i 0.0370 - 0.0599i -0.0034 - 0.0703i -0.0384 + 0.0590i -0.0601 + 0.0369i 0.0559 + 0.0430i 0.0347 + 0.0615i -0.0021 - 0.0706i -0.0698 + 0.0108i -0.0121 + 0.0695i -0.0122 + 0.0695i -0.0027 - 0.0706i -0.0207 - 0.0676i 0.0551 + 0.0443i -0.0462 + 0.0535i -0.0706 + 0.0042i 0.0314 - 0.0633i 0.0407 + 0.0579i -0.0460 + 0.0538i 0.0668 + 0.0233i 0.0673 + 0.0217i 0.0533 - 0.0465i -0.0383 + 0.0595i -0.0703 + 0.0084i 0.0622 - 0.0338i -0.0374 + 0.0602i 0.0371 + 0.0604i 0.0365 + 0.0608i -0.0455 + 0.0545i 0.0536 - 0.0465i 0.0376 + 0.0603i 0.0301 - 0.0644i -0.0375 + 0.0604i -0.0205 - 0.0681i 0.0676 + 0.0222i 0.0313 - 0.0640i 0.0324 - 0.0634i 0.0680 + 0.0215i -0.0712 + 0.0036i 0.0545 - 0.0460i -0.0608 + 0.0373i -0.0361 + 0.0616i 0.0283 - 0.0655i -0.0235 - 0.0674i -0.0713 + 0.0039i 0.0564 + 0.0439i -0.0025 - 0.0714i -0.0207 - 0.0684i -0.0465 + 0.0544i -0.0715 + 0.0035i -0.0032 - 0.0715i -0.0714 + 0.0044i 0.0389 - 0.0601i -0.0709 + 0.0105i -0.0715 + 0.0040i -0.0381 + 0.0607i 0.0626 - 0.0348i 0.0284 - 0.0658i 0.0566 + 0.0439i -0.0600 + 0.0394i -0.0123 + 0.0707i -0.0614 + 0.0374i -0.0718 + 0.0045i 0.0559 + 0.0452i -0.0117 + 0.0710i -0.0604 + 0.0391i -0.0612 + 0.0380i 0.0632 - 0.0345i -0.0719 + 0.0039i -0.0709 + 0.0127i 0.0526 + 0.0492i 0.0628 - 0.0353i -0.0590 - 0.0414i -0.0115 + 0.0712i -0.0360 + 0.0625i -0.0462 + 0.0554i -0.0720 + 0.0039i 0.0528 + 0.0492i 0.0292 - 0.0660i -0.0199 - 0.0694i -0.0705 - 0.0154i -0.0588 - 0.0419i 0.0631 - 0.0353i -0.0371 + 0.0620i 0.0529 + 0.0493i 0.0628 - 0.0360i 0.0389 - 0.0611i -0.0719 + 0.0092i 0.0337 - 0.0642i -0.0589 - 0.0423i -0.0115 + 0.0716i -0.0462 + 0.0560i 0.0573 + 0.0446i -0.0701 - 0.0192i -0.0726 + 0.0037i -0.0726 + 0.0043i -0.0102 + 0.0720i 0.0691 + 0.0227i -0.0231 - 0.0691i -0.0613 + 0.0394i 0.0534 + 0.0497i 0.0557 - 0.0472i 0.0534 + 0.0498i -0.0032 - 0.0730i 0.0325 - 0.0654i -0.0124 + 0.0720i -0.0486 + 0.0547i 0.0329 - 0.0654i 0.0635 - 0.0364i 0.0696 + 0.0228i 0.0579 + 0.0449i -0.0380 + 0.0626i 0.0696 + 0.0229i -0.0029 - 0.0732i -0.0362 + 0.0638i -0.0083 + 0.0729i 0.0644 - 0.0351i 0.0582 + 0.0447i -0.0712 - 0.0181i -0.0734 + 0.0040i -0.0613 + 0.0405i 0.0304 - 0.0669i -0.0626 + 0.0385i -0.0734 + 0.0048i -0.0378 + 0.0632i -0.0736 + 0.0041i -0.0107 + 0.0729i 0.0583 + 0.0452i -0.0399 + 0.0622i 0.0646 - 0.0360i 0.0408 - 0.0617i 0.0420 + 0.0609i 0.0541 + 0.0505i 0.0643 - 0.0366i -0.0739 + 0.0046i -0.0630 + 0.0388i -0.0631 + 0.0388i 0.0644 - 0.0365i 0.0367 + 0.0643i -0.0723 - 0.0160i -0.0471 + 0.0573i -0.0718 - 0.0186i 0.0701 + 0.0241i -0.0387 + 0.0633i -0.0373 + 0.0643i -0.0633 + 0.0391i 0.0328 - 0.0668i -0.0086 + 0.0739i -0.0111 + 0.0736i -0.0633 + 0.0392i -0.0718 - 0.0197i 0.0414 + 0.0619i -0.0366 + 0.0649i -0.0120 + 0.0736i -0.0398 + 0.0630i 0.0591 + 0.0454i -0.0634 + 0.0394i -0.0746 + 0.0034i 0.0563 - 0.0491i -0.0023 - 0.0747i 0.0591 + 0.0457i 0.0570 - 0.0484i -0.0027 - 0.0747i -0.0097 + 0.0741i 0.0711 + 0.0231i 0.0582 + 0.0470i 0.0386 + 0.0641i 0.0583 + 0.0469i -0.0208 - 0.0719i -0.0743 + 0.0096i -0.0124 + 0.0739i 0.0415 - 0.0624i 0.0389 - 0.0642i 0.0298 - 0.0689i -0.0639 + 0.0397i -0.0484 + 0.0576i 0.0551 + 0.0513i 0.0569 - 0.0493i 0.0712 + 0.0246i -0.0752 + 0.0034i 0.0595 + 0.0463i 0.0598 + 0.0459i 0.0349 - 0.0669i -0.0129 + 0.0744i -0.0754 + 0.0046i -0.0611 - 0.0445i -0.0755 + 0.0044i -0.0503 + 0.0566i -0.0644 + 0.0398i 0.0579 - 0.0488i -0.0746 + 0.0133i 0.0662 - 0.0369i -0.0757 + 0.0040i 0.0403 + 0.0642i -0.0483 + 0.0584i 0.0555 + 0.0517i -0.0413 + 0.0637i -0.0383 + 0.0655i 0.0665 - 0.0367i -0.0751 + 0.0115i -0.0759 + 0.0045i 0.0659 - 0.0379i 0.0431 + 0.0627i 0.0603 + 0.0464i -0.0650 + 0.0395i -0.0760 + 0.0044i -0.0622 - 0.0438i 0.0602 + 0.0466i 0.0404 + 0.0646i -0.0099 + 0.0756i 0.0593 + 0.0479i -0.0761 + 0.0048i 0.0664 - 0.0375i 0.0406 + 0.0646i 0.0422 - 0.0636i 0.0595 + 0.0479i 0.0603 + 0.0468i -0.0034 - 0.0763i 0.0606 + 0.0465i 0.0595 + 0.0480i 0.0579 - 0.0500i -0.0023 - 0.0765i -0.0103 + 0.0758i 0.0726 + 0.0243i -0.0383 + 0.0663i -0.0025 - 0.0766i -0.0120 + 0.0757i 0.0669 - 0.0375i 0.0383 + 0.0665i 0.0317 - 0.0699i 0.0606 + 0.0471i -0.0220 - 0.0736i 0.0339 - 0.0690i -0.0768 + 0.0041i 0.0607 + 0.0473i -0.0125 + 0.0759i -0.0507 + 0.0579i 0.0672 - 0.0376i 0.0427 + 0.0641i 0.0610 + 0.0471i 0.0421 + 0.0646i 0.0339 - 0.0692i -0.0659 + 0.0401i -0.0036 - 0.0771i 0.0392 + 0.0665i -0.0103 + 0.0765i -0.0040 - 0.0772i -0.0029 - 0.0772i -0.0392 + 0.0667i -0.0433 + 0.0641i 0.0603 + 0.0486i 0.0455 + 0.0627i 0.0382 + 0.0673i -0.0774 + 0.0038i 0.0594 - 0.0497i -0.0774 + 0.0037i -0.0493 + 0.0598i 0.0734 + 0.0249i -0.0774 + 0.0043i 0.0614 + 0.0473i 0.0612 + 0.0475i -0.0659 + 0.0408i 0.0410 - 0.0660i -0.0753 - 0.0192i 0.0679 - 0.0380i 0.0614 + 0.0478i -0.0770 + 0.0113i -0.0410 + 0.0662i -0.0662 + 0.0409i 0.0405 - 0.0666i 0.0618 + 0.0476i -0.0500 + 0.0599i 0.0442 + 0.0644i 0.0619 + 0.0477i -0.0758 - 0.0192i 0.0609 + 0.0490i -0.0657 + 0.0423i 0.0573 + 0.0533i 0.0400 + 0.0672i -0.0265 - 0.0736i -0.0417 + 0.0662i -0.0263 - 0.0738i -0.0218 - 0.0753i 0.0599 - 0.0507i 0.0403 + 0.0673i -0.0270 - 0.0737i 0.0600 - 0.0506i 0.0436 - 0.0653i -0.0397 + 0.0678i 0.0575 + 0.0536i 0.0687 - 0.0382i -0.0638 - 0.0459i 0.0624 + 0.0480i -0.0036 - 0.0786i -0.0382 + 0.0688i -0.0393 + 0.0682i 0.0691 - 0.0378i 0.0624 + 0.0481i -0.0671 + 0.0414i -0.0787 + 0.0049i -0.0432 + 0.0659i -0.0036 - 0.0788i -0.0639 - 0.0461i -0.0787 + 0.0046i -0.0039 - 0.0788i 0.0425 - 0.0665i 0.0624 + 0.0484i 0.0626 + 0.0481i 0.0437 - 0.0658i -0.0789 + 0.0047i 0.0578 + 0.0540i -0.0790 + 0.0042i -0.0779 + 0.0135i 0.0441 - 0.0657i 0.0404 + 0.0681i -0.0644 - 0.0461i 0.0597 - 0.0519i 0.0578 + 0.0541i -0.0675 + 0.0416i 0.0626 + 0.0487i -0.0218 - 0.0763i 0.0750 + 0.0259i 0.0581 + 0.0540i 0.0413 + 0.0679i 0.0696 - 0.0383i -0.0523 + 0.0598i -0.0793 + 0.0046i 0.0583 + 0.0542i 0.0599 - 0.0523i -0.0676 + 0.0421i -0.0507 + 0.0614i 0.0598 - 0.0525i 0.0444 - 0.0662i -0.0796 + 0.0036i 0.0757 + 0.0251i 0.0630 + 0.0489i -0.0785 + 0.0143i 0.0693 - 0.0395i 0.0631 + 0.0490i -0.0653 - 0.0460i -0.0109 + 0.0791i 0.0418 + 0.0681i -0.0776 - 0.0193i -0.0683 + 0.0417i -0.0404 + 0.0690i 0.0634 + 0.0488i 0.0757 + 0.0261i -0.0418 + 0.0683i -0.0107 + 0.0794i 0.0633 + 0.0492i 0.0635 + 0.0489i 0.0588 + 0.0546i -0.0249 - 0.0763i -0.0802 + 0.0040i -0.0249 - 0.0763i -0.0036 - 0.0802i -0.0683 + 0.0423i -0.0408 + 0.0693i -0.0227 - 0.0772i -0.0804 + 0.0042i 0.0627 + 0.0505i -0.0804 + 0.0044i 0.0765 + 0.0254i -0.0805 + 0.0042i -0.0783 - 0.0191i -0.0416 + 0.0692i 0.0591 + 0.0550i 0.0638 + 0.0496i 0.0708 - 0.0388i -0.0113 + 0.0800i -0.0033 - 0.0808i -0.0660 - 0.0467i -0.0269 - 0.0763i 0.0591 + 0.0553i -0.0689 + 0.0426i -0.0028 - 0.0809i -0.0809 + 0.0049i -0.0805 + 0.0092i 0.0477 + 0.0655i 0.0641 + 0.0496i -0.0413 + 0.0698i -0.0678 + 0.0444i 0.0443 + 0.0679i -0.0689 + 0.0427i -0.0661 - 0.0471i -0.0679 + 0.0445i -0.0690 + 0.0427i -0.0438 + 0.0683i -0.0041 - 0.0811i -0.0107 + 0.0806i -0.0811 + 0.0046i -0.0802 + 0.0132i -0.0139 + 0.0801i -0.0424 + 0.0694i -0.0693 + 0.0427i -0.0801 + 0.0144i -0.0804 + 0.0131i -0.0695 + 0.0425i 0.0644 + 0.0500i 0.0646 + 0.0497i -0.0660 - 0.0478i 0.0429 - 0.0694i -0.0143 + 0.0803i -0.0271 - 0.0770i -0.0801 - 0.0162i -0.0037 - 0.0817i 0.0620 - 0.0533i -0.0816 + 0.0045i 0.0711 - 0.0406i -0.0122 + 0.0810i 0.0718 - 0.0395i -0.0698 + 0.0429i 0.0419 + 0.0705i 0.0430 - 0.0698i 0.0715 - 0.0403i -0.0143 + 0.0808i 0.0780 + 0.0254i -0.0800 - 0.0185i 0.0340 - 0.0748i -0.0798 - 0.0194i -0.0803 - 0.0179i 0.0617 - 0.0544i -0.0821 + 0.0047i 0.0650 + 0.0505i 0.0333 - 0.0753i -0.0808 + 0.0155i -0.0531 + 0.0631i 0.0651 + 0.0506i 0.0437 + 0.0699i -0.0427 + 0.0706i -0.0459 + 0.0686i -0.0702 + 0.0436i 0.0471 + 0.0678i -0.0437 + 0.0701i -0.0672 - 0.0481i -0.0695 + 0.0447i 0.0366 - 0.0741i -0.0451 + 0.0693i 0.0783 + 0.0264i 0.0721 - 0.0405i 0.0606 + 0.0565i 0.0415 + 0.0716i 0.0645 + 0.0519i -0.0142 + 0.0816i -0.0433 + 0.0707i -0.0111 + 0.0822i 0.0424 + 0.0713i -0.0409 + 0.0722i -0.0450 + 0.0698i 0.0656 + 0.0509i 0.0636 - 0.0535i -0.0024 - 0.0833i 0.0350 - 0.0756i 0.0660 + 0.0508i 0.0661 + 0.0508i 0.0338 - 0.0762i -0.0833 + 0.0045i -0.0833 + 0.0052i 0.0484 + 0.0680i 0.0381 - 0.0742i 0.0327 - 0.0768i -0.0555 + 0.0624i -0.0106 + 0.0828i 0.0407 + 0.0731i -0.0430 + 0.0717i -0.0100 + 0.0831i -0.0836 + 0.0044i -0.0548 + 0.0632i 0.0796 + 0.0259i 0.0443 - 0.0712i -0.0556 + 0.0629i -0.0839 + 0.0043i -0.0714 + 0.0442i 0.0737 - 0.0404i -0.0687 - 0.0485i 0.0474 + 0.0695i -0.0106 + 0.0835i 0.0477 + 0.0693i -0.0689 - 0.0484i -0.0558 + 0.0631i 0.0666 + 0.0516i 0.0668 + 0.0515i 0.0666 + 0.0517i 0.0800 + 0.0266i 0.0419 + 0.0732i 0.0616 + 0.0576i 0.0667 + 0.0518i -0.0237 - 0.0811i -0.0815 - 0.0222i -0.0539 + 0.0652i -0.0556 + 0.0637i 0.0648 - 0.0543i -0.0689 - 0.0491i -0.0845 + 0.0045i -0.0272 - 0.0803i 0.0740 - 0.0416i -0.0563 + 0.0636i 0.0671 + 0.0522i -0.0103 + 0.0844i -0.0727 + 0.0442i 0.0662 + 0.0534i -0.0850 + 0.0039i 0.0672 + 0.0521i -0.0542 + 0.0656i -0.0850 + 0.0045i 0.0644 - 0.0558i -0.0851 + 0.0048i 0.0665 + 0.0535i 0.0624 + 0.0582i 0.0664 + 0.0537i -0.0831 - 0.0199i 0.0449 + 0.0727i 0.0810 + 0.0276i 0.0678 + 0.0521i 0.0666 + 0.0538i -0.0273 - 0.0812i -0.0848 + 0.0121i -0.0728 + 0.0451i -0.0856 + 0.0051i -0.0733 + 0.0446i 0.0679 + 0.0524i -0.0734 + 0.0445i -0.0729 + 0.0453i -0.0732 + 0.0448i -0.0039 - 0.0859i -0.0859 + 0.0047i 0.0679 + 0.0529i 0.0369 - 0.0778i 0.0671 + 0.0540i 0.0451 + 0.0734i -0.0861 + 0.0047i -0.0729 + 0.0461i 0.0660 - 0.0556i -0.0141 + 0.0851i -0.0441 + 0.0742i 0.0474 - 0.0724i 0.0502 + 0.0706i 0.0674 + 0.0544i 0.0421 + 0.0758i 0.0508 + 0.0703i -0.0438 + 0.0749i -0.0851 - 0.0171i 0.0381 - 0.0780i 0.0505 + 0.0707i -0.0859 + 0.0133i -0.0433 + 0.0754i -0.0154 + 0.0856i -0.0475 + 0.0729i -0.0852 - 0.0180i -0.0566 + 0.0661i -0.0870 + 0.0044i 0.0690 + 0.0533i -0.0117 + 0.0864i -0.0095 + 0.0867i 0.0469 + 0.0736i -0.0867 + 0.0101i -0.0871 + 0.0057i -0.0269 - 0.0831i -0.0715 - 0.0504i -0.0864 + 0.0135i -0.0727 + 0.0486i -0.0266 - 0.0834i 0.0454 - 0.0748i -0.0140 + 0.0864i -0.0742 + 0.0465i -0.0862 + 0.0158i 0.0344 - 0.0807i 0.0768 - 0.0425i -0.0033 - 0.0877i -0.0869 + 0.0126i -0.0868 + 0.0133i 0.0693 + 0.0539i -0.0458 + 0.0749i -0.0096 + 0.0873i -0.0869 + 0.0131i -0.0449 + 0.0755i -0.0751 + 0.0457i -0.0742 + 0.0471i 0.0661 - 0.0579i -0.0028 - 0.0880i 0.0483 - 0.0736i 0.0769 - 0.0429i 0.0686 + 0.0552i -0.0879 + 0.0051i -0.0044 - 0.0880i 0.0775 - 0.0420i -0.0271 - 0.0839i 0.0504 + 0.0724i 0.0451 - 0.0759i -0.0753 + 0.0462i 0.0699 + 0.0540i -0.0755 + 0.0459i -0.0871 + 0.0154i -0.0874 + 0.0132i 0.0509 + 0.0723i -0.0492 + 0.0735i 0.0464 - 0.0754i -0.0138 + 0.0874i -0.0430 + 0.0774i -0.0743 + 0.0482i -0.0479 + 0.0745i -0.0145 + 0.0875i 0.0441 + 0.0769i -0.0244 - 0.0853i -0.0886 + 0.0048i -0.0100 + 0.0882i -0.0723 - 0.0515i -0.0131 + 0.0878i -0.0452 + 0.0765i -0.0587 + 0.0667i -0.0568 + 0.0683i 0.0670 - 0.0583i -0.0757 + 0.0467i -0.0267 - 0.0848i -0.0584 + 0.0671i -0.0159 + 0.0875i -0.0869 - 0.0191i 0.0694 + 0.0558i 0.0651 + 0.0609i -0.0129 + 0.0882i -0.0890 + 0.0049i -0.0871 - 0.0192i -0.0488 + 0.0747i 0.0671 - 0.0588i -0.0883 + 0.0131i -0.0130 + 0.0884i 0.0654 + 0.0609i 0.0654 + 0.0610i 0.0849 + 0.0282i -0.0106 + 0.0888i -0.0280 - 0.0850i -0.0478 + 0.0757i 0.0679 - 0.0586i -0.0488 + 0.0753i -0.0767 + 0.0466i -0.0875 - 0.0199i 0.0657 + 0.0612i -0.0869 - 0.0230i 0.0699 + 0.0564i -0.0154 + 0.0885i 0.0713 + 0.0548i -0.0276 - 0.0857i -0.0299 - 0.0849i -0.0755 + 0.0492i -0.0475 + 0.0767i 0.0713 + 0.0552i 0.0659 + 0.0616i 0.0685 - 0.0587i -0.0876 - 0.0215i 0.0452 + 0.0781i -0.0901 + 0.0051i 0.0689 - 0.0583i -0.0481 + 0.0764i 0.0704 + 0.0566i 0.0714 + 0.0553i -0.0763 + 0.0484i -0.0438 + 0.0790i 0.0661 + 0.0616i 0.0497 + 0.0755i -0.0871 - 0.0241i 0.0463 - 0.0778i 0.0787 - 0.0448i 0.0683 - 0.0595i -0.0873 - 0.0241i 0.0485 + 0.0765i -0.0892 + 0.0157i -0.0773 + 0.0472i 0.0531 + 0.0734i -0.0109 + 0.0900i -0.0905 + 0.0054i -0.0034 - 0.0906i -0.0152 + 0.0894i -0.0496 + 0.0759i 0.0665 + 0.0618i -0.0740 - 0.0526i -0.0508 + 0.0753i 0.0414 - 0.0809i 0.0720 + 0.0555i -0.0147 + 0.0897i -0.0902 + 0.0121i 0.0689 - 0.0595i -0.0909 + 0.0049i -0.0255 - 0.0875i 0.0471 - 0.0780i -0.0745 - 0.0526i -0.0489 + 0.0771i -0.0901 + 0.0149i -0.0149 + 0.0901i 0.0712 + 0.0573i 0.0696 - 0.0593i 0.0491 + 0.0772i -0.0914 + 0.0048i 0.0712 + 0.0575i 0.0467 + 0.0788i -0.0746 - 0.0531i -0.0131 + 0.0908i -0.0894 - 0.0209i -0.0268 - 0.0878i 0.0868 + 0.0297i -0.0307 - 0.0865i -0.0487 + 0.0778i -0.0900 - 0.0183i -0.0917 + 0.0060i 0.0408 - 0.0824i -0.0135 + 0.0909i -0.0918 + 0.0053i 0.0672 + 0.0627i -0.0784 + 0.0482i 0.0470 + 0.0792i -0.0600 + 0.0699i -0.0303 - 0.0870i 0.0675 + 0.0628i 0.0717 + 0.0579i -0.0466 + 0.0796i -0.0922 + 0.0044i -0.0296 - 0.0874i
  1 Comment
Amjad Iqbal
Amjad Iqbal on 8 Jul 2022
Thank you for your quick code, I need little integration to your code, since x_mat, y_mat, z_mat are 2D matrices given below,
x_vect = -6:0.02:6;
y_vect = -6:0.02:6;
z_vect = 0;
%x,y,z grid
[x_mat,y_mat, z_mat] = meshgrid(x_vect,y_vect, z_vect);
freq_vec = rand(235,1);
R0 = 135;
alpha = 3;
S1 = rand(88821,235);
Ndeg = 86610-3263;
Turntable_angle = linspace(-180,180, Ndeg);
could you please check with 2D x_mat, y_mat, z_mat?

Sign in to comment.

More Answers (1)

Jon
Jon on 8 Jul 2022
With the code you show, it appears that the values of S1, Sc_win, and S do not change as a function of any of the loop variables. If this is really the case (and not just due to some simplification in how you presented your example), then these variables can just be computed once before entering the first loop.
So
img = zeros(M,N);
% the following three lines were moved out of the loop as they do not
% change
S1 = data_matrix; % data
Sc_win = S1.*repmat(hanning(size(S1,2)).',size(S1,1),1); % apply window
S = ifftshift(ifft(Sc_win,Nfft,2),2);
for ii = 3264:64:86610 % sorted for one complete rotation
dR = sqrt((R0*cos(alpha*pi/180).*cos(Turntable_angle(ii)*pi/180) + x_mat).^2 + (R0*cos(alpha*pi/180).*sin(Turntable_angle(ii)*pi/180) + y_mat).^2 + (z_mat - R0*sin(alpha*pi/180)).^2) - R0;
for jj = 1:length(Freq_vec)
img = img + S(ii,jj).*exp(1j*4*pi*Freq_vec(jj)/c0*dR);
end
end
  4 Comments
Steven Lord
Steven Lord on 8 Jul 2022
A couple more small optimizations:
img = zeros(M,N);
% the following three lines were moved out of the loop as they do not
% change
S1 = data_matrix; % data
Sc_win = S1.*repmat(hanning(size(S1,2)).',size(S1,1),1); % apply window
S = ifftshift(ifft(Sc_win,Nfft,2),2);
Since Turntable_angle doesn't change inside the loop, compute the trig functions on the vector all at once. In addition, since those angles are in degrees use cosd instead of multiplying the angle by the "magic number" pi/180. Do the same for the alpha variable (which I would consider renaming since alpha has a meaning in MATLAB already.)
cTA = cosd(Turntable_angle);
sTA = sind(Turntable_angle);
cA = cosd(alpha);
sA = sind(alpha);
Now dR has no dependency on ii so pull it out of the loop as well.
dR = sqrt((R0*cA.*cTA + x_mat).^2 + (R0*cA.*sTA + y_mat).^2 + (z_mat - R0*sA).^2) - R0;
Looking at the inner loop, since the only dependency on jj in the exp call is to operate on individual elements of Freq_vec, compute that quantity outside the jj loop. In addition, since it doesn't depend on jj, we can pull that outside the outer loop as well.
I suspect you can probably eliminate the loops entirely with a sum call, perhaps combined with reshape and/or permute, but to be certain of that I'd want to see the sizes of each of the variables in your code.
E = exp(4j*pi*Freq_vec./c0.*dR);
for ii = 3264:64:86610 % sorted for one complete rotation
for jj = 1:length(Freq_vec)
img = img + S(ii,jj).*E;
end
end
Amjad Iqbal
Amjad Iqbal on 8 Jul 2022
Edited: Amjad Iqbal on 8 Jul 2022
one more thing to integrate for this line:
since x_mat, y_mat, z_mat are 2D matrices
dR = sqrt((R0*cA.*cTA + x_mat).^2 + (R0*cA.*sTA + y_mat).^2 + (z_mat - R0*sA).^2) - R0;
x_vect = -6:0.05:6;
y_vect = -6:0.05:6;
z_vect = 0;
% x,y,z grid
[x_mat,y_mat, z_mat] = meshgrid(x_vect,y_vect, z_vect);
I believe this will be much faster, however, still facing an issue >> Arrays have incompatible sizes for this operation

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!