Ran codegen for mex and tested. Working ok

This commit is contained in:
canisio
2026-03-30 11:44:31 -03:00
parent 7b04d52204
commit 1613ae8ad9
75 changed files with 15 additions and 196 deletions

View File

@@ -21,7 +21,7 @@ a_vec = linspace( 0.5, 1.5, 100);
%% A) HEATMAP (single chirp, order sweep)
%% ============================================================
beta0 = 16e12; % pick one chirp for visualization
beta0 = 8e12; % pick one chirp for visualization
% Generate LFM chirp
x = exp(1j*pi*beta0*t.^2);
@@ -41,14 +41,22 @@ for k = 1:length(a_vec)
% Reference
y_ref = fracF_ref(x_interp, a);
%y_ref = fracF_cg(x_interp, a);
% Comparison (original / other implementation)
y_cmp = fracF_cg(x_interp, a);
%y_cmp = fracF_cg(x_interp, a);
y_cmp = fracF_cg_mex(single(x_interp), single(a));
FrFT_map_ref(:,k) = y_ref;
FrFT_map_cmp(:,k) = y_cmp;
FrFT_map_cmp(:,k) = double(y_cmp);
end
% Global relative error
rel_err_global = norm(FrFT_map_ref(:) - FrFT_map_cmp(:)) / ...
norm(FrFT_map_ref(:));
fprintf('Global relative error: %.3e\n', rel_err_global);
% Plot - Reference
figure;
imagesc(a_vec, 1:N_out, abs(FrFT_map_ref) / sqrt(N));
@@ -101,7 +109,10 @@ for i = 1:length(betas)
% Compute FrFT
y_ref = fracF_ref(x_interp, a);
y_cmp = fracF_cg(x_interp, a);
%y_ref = fracF_cg(x_interp, a);
%y_cmp = fracF_cg(x_interp, a);
y_cmp = fracF_cg_mex(single(x_interp), single(a));
% Normalized peak magnitude
peak_ref(i) = max(abs(y_ref)) / sqrt(N);