annotate multithreshold 1.46/plotProfile.m @ 37:771a643d5c29

mainly nmanuals
author Ray Meddis <rmeddis@essex.ac.uk>
date Thu, 06 Oct 2011 15:43:20 +0100
parents 3ea506487b3b
children c2204b18f4a2
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@33 7 fgName = myFile;
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@28 71 ylim([0 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@29 78
rmeddis@33 79 if ~isempty(bgName)
rmeddis@33 80 for BFno=1:length(background.IFMCFreq)
rmeddis@33 81 freq=background.MaskerRatio'*background.IFMCFreq(BFno);
rmeddis@33 82 subplot(2,1,2)
rmeddis@33 83 semilogx(freq,background.IFMCs(BFno,:),'k:')
rmeddis@33 84 ylim([0 100])
rmeddis@33 85 xlim([100 12000])
rmeddis@29 86 end
rmeddis@29 87 end
rmeddis@36 88 set(get(gca,'title'),'interpreter','None')
rmeddis@36 89
rmeddis@34 90 title([fgName ' / ' bgName])
rmeddis@34 91 % mydate=datestr(now); idx=findstr(':',mydate); mydate(idx)='_';
rmeddis@32 92
rmeddis@34 93 % fileName= ['savedData/' mydate ];
rmeddis@34 94 %
rmeddis@34 95 % save (fileName)
rmeddis@34 96 % set(gcf,'name', mydate)
rmeddis@34 97 % disp(fileName)