?? generateparamaters.m
字號:
function [Parameters] = GenerateParamaters()% [Param] = GenerateParamaters()%% This function is helpful to fill the parameters of the deflation algorithm %% Author : Pierre JALLON% Date of creation : 04/22/2005% Date of last modification : 04/22/20005%
ParamStruct = struct(... 'LFilter' ,1,... % Extracting filter length (1 for instantaneous mixture) 'Seuil' ,1e-3,... % Stop criteria : Difference of two filters norms 'NbIterationMax' ,100,... % Maximal number of algorithm iteration 'SeuilStopAlgo' ,1e-2,... % Stop criteria : Difference of two filters norms 'LSubstractFiltreAC' ,0,... % Length of anti-causal substracting filter 'LSubstractFiltreC' ,0); % Length of causal substracting filterParameters = struct(ParamStruct);%%%%%% Extracting filter lengthanswer = input('Extracting filter length : \n- 1 for instantaneous mixture\n- 15 for convolutive mixture\nPlease enter a value : [1]');if (length(answer)==0) Parameters.LFilter = 1;else Parameters.LFilter = double(answer);end%%%%%% LSubstractFiltreACanswer = input('\nAnti-causal part of substracting filter length : \n- 0 for instantaneous mixture\n- 80 for convolutive mixture\nPlease enter a value : [0]');if (length(answer)==0) Parameters.LSubstractFiltreAC = 0;else Parameters.LSubstractFiltreAC = double(answer);end%%%%%% LSubstractFiltreCanswer = input('\nCausal part of substracting filter length : \n- 0 for instantaneous mixture\n- 20 for convolutive mixture\nPlease enter a value : [0]');if (length(answer)==0) Parameters.LSubstractFiltreC = 0;else Parameters.LSubstractFiltreC = double(answer);end%%%%%% Stop criteriaanswer = input('\nStop criteria : \nDifference between the norm of one computed filter and the following one\nPlease enter a value [1e-3]','s');if (length(answer)==0) Parameters.Seuil = 1e-3;else Parameters.Seuil = str2double(answer); if (isnan(Parameters.Seuil)) Parameters.Seuil = 1e-3; endend%%%%%% Maximal number of iterationanswer = input('\nMaximal number of iteration: \n- 300 for instantaneous mixture\n- 1000 for convolutive mixture\nPlease enter a value : [300]','s');if (length(answer)==0) Parameters.NbIterationMax = 300;else Parameters.NbIterationMax = str2double(answer); if (isnan(Parameters.NbIterationMax)) Parameters.NbIterationMax = 300; endend%%%%%% Algorithm endanswer = input('\nCriteria to stop the algorithm (remaining mixture power divided by its initial value) \nPlease enter a value [1e-2]','s');if (length(answer)==0) Parameters.SeuilStopAlgo = 1e-2;else Parameters.SeuilStopAlgo = str2double(answer); if (isnan(Parameters.SeuilStopAlgo)) Parameters.SeuilStopAlgo = 1e-2; endend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -