tomwalters@0
|
1
|
tomwalters@0
|
2 %
|
tomwalters@0
|
3 % Calculation of all of AIMI: NAP-SAI-MI
|
tomwalters@0
|
4 % IRINO T
|
tomwalters@0
|
5 % 9 Oct 2002
|
tomwalters@0
|
6 %
|
tomwalters@0
|
7 % function [MI3d, StrobeInfo, NAPparam, STBparam, SAIparam, MIparam] = ...
|
tomwalters@0
|
8 % CalAIMIall(Snd,fs,NAPparam,STBparam,SAIparam,MIparam,SwSave);
|
tomwalters@0
|
9 %
|
tomwalters@0
|
10 % INPUT: Snd : sound for MI
|
tomwalters@0
|
11 % fs: sampling rate
|
tomwalters@0
|
12 % NAPparam,STBparam,SAIparam,MIparam : parameters
|
tomwalters@0
|
13 % NameMI: Name of save file. if empty : No save
|
tomwalters@0
|
14 %
|
tomwalters@0
|
15 function [MI3d, StrobeInfo, NAPparam, STBparam, SAIparam, MIparam] = ...
|
tomwalters@0
|
16 CalAIMIall(Snd,fs,NAPparam,STBparam,SAIparam,MIparam,NameMI);
|
tomwalters@0
|
17
|
tomwalters@0
|
18 if nargin < 3, NAPparam = []; end;
|
tomwalters@0
|
19 if nargin < 4, STBparam = []; end;
|
tomwalters@0
|
20 if nargin < 5, SAIparam = []; end;
|
tomwalters@0
|
21 if nargin < 6, MIparam = []; end;
|
tomwalters@0
|
22 if nargin < 7, NameMI = []; end;
|
tomwalters@0
|
23
|
tomwalters@0
|
24 if isfield(NAPparam,'fs') == 0, NAPparam.fs = []; end;
|
tomwalters@0
|
25 if length(NAPparam.fs) == 0, NAPparam.fs = fs; end;
|
tomwalters@0
|
26 if NAPparam.fs ~= fs, error('Sampling rate is inconsistent.'); end;
|
tomwalters@0
|
27
|
tomwalters@0
|
28 % NAPparam = [];
|
tomwalters@0
|
29 % NAPparam.fs = fs;
|
tomwalters@0
|
30
|
tomwalters@0
|
31 %%%%%%%%%%%%% CHANGED FROM COMMENTED OUT %%%%%%%%%%%%%%
|
tomwalters@0
|
32 NAPparam.NumCh = 75; % default was 75
|
tomwalters@0
|
33
|
tomwalters@0
|
34 % NAPparam.cf_afb = [100 6000]; % default
|
tomwalters@0
|
35 NAPparam.SubBase = 0.5;
|
tomwalters@0
|
36
|
tomwalters@0
|
37 if isfield(STBparam,'StInfo_EventLoc') == 0,
|
tomwalters@0
|
38 STBparam.StInfo_EventLoc = [];
|
tomwalters@0
|
39 end;
|
tomwalters@0
|
40
|
tomwalters@0
|
41 % SAIparam.Nwidth = -5; % default
|
tomwalters@0
|
42 % SAIparam.Pwidth = 15; % default
|
tomwalters@0
|
43 SAIparam.FrstepAID = 0; % Event Synchronous
|
tomwalters@0
|
44 % SAIparam.ImageDecay = 10; % SAI image decay / Switch of window function
|
tomwalters@0
|
45 SAIparam.ImageDecay = 0; % using Window function
|
tomwalters@0
|
46 SAIparam.SwSmthWin = 1; % Window shape #1
|
tomwalters@0
|
47
|
tomwalters@0
|
48 % MIparam.F0mode = 300; % default
|
tomwalters@0
|
49 % MIparam.TFval = [0:0.25:5]; % default
|
tomwalters@0
|
50 % MIparam.c_2pi = [0:0.25:20]; % default
|
tomwalters@0
|
51 MIparam.Mu = -0.5; % pre-emphasis of high freq.
|
tomwalters@0
|
52
|
tomwalters@0
|
53 LenSnd = length(Snd);
|
tomwalters@0
|
54 % disp([NameFile ' : T= ' num2str(LenSnd/NAPparam.fs, 4) ' (sec)']);
|
tomwalters@0
|
55
|
tomwalters@0
|
56 [NAP, NAPparam] = CalNAPghll(Snd,NAPparam);
|
tomwalters@0
|
57 % PlaySound(Snd,NAPparam.fs);
|
tomwalters@0
|
58
|
tomwalters@0
|
59 load C:\MATLAB6p5\work\napat.mat;
|
tomwalters@0
|
60 NAP=napat;
|
tomwalters@0
|
61
|
tomwalters@0
|
62 [NAPPhsCmp, StrobeInfo, STBparam] = CalStrobePoint(NAP,NAPparam,STBparam);
|
tomwalters@0
|
63
|
tomwalters@0
|
64 if length(STBparam.StInfo_EventLoc) > 0
|
tomwalters@0
|
65 disp('StrobeInfo.EventLoc is replaced by STBparam.StInfo_EventLoc' )
|
tomwalters@0
|
66 disp([ length(StrobeInfo.EventLoc), length(STBparam.StInfo_EventLoc) ])
|
tomwalters@0
|
67 StrobeInfo.NAPpoint = [];
|
tomwalters@0
|
68 StrobeInfo.EventLoc = STBparam.StInfo_EventLoc;
|
tomwalters@0
|
69 end;
|
tomwalters@0
|
70 [SAI3d, RAI3d, SAIparam, StrobeInfo] = ...
|
tomwalters@0
|
71 CalSAIstinfo(NAPPhsCmp,NAPparam,StrobeInfo,STBparam,SAIparam);
|
tomwalters@0
|
72
|
tomwalters@0
|
73 savefile = 'Irino_SAI.mat';
|
tomwalters@0
|
74 save(savefile,'SAI3d');
|
tomwalters@0
|
75
|
tomwalters@0
|
76 [MI3d, MIparam] = CalMI(SAI3d,NAPparam,SAIparam,MIparam);
|
tomwalters@0
|
77
|
tomwalters@0
|
78 if length(NameMI) > 0,
|
tomwalters@0
|
79 str = ['save ' NameMI ' MI3d StrobeInfo ' ...
|
tomwalters@0
|
80 ' NAPparam STBparam SAIparam MIparam ; '];
|
tomwalters@0
|
81 disp(str); eval(str);
|
tomwalters@0
|
82 end;
|