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

unnecessary folder deletion

parent bf174abf
No related branches found
No related tags found
No related merge requests found
function exp = get_experiment(setting)
%create experiment parameter
switch setting
case 'full'
param_pow = {0, 1, 2, 3, 4};
data_params = param_pow;
case 'light'
param_pow = {0,1,2};
data_params = param_pow;
otherwise
error('Unknown setting: ')
end
t_min = 0.3; t_max = 0.5; f_min = 0.1; f_max =0.2;
t_val = {t_min, t_max};
f_val={f_min, f_max};
problem_params.win_type = 'hann';
problem_params.t_val = t_val;
problem_params.f_val = f_val;
tolerance = 1e-6;
r = 15;
solver_params.tolerance = tolerance;
solver_params.r = r;
exp.data_params=data_params;
exp.problem_params=problem_params;
exp.solver_params=solver_params;
end
function [mask_area, varargout] = get_mask_area(mask)
%compute mask area
mask_area = sum(mask(:));
mask_area_ratio = mask_area/ (size(mask,1)*size(mask,2));
varargout{1} = mask_area_ratio;
end
function [gab_mul, direct_stft, adjoint_stft, q_mat_arrf, arrf_time,....,
q_mat_rrf, rrf_time, svd_res_arrf,arrfevdn_time, svd_res_rrf,....,
rrfevdn_time, svd_res_eigs, eigs_time, eigs_norm, arrfevdn_norm, ...,
rrfevdn_norm,q_with] =solver(tolerance, r, mask, dgt_params, signal_params)
[direct_stft, adjoint_stft] = get_stft_operators(dgt_params, signal_params);
gab_mul = gen_gabmul_operator(direct_stft, adjoint_stft, mask);
tic;
q_mat_arrf = adaptative_randomized_range_finder(gab_mul ,signal_params.sig_len, tolerance, r);
arrf_time = toc;
tic;
q_mat_rrf = randomized_range_finder(gab_mul, signal_params.sig_len, size(q_mat_arrf,2));
rrf_time = toc;
tic;
svd_res_arrf = EVD_nystrom(gab_mul, q_mat_arrf);
arrfevdn_time= toc;
tic;
svd_res_rrf = EVD_nystrom(gab_mul, q_mat_rrf);
rrfevdn_time= toc;
tic;
svd_res_eigs = EVD_eigs(gab_mul, signal_params.sig_len, size(q_mat_arrf,2) );
eigs_time = toc;
eigs_norm = error_operator_norm(gab_mul, svd_res_eigs);
arrfevdn_norm = error_operator_norm(gab_mul, svd_res_arrf);
rrfevdn_norm = error_operator_norm(gab_mul, svd_res_rrf);
q_with = size(q_mat_arrf,2);
end
\ No newline at end of file
clc ; clear; close all;
%%
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_gauss = get_win_gauss_param();
win_len = param_gauss.win_len;
win_type = param_gauss.win_type;
alpha = param_gauss.alpha;
seuil = param_gauss.seuil;
radius = param_gauss.radius;
%%
sig_loc = load_localized_signal(ind_loc, resampling_fs, sig_len, deb_ind_loc);
sig_wd = load_wideband_signal(ind_wd, resampling_fs, sig_len, deb_ind_wd);
signals = generate_mix_signal(sig_wd, sig_loc);
fs = resampling_fs;
sig_len = length(sig_loc);
signal_params = generate_signal_parameters(fs, sig_len);
%% dgt
dgt_params = generate_dgt_parameters(win_type, win_len);
dgt_params.hop = 32; %
dgt_params.nbins = 512;%
[dgt, idgt] = get_stft_operators(dgt_params, signal_params);
tf_mat_wb = compute_dgt(signals.target, dgt );
tf_mat_loc = compute_dgt(signals.noise, dgt );
%% Etape 1
figure;
subplot(131)
set(gcf,'position',[1, 1, 1000 400]);
mask = and(abs(tf_mat_wb)<alpha*abs(tf_mat_loc), abs(tf_mat_loc)>seuil);
%figure('name','mask');
plot_spectrogram(mask, dgt_params,signal_params, dgt );
axis square;
set(gca, 'FontSize', 20, 'fontName','Times');
%saveas(gcf,fullfile(pathname, 'mask_cuicui_gauss_1.png'));
%Etape 2
se = strel('disk',radius);
mask = imclose(mask,se);
%figure('name','mask');
subplot(132)
plot_spectrogram(mask, dgt_params,signal_params, dgt );
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
%saveas(gcf,fullfile(pathname, 'mask_cuicui_gauss_2.png'));
subplot(133)
mask = imopen(mask,se);
%figure('name','mask');
plot_spectrogram(mask, dgt_params,signal_params, dgt );
set(gca, 'FontSize', 20, 'fontName','Times');
axis square;
%saveas(gcf,fullfile(pathname, 'mask_cuicui_gauss_3.png'));
saveas(gcf,fullfile(pathname, 'mask_step.png'));
clc; clear; close all;
%%
setting='full';
exp = get_experiment(setting);
param = exp.data_params;
t_lim = [exp.problem_params.t_val{1}, exp.problem_params.t_val{2}];
f_lim = [exp.problem_params.f_val{1}, exp.problem_params.f_val{2}];
win_type = exp.problem_params.win_type;
%%
param_pow = param{4};
problem_data = get_problem_data(param_pow,t_lim, f_lim, win_type);
%%
dgt_params = problem_data.dgt_params;
signal_params = problem_data.signal_params;
mask = problem_data.mask;
[direct_stft, adjoint_stft] = get_stft_operators(dgt_params, signal_params);
gab_mul = gen_gabmul_operator(direct_stft, adjoint_stft, mask);
%%
figure; imagesc(mask)
x = randn(signal_params.sig_len,1);
A = gab_mul(x);
figure; plot(x);
figure; plot(A);
figure; sgram(A,'dynrange',90)
clc; close all;
%%
setting='full';
exp = get_experiment(setting);
%%
param = exp.data_params;
t_lim = [exp.problem_params.t_val{1}, exp.problem_params.t_val{2}];
f_lim = [exp.problem_params.f_val{1}, exp.problem_params.f_val{2}];
win_type = exp.problem_params.win_type;
%%
figure;
for k = 1:length(param)
param_pow = param{k};
problem_data = get_problem_data(param_pow,t_lim, f_lim, win_type);
figure(k);
plot_mask(problem_data.mask, problem_data.hop, problem_data.dgt_params.nbins, problem_data.signal_params.fs)
end
\ 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