Skip to content
Snippets Groups Projects
Commit 566d7f54 authored by Marina Kreme's avatar Marina Kreme
Browse files

useless file deletion

parent 76a6db74
No related branches found
No related tags found
No related merge requests found
clc; clear; close all
%%
% experiments with
% - wideband sound: engine(Genesis)
% - localized sound: birdsong (Genesis)
%%
make_wav_pairs() % make sure alls pairs are ok
%% Figures Directory
pwd;
pathname ='figures_JSTSP';
if ~exist('figures_JSTSP','dir')
mkdir('figures_JSTSP');
end
addpath('figures_JSTSP')
%%
ind_loc = 5;
ind_wd = 3;
deb_ind_loc = 0;
deb_ind_wd=0;
resampling_fs = 8000;
sig_len = 16384;
%%
param_hann = get_win_hann_param();
param_gauss = get_win_gauss_param();
params = {param_hann, param_gauss};
%%
tic;
masks = {};
for k = 1:length(params)
%win_len = params{k}.win_len;
%win_type = params{k}.win_type;
fprintf("We pick %s window of length %.f\n", params{k}.win_type, params{k}.win_len);
%alpha = params{k}.alpha;
%seuil = params{k}.seuil;
%radius = params{k}.radius;
fprintf("The parameters for smoothing the mask are: \n")
fprintf("alpha = %f\n", params{k}.alpha);
fprintf("seuil = %f\n", params{k}.seuil);
fprintf("radius = %f\n", params{k}.radius);
[signals, dgt_params, signal_params, mask, dgt, idgt ] = get_mix(ind_loc, ...,
ind_wd, deb_ind_loc, deb_ind_wd, resampling_fs, sig_len,...,
params{k}.win_len, params{k}.win_type, params{k}.alpha, params{k}.seuil, params{k}.radius);
params{k}.dgt_params = dgt_params;
params{k}.signal_params = signal_params;
params{k}.dgt = dgt;
params{k}.idgt = idgt;
masks{k} = mask;
end
toc;
%%
masks{3}= and(masks{1},masks{2});
for k = 1:length(masks)-1
figure(k);
%imagesc(masks{k})
plot_spectrogram(masks{k}, params{k}.dgt_params, params{k}.signal_params, params{k}.dgt);
title(params{k}.win_type)
set(gca, 'FontSize', 20, 'fontName','Times');
%saveas(gcf,fullfile(pathname, [params{k}.win_type,'.pdf']));
end
figure;
imagesc(masks{3})
title('Intersection')
%saveas(gcf,fullfile(pathname, 'intersection.pdf'));
%%
figure;
imagesc(masks{1} - masks{2})
colorbar()
title('Mask difference: gauss -hann');
saveas(gcf,fullfile(pathname, 'mask_difference.pdf'));
%% parametres Halko
r=2500;
%% EVD pour hann
evdn_hann = cell(length(masks),1);
for k=1: length(masks)
disp(k);
gab_mul = gen_gabmul_operator(params{1}.dgt, params{1}.idgt, masks{k});
tic;
q_mat = randomized_range_finder(gab_mul, sig_len,r);
t1= toc;
fprintf(" runtimes for Q: %f\n", t1);
%
tic;
evdn = EVD_nystrom(gab_mul, q_mat);
t2 = toc;
evdn_hann{k} = evdn;
fprintf(" runtimes for nystrom: %f\n", t2);
end
%% EVD avec Gauss
evdn_gauss = cell(length(masks),1);
for k=1: length(masks)
disp(k)
gab_mul = gen_gabmul_operator(params{2}.dgt, params{2}.idgt, masks{k});
tic;
q_mat = randomized_range_finder(gab_mul, sig_len, r);
t1= toc;
fprintf(" runtimes for Q-gauss: %f\n", t1);
tic;
evdn = EVD_nystrom(gab_mul, q_mat);
t2 = toc;
evdn_gauss{k} = evdn;
fprintf(" runtimes for nystrom -gauss: %f\n", t2);
end
%% les valeurs propres
figure;
D1 = diag(evdn_hann{1}.D);
D2 = diag(evdn_hann{2}.D);
D3 = diag(evdn_hann{3}.D);
D4= diag(evdn_gauss{1}.D);
D5 = diag(evdn_gauss{2}.D);
D6 = diag(evdn_gauss{3}.D);
semilogy(D1, 'Linewidth',4);
hold on;
semilogy(D2, 'Linewidth',4);
semilogy(D3 , 'Linewidth',4);
semilogy(D4, 'Linewidth',4);
semilogy(D5, 'Linewidth',4);
semilogy(D6, 'Linewidth',4);
grid on;
xlabel({'index = $k$'},'Interpreter','latex');
ylabel({' Eigenvalues $\sigma[k]$'},'Interpreter','latex');
legend('Hann 256 - mask Hann 256', 'Hann 256 - mask Gauss 128' ,...,
'Hann 256 - mask Intersection', 'Gauss 128 - mask Gauss 128', ...,
'Gauss 128 - mask Hann 256' ,'Gauss 128 - mask Intersection',...,
'Location','southwest');
set(gca, 'FontSize', 20, 'fontName','Times');
saveas(gcf,fullfile(pathname, 'eigval_cuicui_gauss_hann.png'));
saveas(gcf,fullfile(pathname, 'eigval_cuicui_gauss_hann.fig'));
%% Les vecteurs propres gauss
U_g = evdn_gauss{2}.U;
dynrange=90;
for k =1:15
figure(k)
plot_spectrogram(U_g(:,k), params{2}.dgt_params,params{2}.signal_params,...,
params{2}.dgt,dynrange);
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
saveas(gcf,fullfile(pathname, ['eigval_cuicui_gauss_', num2str(k), '.png']));
end
%% les vecteurs propres hann
U_h = evdn_hann{1}.U;
for k=1:10
figure(k)
plot_spectrogram(U_h(:,k), params{1}.dgt_params,params{1}.signal_params,...,
params{1}.dgt);
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
saveas(gcf,fullfile(pathname, ['eigval_cuicui_hann_', num2str(k), '.png']));
end
%% Pour le papier : valeurs propres
i_g = 1540;
i_h = 1585;
figure;
set(gcf,'position',[1, 1 1100 400]);
subplot(121);
plot_spectrogram(masks{2}, params{2}.dgt_params, params{2}.signal_params, params{2}.dgt);
set(gca, 'FontSize', 20, 'fontName','Times');
axis square
subplot(122);
semilogy(D5, 'b','Linewidth',4); %Gauss
hold on;
semilogy(D2, 'r','Linewidth',4); %Hann
plot(1,D5(1),'bo',i_h,D2(i_h),'r^','Linewidth',4,'MarkerSize',12) % Gauss -hann : l=1, l = 2000
plot(1,D2(1),'r^',i_g,D5(i_g),'bo','Linewidth',4,'MarkerSize',12); %Hann -Gauss l = 2000
grid on;
xlabel({'index = $k$'},'Interpreter','latex');
ylabel({' Eigenvalues $\sigma[k]$'},'Interpreter','latex');
legend({'Gauss ','hann','$\lambda_1$ = 1 , $\lambda_{1540} = 2.254 \times 10^{-4}$',...,
'$\lambda_1$ = 1 , $\lambda_{1585} = 6.399 \times 10^{-5}$'},'Interpreter','latex','Location','southwest');
set(gca, 'FontSize', 20, 'fontName','Times');
saveas(gcf,fullfile(pathname, 'eigs_illustration.png'));
saveas(gcf,fullfile(pathname, 'eigs_illustration.fig'));
%% les vecteurs propres
%
close all;
dynrange=90;
U_h = evdn_hann{2}.U;
U_g = evdn_gauss{2}.U;
i_g = 1540;
i_h = 1585;
figure;
set(gcf,'position',[0.6, 0.6, 900 900]);
subplot(221);
plot_spectrogram( U_g(:,1), params{2}.dgt_params,params{2}.signal_params,...,
params{2}.dgt,dynrange);
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
subplot(222);
plot_spectrogram(U_h(:,1), params{1}.dgt_params,params{1}.signal_params,...,
params{1}.dgt,dynrange);
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
subplot(223);
plot_spectrogram(U_g(:,i_g), params{2}.dgt_params,params{2}.signal_params,...,
params{2}.dgt,dynrange);
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
subplot(224);
plot_spectrogram(U_h(:,i_h), params{1}.dgt_params,params{1}.signal_params,...,
params{1}.dgt,dynrange);
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
saveas(gcf,fullfile(pathname, 'eigs_mask_gauss.png'));
saveas(gcf,fullfile(pathname, 'eigs_mask_gauss.fig'));
%% figure des fenetres et leurs spectrogrammes
%hann
win_hann = params{1}.dgt_params.win;
win_hann = fftshift(win_hann);
figure;
plot(win_hann,'LineWidth',3);
grid on;
legend('Hann')
set(gca, 'FontSize', 20, 'fontName','Times');
saveas(gcf,fullfile(pathname, 'hann_win.fig'));
saveas(gcf,fullfile(pathname, 'hann_win.png'));
figure;
dgt_hann_win = compute_dgt(win_hann, params{1}.dgt);
plotdgtreal(dgt_hann_win, params{1}.dgt_params.hop, params{1}.dgt_params.nbins, ...,
params{1}.signal_params.fs,'dynrange',90)
%plot_spectrogram(win_hann, params{1}.dgt_params, params{1}.signal_params, params{1}.dgt, dynrange);
grid on;
set(gca, 'FontSize', 20, 'fontName','Times');
saveas(gcf,fullfile(pathname, 'stft_hann_win.fig'));
saveas(gcf,fullfile(pathname, 'stft_hann_win.png'));
%%
%gauss
win_gauss= params{2}.dgt_params.win;
win_gauss = fftshift(win_gauss);
figure;
plot(win_gauss,'LineWidth',3);
set(gca, 'FontSize', 20, 'fontName','Times');
grid on;
legend('Gauss')
saveas(gcf,fullfile(pathname, 'gauss_win.fig'));
saveas(gcf,fullfile(pathname, 'gauss_win.png'));
figure;
dynrange=90;
dgt_gauss_win = compute_dgt(win_gauss, params{2}.dgt);
plotdgtreal(dgt_gauss_win, params{2}.dgt_params.hop, params{2}.dgt_params.nbins, ...,
params{2}.signal_params.fs,'dynrange',90)
grid on;
%ylabel('Frequency (kHz)')
set(gca, 'FontSize', 20, 'fontName','Times');
saveas(gcf,fullfile(pathname, 'stft_gauss_win.fig'));
saveas(gcf,fullfile(pathname, 'stft_gauss_win.png'));
%% les spectres
%hann
figure;
[phann,w_hann] = pwelch( win_hann, length(win_hann));
plot(w_hann/pi,10*log10(phann),'LineWidth',1.5);
grid on;
legend('spectre-Hann window')
set(gca, 'FontSize', 20, 'fontName','Times');
saveas(gcf,fullfile(pathname, 'spectre_hann_win.fig'));
saveas(gcf,fullfile(pathname, 'spectre_hann_win.png'));
% gauss
figure;
[pgauss,w_gauss] = pwelch( win_gauss, length(win_gauss));
plot(w_gauss/pi,10*log10(pgauss),'LineWidth',1.5);
grid on;
legend('spectre-Gaussian window')
set(gca, 'FontSize', 20, 'fontName','Times');
saveas(gcf,fullfile(pathname, 'spectre_gauss_win.fig'));
saveas(gcf,fullfile(pathname, 'spectre_gauss_win.png'));
%%
save('evdn_gauss_hann.mat','evdn_hann','evdn_gauss','params','masks');
%
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment