Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
tff2020
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
skmad-suite
tff2020
Commits
566d7f54
Commit
566d7f54
authored
May 27, 2020
by
Marina Kreme
Browse files
Options
Downloads
Patches
Plain Diff
useless file deletion
parent
76a6db74
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
matlab/tfgm/illustrations_gaborTools/exp_eigenval_win.m
+0
-349
0 additions, 349 deletions
matlab/tfgm/illustrations_gaborTools/exp_eigenval_win.m
with
0 additions
and
349 deletions
matlab/tfgm/illustrations_gaborTools/exp_eigenval_win.m
deleted
100644 → 0
+
0
−
349
View file @
76a6db74
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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment