diff --git a/matlab/tfgm/scripts/script_gabmul_eigs_properties.m b/matlab/tfgm/scripts/script_gabmul_eigs_properties.m new file mode 100644 index 0000000000000000000000000000000000000000..078d8aba6125e5532213e9b34ba1e7669de80341 --- /dev/null +++ b/matlab/tfgm/scripts/script_gabmul_eigs_properties.m @@ -0,0 +1,90 @@ +clc; clear; close all; +%% + +load('evdn_gauss_hann.mat'); + + +pwd; +fig_dir ='fig_localisation_properties_of_gabmul_eigs'; +if ~exist(fig_dir,'dir') + mkdir(fig_dir); +end +addpath(fig_dir) + +%% +%% +figure; +D1 = diag(evdn_hann.Gauss256.D); +D4= diag(evdn_gauss.Gauss256.D); + +semilogy(D4,'b', 'Linewidth',4); +hold on; +semilogy(D1, 'r','Linewidth',4); +semilogy(D4(1),'bo', 'Linewidth', 15,'MarkerSize',10) +semilogy(D1(1),'r^','Linewidth', 15,'MarkerSize',10) +semilogy(3539,D4(3539),'bo','Linewidth', 15,'MarkerSize',10) +semilogy(3408,D1(3408),'r^','Linewidth', 15,'MarkerSize',10) +grid on; + + +xlabel({'index = $k$'},'Interpreter','latex'); +ylabel({' Eigenvalues $\sigma[k]$'},'Interpreter','latex'); + +set(gca, 'FontSize', 20, 'fontName','Times'); + +l = legend('Gauss','Hann',..., + '$\sigma[1]$ = 1, $\sigma[3539] = 2.699 \times 10^{-4}$',..., + '$\sigma[1]$ =1, $\sigma[3408] = 1.258 \times 10^{-4}$',..., + 'Location','southwest'); + +set(l, 'interpreter', 'latex') +saveas(gcf,fullfile(fig_dir, 'eigenvalues_gauss_hann.fig')); +saveas(gcf,fullfile(fig_dir, 'eigenvalues_gauss_hann.png')); +%% eigenvectors +figure; +eigs_gauss = evdn_gauss.Gauss256.U; +set(gcf,'position',[1, 1 1000 800]); +subplot(221); +plot_spectrogram(eigs_gauss(:,147), param_dict.('Gauss256').dgt_params,..., + param_dict.('Gauss256').signal_params, param_dict.('Gauss256').dgt); +yticks([0,1000,2000,3000,4000]); +yticklabels([0,1,2,3,4]); +ylabel('Frequency (kHz)') +set(gca, 'FontSize', 20, 'fontName','Times'); +subplot(222); +plot_spectrogram(eigs_gauss(:,86), param_dict.('Gauss256').dgt_params,..., + param_dict.('Gauss256').signal_params, param_dict.('Gauss256').dgt); +yticks([0,1000,2000,3000,4000]); +yticklabels([0,1,2,3,4]); +ylabel('Frequency (kHz)') +set(gca, 'FontSize', 20, 'fontName','Times'); + subplot(223); +plot_spectrogram(eigs_gauss(:,3039), param_dict.('Gauss256').dgt_params,..., + param_dict.('Gauss256').signal_params, param_dict.('Gauss256').dgt); +yticks([0,1000,2000,3000,4000]); +yticklabels([0,1,2,3,4]); +ylabel('Frequency (kHz)') +set(gca, 'FontSize', 20, 'fontName','Times'); +subplot(224); +plot_spectrogram(eigs_gauss(:,3046), param_dict.('Gauss256').dgt_params,..., + param_dict.('Gauss256').signal_params, param_dict.('Gauss256').dgt); +ylabel('Frequency (kHz)') +yticks([0,1000,2000,3000,4000]); +yticklabels([0,1,2,3,4]); +set(gca, 'FontSize', 20, 'fontName','Times'); +saveas(gcf,fullfile(fig_dir, 'eigvectors_prop_illustration.png')); +saveas(gcf,fullfile(fig_dir, 'eigvectors_prop_illustration.fig')); + +%% mask +mask_gauss = mask_dict.Gauss256; +figure; +plot_spectrogram(mask_gauss.mask, param_dict.('Gauss256').dgt_params,..., + param_dict.('Gauss256').signal_params, param_dict.('Gauss256').dgt); +ylabel('Frequency (kHz)') +yticks([0,1000,2000,3000,4000]); +yticklabels([0,1,2,3,4]); +set(gca, 'FontSize', 20, 'fontName','Times'); +saveas(gcf,fullfile(fig_dir, 'mask_gauss.pdf')); + + +%% \ No newline at end of file