rmeddis@33
|
1 function plotProfile(fgName, bgName)
|
rmeddis@33
|
2
|
rmeddis@33
|
3 addpath (['..' filesep 'profiles'])
|
rmeddis@28
|
4
|
rmeddis@28
|
5 %% plot profile
|
rmeddis@28
|
6 if nargin<1
|
rmeddis@38
|
7 fgName = 'profile_JSAN_R';
|
rmeddis@33
|
8 bgName = '';
|
rmeddis@28
|
9 end
|
rmeddis@28
|
10
|
rmeddis@33
|
11 cmd=['foreground = ' fgName ';'];
|
rmeddis@33
|
12 eval(cmd)
|
rmeddis@28
|
13
|
rmeddis@33
|
14 if nargin==2
|
rmeddis@33
|
15 cmd=['background = ' bgName ';'];
|
rmeddis@33
|
16 eval(cmd)
|
rmeddis@33
|
17 else
|
rmeddis@33
|
18 bgName='';
|
rmeddis@33
|
19 end
|
rmeddis@28
|
20
|
rmeddis@28
|
21 % absolute thresholds
|
rmeddis@28
|
22 figure(90), clf
|
rmeddis@35
|
23 set(gcf, 'name', 'Profile')
|
rmeddis@28
|
24 subplot(2,1,2)
|
rmeddis@33
|
25 semilogx(foreground.BFs,foreground.LongTone,'ko-','lineWidth',2); hold on
|
rmeddis@33
|
26 semilogx(foreground.BFs,foreground.ShortTone,'bo-','lineWidth',2); hold on
|
rmeddis@33
|
27 if ~isempty(bgName)
|
rmeddis@33
|
28 semilogx(background.BFs,background.LongTone,'ko:'); hold on
|
rmeddis@33
|
29 semilogx(background.BFs,background.ShortTone,'bo:'); hold on
|
rmeddis@33
|
30 end
|
rmeddis@28
|
31 ylim([0 100])
|
rmeddis@28
|
32
|
rmeddis@28
|
33 % TMC
|
rmeddis@33
|
34 for BFno=1:length(foreground.TMCFreq)
|
rmeddis@28
|
35 subplot(2,6,BFno)
|
rmeddis@34
|
36 % SL
|
rmeddis@34
|
37 % plot(foreground.Gaps,foreground.TMC(BFno,:)-foreground.LongTone(BFno),'r','lineWidth',3), hold on
|
rmeddis@33
|
38 plot(foreground.Gaps,foreground.TMC(BFno,:),'b','lineWidth',3), hold on
|
rmeddis@29
|
39 ylim([-10 110])
|
rmeddis@28
|
40 xlim([0.01 0.1])
|
rmeddis@36
|
41 % grid on
|
rmeddis@28
|
42 if BFno==1
|
rmeddis@28
|
43 ylabel('masker dB SL')
|
rmeddis@36
|
44 xlabel(' gap (s)')
|
rmeddis@28
|
45 end
|
rmeddis@33
|
46 title([num2str(foreground.TMCFreq(BFno)) ' Hz'])
|
rmeddis@36
|
47 set(gca,'XTick',[ 0.02:0.02:0.1],'xTickLabel', { '', '0.04', '', '', '0.1'})
|
rmeddis@28
|
48 end
|
rmeddis@28
|
49
|
rmeddis@33
|
50 if ~isempty(bgName)
|
rmeddis@33
|
51 for BFno=1:length(background.TMCFreq)
|
rmeddis@33
|
52 BF = background.TMCFreq(BFno);
|
rmeddis@33
|
53 idx = find(BF == foreground.TMCFreq);
|
rmeddis@33
|
54 if ~isempty(idx);
|
rmeddis@33
|
55
|
rmeddis@33
|
56 subplot(2,6,idx)
|
rmeddis@34
|
57 % SL
|
rmeddis@34
|
58 % plot(background.Gaps,background.TMC(BFno,:)-background.LongTone(BFno),'k:')
|
rmeddis@33
|
59 plot(background.Gaps,background.TMC(BFno,:),'k:')
|
rmeddis@33
|
60 ylim([-10 110])
|
rmeddis@33
|
61 xlim([0.01 0.1])
|
rmeddis@33
|
62 end
|
rmeddis@33
|
63 end
|
rmeddis@33
|
64 end
|
rmeddis@33
|
65
|
rmeddis@28
|
66 % IFMCs
|
rmeddis@33
|
67 for BFno=1:length(foreground.IFMCFreq)
|
rmeddis@33
|
68 freq=foreground.MaskerRatio'*foreground.IFMCFreq(BFno);
|
rmeddis@28
|
69 subplot(2,1,2)
|
rmeddis@33
|
70 semilogx(freq,foreground.IFMCs(BFno,:),'r','lineWidth',3), hold on
|
rmeddis@38
|
71 ylim([-20 100])
|
rmeddis@28
|
72 xlim([100 12000])
|
rmeddis@36
|
73 % grid on
|
rmeddis@28
|
74 end
|
rmeddis@28
|
75 xlabel('frequency (Hz)')
|
rmeddis@28
|
76 ylabel('masker dB / probe dB')
|
rmeddis@33
|
77 set(gca,'XTick',foreground.IFMCFreq)
|
rmeddis@38
|
78 set(gca,'Ytick', [-20 0 50 100])
|
rmeddis@29
|
79
|
rmeddis@33
|
80 if ~isempty(bgName)
|
rmeddis@33
|
81 for BFno=1:length(background.IFMCFreq)
|
rmeddis@33
|
82 freq=background.MaskerRatio'*background.IFMCFreq(BFno);
|
rmeddis@33
|
83 subplot(2,1,2)
|
rmeddis@33
|
84 semilogx(freq,background.IFMCs(BFno,:),'k:')
|
rmeddis@33
|
85 ylim([0 100])
|
rmeddis@33
|
86 xlim([100 12000])
|
rmeddis@29
|
87 end
|
rmeddis@29
|
88 end
|
rmeddis@36
|
89 set(get(gca,'title'),'interpreter','None')
|
rmeddis@36
|
90
|
rmeddis@34
|
91 title([fgName ' / ' bgName])
|
rmeddis@34
|
92 % mydate=datestr(now); idx=findstr(':',mydate); mydate(idx)='_';
|
rmeddis@32
|
93
|
rmeddis@34
|
94 % fileName= ['savedData/' mydate ];
|
rmeddis@34
|
95 %
|
rmeddis@34
|
96 % save (fileName)
|
rmeddis@34
|
97 % set(gcf,'name', mydate)
|
rmeddis@34
|
98 % disp(fileName)
|