annotate multithreshold 1.46/plotProfile.m @ 38:c2204b18f4a2 tip

End nov big change
author Ray Meddis <rmeddis@essex.ac.uk>
date Mon, 28 Nov 2011 13:34:28 +0000
parents 3ea506487b3b
children
rev   line source
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)