From 0136b3a9110b7ecb26c54557ad42b47e8ac3a410 Mon Sep 17 00:00:00 2001
From: Marina Kreme <amamarinak@gmail.com>
Date: Sun, 22 Nov 2020 06:11:59 +0100
Subject: [PATCH] doc

---
 matlab/tfgm/tf_fading/compute_decomposition.m |  6 ++----
 .../compute_decomposition_fixed_rank.m        |  4 ++--
 matlab/tfgm/tf_fading/compute_estimate.m      |  2 +-
 matlab/tfgm/tf_fading/compute_lambda.m        |  8 +++++---
 .../tf_fading/compute_lambda_oracle_sdr.m     |  4 ++++
 .../tfgm/tf_fading/estimate_energy_in_mask.m  | 12 +++++------
 matlab/tfgm/tf_fading/obj_fun.m               | 20 ++++++++++---------
 7 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/matlab/tfgm/tf_fading/compute_decomposition.m b/matlab/tfgm/tf_fading/compute_decomposition.m
index b769ed9..e364f74 100644
--- a/matlab/tfgm/tf_fading/compute_decomposition.m
+++ b/matlab/tfgm/tf_fading/compute_decomposition.m
@@ -9,8 +9,8 @@ function [t_arrf,t_evdn, t_ut_x, rank_q, s_vec_list, u_mat_list,...,
 %
 % Inputs:
 %     - x_mix: mixtures of signals with wideband and localized spectrograms
-%     -mask_list: list of mask
-%     -gabmul_list: list of Gabor multiplier associated to each mask
+%     -mask_list: cell of time -frequency mask
+%     -gabmul_list: cell of Gabor multiplier associated to each mask
 %     - tolerance_arrf: tolearance. see [1]
 %     - proba_arrf: probability of success. see[1]
 % Outputs:
@@ -34,11 +34,9 @@ function [t_arrf,t_evdn, t_ut_x, rank_q, s_vec_list, u_mat_list,...,
 
 sig_len = length(x_mix);
 
-
 n_areas = length(mask_list);
 r =  compute_r(sig_len, sig_len, proba_arrf);
 
-
 %%
 
 t_arrf = zeros(n_areas,1);
diff --git a/matlab/tfgm/tf_fading/compute_decomposition_fixed_rank.m b/matlab/tfgm/tf_fading/compute_decomposition_fixed_rank.m
index 5bc3b49..0f0a1db 100644
--- a/matlab/tfgm/tf_fading/compute_decomposition_fixed_rank.m
+++ b/matlab/tfgm/tf_fading/compute_decomposition_fixed_rank.m
@@ -8,8 +8,8 @@ function  [t_rrf,t_evdn, t_ut_x, s_vec_list, u_mat_list,...,
 %
 % Inputs:
 %     - x_mix: mixtures of signals with wideband and localized spectrograms
-%     -mask_list: list of mask
-%     -gabmul_list: list of Gabor multiplier associated to each mask
+%     -mask_list: cell of time-frequency mask
+%     -gabmul_list: cell of Gabor multiplier associated to each mask
 %     - rank : matrix rank see [1]
 % Outputs:
 %     -t_rrf:  time for randomized range finder(rrf)
diff --git a/matlab/tfgm/tf_fading/compute_estimate.m b/matlab/tfgm/tf_fading/compute_estimate.m
index 89b3546..e271009 100644
--- a/matlab/tfgm/tf_fading/compute_estimate.m
+++ b/matlab/tfgm/tf_fading/compute_estimate.m
@@ -35,7 +35,7 @@ end
 
 x = x_mix;
 for  k= 1:n_areas
-    gamma_vec = lambda_coef(k)*s_vec_list{k}./(1-(1-lambda_coef(k))*s_vec_list{k});
+    gamma_vec = lambda_coef(k)*s_vec_list{k}./(1-(1-lambda_coef(k)).*s_vec_list{k});
     x =x-u_mat_list{k}*(gamma_vec.*ut_x_list{k});
 end
 
diff --git a/matlab/tfgm/tf_fading/compute_lambda.m b/matlab/tfgm/tf_fading/compute_lambda.m
index b9cbfeb..88a98f6 100644
--- a/matlab/tfgm/tf_fading/compute_lambda.m
+++ b/matlab/tfgm/tf_fading/compute_lambda.m
@@ -2,9 +2,11 @@ function [lambda_est, t_est] = compute_lambda(x_mix, mask, dgt_params,...,
     signal_params,  dgt, s_vec_list, u_mat_list, ut_x_list,...,
     gabmul_list, fig_dir, e_target)
 
-%% [lambda_est, t_est] = compute_lambda(x_mix, mask, dgt_params, signal_params,  dgt, s_vec_list, u_mat_list, ut_x_list,gabmul_list, fig_dir, e_target)
-
-% This function calculates lambda in algorithmes proposed in [1]
+%% [lambda_est, t_est] = compute_lambda(x_mix, mask, dgt_params,...,
+%    signal_params,  dgt, s_vec_list, u_mat_list, ut_x_list,...,
+%    gabmul_list, fig_dir, e_target)
+% This function  estimates the hyperparameters $\lambda$ from target energy
+% in each sub-region as we proposed in [1].
 %
 % Inputs:
 %     -x_mix:mixtures of signals with wideband and localized spectrograms
diff --git a/matlab/tfgm/tf_fading/compute_lambda_oracle_sdr.m b/matlab/tfgm/tf_fading/compute_lambda_oracle_sdr.m
index f85f783..dc0d078 100644
--- a/matlab/tfgm/tf_fading/compute_lambda_oracle_sdr.m
+++ b/matlab/tfgm/tf_fading/compute_lambda_oracle_sdr.m
@@ -2,6 +2,10 @@ function [lambda_oracle, t_oracle] = compute_lambda_oracle_sdr(n_areas, x_wb, x_
 
 %% [lambda_oracle, t_oracle] = compute_lambda_oracle_sdr(n_areas,x_wb, x_rec)
 % Function that calculates the estimated lambda using the true energy. see[1]
+% Compute oracle value for hyperparameter $\lambda_k$ from true solution.
+%
+% If only one region is considered, *fmincon* is used.
+% If multiple sub-regions are considered *fminbnd* is used
 %
 % Inputs:
 %     - n_areas: number of regions in mask
diff --git a/matlab/tfgm/tf_fading/estimate_energy_in_mask.m b/matlab/tfgm/tf_fading/estimate_energy_in_mask.m
index 2232cd0..285ddbc 100644
--- a/matlab/tfgm/tf_fading/estimate_energy_in_mask.m
+++ b/matlab/tfgm/tf_fading/estimate_energy_in_mask.m
@@ -1,7 +1,7 @@
 function estimated_energy = estimate_energy_in_mask(x_mix, mask, dgt_params, signal_params, dgt,fig_dir)
 
 %%estimated_energy = estimate_energy_in_mask(x_mix, mask, dgt_params, signal_params, dgt,fig_dir)
-% Functions that estimates energy in the mask
+% Functions that estimates energy in time-frequency mask
 %
 % Inputs:
 %     - x_mix:mixtures of signals with wideband and localized spectrograms
@@ -11,7 +11,7 @@ function estimated_energy = estimate_energy_in_mask(x_mix, mask, dgt_params, sig
 %     - dgt: Gabor transform operator
 %     - fig_dir: firgures directory
 % Outputs:
-%     -estimated_energy:estimated  energy
+%     -estimated_energy: Estimated energy in each sub-region.
 %
 %
 % Author: Marina KREME
@@ -54,7 +54,7 @@ figure;
 plotdgtreal(sqrt(e_mat), dgt_params.hop, dgt_params.nbins, fs, 'clim', clim);
 %title(['Mask filled with average energy (total: ', num2str(estimated_energy,8),')']);
 set(gca, 'FontSize', 20, 'fontName','Times');
-saveas(gcf,fullfile(fig_dir, 'filled_mask.pdf'));
+saveas(gcf,fullfile(fig_dir, 'mask_filled__with_energy.pdf'));
 
 
 %
@@ -64,7 +64,7 @@ figure;
 plotdgtreal(x_tf_mat, dgt_params.hop, dgt_params.nbins, fs, 'clim', clim);
 %title(['Mix filled with average energy (total: ', num2str(estimated_energy,8),')']);
 set(gca, 'FontSize', 20, 'fontName','Times');
-saveas(gcf,fullfile(fig_dir, 'filled_mask.pdf'));
+saveas(gcf,fullfile(fig_dir, 'filled_mix_with_average_energy.pdf'));
 
 
 %
@@ -75,7 +75,7 @@ ylabel('Average energy')
 grid on;
 title('Average energy per frequency bin in mix');
 set(gca, 'FontSize', 20, 'fontName','Times');
-saveas(gcf,fullfile(fig_dir, 'average_energy.pdf'));
+saveas(gcf,fullfile(fig_dir, 'average_energy_per_freq_bin.pdf'));
 
 
 %%
@@ -89,7 +89,7 @@ title('Average energy per frequency bin in mix')
 legend('Before filling', 'After filling')
 grid on;
 set(gca, 'FontSize', 20, 'fontName','Times');
-saveas(gcf,fullfile(fig_dir, 'average_energy_check.pdf'));
+saveas(gcf,fullfile(fig_dir, 'average_energy_per_freq_bin_mix.pdf'));
 
 
 end
diff --git a/matlab/tfgm/tf_fading/obj_fun.m b/matlab/tfgm/tf_fading/obj_fun.m
index 369be32..0734fc6 100644
--- a/matlab/tfgm/tf_fading/obj_fun.m
+++ b/matlab/tfgm/tf_fading/obj_fun.m
@@ -1,10 +1,12 @@
 function f_lambda = obj_fun(lambda_coef, x_mix, s_vec_list, ...,
     u_mat_list, ut_x_list, mask, gab_mul, dgt, e_target)
 
-%% f_lambda = obj_fun(lambda_coef, x_mix, s_vec_list,u_mat_list, ut_x_list, mask, gab_mul, dgt, e_target)
-% Objecitve function for finding optimal lambda value in algorithms 
+%%  f_lambda = obj_fun(lambda_coef, x_mix, s_vec_list, ...,
+%    u_mat_list, ut_x_list, mask, gab_mul, dgt, e_target)
+%
+% Objecitve function for finding optimal lambda value in algorithms
 % proppsed in [1]
-% 
+%
 % Inputs:
 %     -lambda_coef: hyperparameters
 %     - x_mix: mixtures of signals with wideband and localized spectrograms
@@ -15,16 +17,16 @@ function f_lambda = obj_fun(lambda_coef, x_mix, s_vec_list, ...,
 %     - gab_mul:Gabor multiplier
 %     - dgt: Gabor transform operator
 %     - e_target: estimated energy in Omega region
-% 
+%
 % Output:
 %     - f_lambda: objective function
-% 
-% 
-% 
+%
+%
+%
 % Reference:
 % [1]Time-frequency fading algorithms based on Gabor multipliers,2020.
-% 
-% 
+%
+%
 % Author: Marina KREME
 %%
 x =compute_estimate(lambda_coef, x_mix, s_vec_list, u_mat_list, ut_x_list);
-- 
GitLab