function mov_error_detail( fileName )
%--------------------------------------------------------------------------
% Moving Spectral Average Error Comparision Detail
%
% Cooper Baker - 2014
%--------------------------------------------------------------------------
close all;
name = 'Moving Spectral Average Error';
% detail settings
headLoc = 0.25;
midLoc = 0.5;
tailLoc = 0.75;
detail = 0.02;
% set path
p = genpath( '../../analyze' );
addpath( p );
p = genpath( '../../tones' );
addpath( p );
% get audio file info
fileInfo = audioinfo( [ fileName, '_ideal.wav' ] );
sr = fileInfo.SampleRate;
samps = fileInfo.TotalSamples;
winSize = 512;
overlap = 4;
% make file names
rawFile = sprintf( '%s.classic.mov.err.csv' , fileName );
lockFile = sprintf( '%s.lock.mov.err.csv', fileName );
peakFile = sprintf( '%s.peak.mov.err.csv', fileName );
bankFile = sprintf( '%s.bank.mov.err.csv', fileName );
solaFile = sprintf( '%s.sola.mov.err.csv', fileName );
olaFile = sprintf( '%s.ola.mov.err.csv' , fileName );
% load file data
rawData = csvread( rawFile );
lockData = csvread( lockFile );
peakData = csvread( peakFile );
bankData = csvread( bankFile );
solaData = csvread( solaFile );
olaData = csvread( olaFile );
% get data size
size = length( rawData );
% calculate msec grid values
msec = ( samps / sr ) * 1000;
gridMsec = 500;
gridHops = gridMsec / ( ( ( winSize / overlap ) / sr ) * 1000 );
hopSize = winSize / overlap;
hopMsec = ( hopSize / sr ) * 1000;
rangeMsec = detail * msec;
headMsec = ( headLoc - ( detail / 2 ) ) * msec;
midMsec = ( midLoc - ( detail / 2 ) ) * msec;
tailMsec = ( tailLoc - ( detail / 2 ) ) * msec;
headMsec = headMsec + rangeMsec * 0.25;
midMsec = midMsec + rangeMsec * 0.25;
tailMsec = tailMsec + rangeMsec * 0.25;
% calculate data maximums
rawMax = max( rawData );
lockMax = max( lockData );
peakMax = max( peakData );
bankMax = max( bankData );
solaMax = max( solaData );
olaMax = max( olaData );
% calculate data averages
rawAvg = sum( rawData ) / size;
lockAvg = sum( lockData ) / size;
peakAvg = sum( peakData ) / size;
bankAvg = sum( bankData ) / size;
solaAvg = sum( solaData ) / size;
olaAvg = sum( olaData ) / size;
% find maximum maximum and minimum maximum
MaxMax = max( [ rawMax lockMax peakMax bankMax solaMax olaMax ] );
MinMax = min( [ rawMax lockMax peakMax bankMax solaMax olaMax ] );
% find maximum average and minimum average
MaxAvg = max( [ rawAvg lockAvg peakAvg bankAvg solaAvg olaAvg ] );
MinAvg = min( [ rawAvg lockAvg peakAvg bankAvg solaAvg olaAvg ] );
% calculate cropping values
side = round( size * detail );
head = round( size * headLoc );
mid = round( size * midLoc );
tail = round( size * tailLoc );
range = side * 2;
% copy detail sections of data
rawHead = rawData ( head - side : head + side );
rawMid = rawData ( mid - side : mid + side );
rawTail = rawData ( tail - side : tail + side );
lockHead = lockData( head - side : head + side );
lockMid = lockData( mid - side : mid + side );
lockTail = lockData( tail - side : tail + side );
peakHead = peakData( head - side : head + side );
peakMid = peakData( mid - side : mid + side );
peakTail = peakData( tail - side : tail + side );
bankHead = bankData( head - side : head + side );
bankMid = bankData( mid - side : mid + side );
bankTail = bankData( tail - side : tail + side );
solaHead = solaData( head - side : head + side );
solaMid = solaData( mid - side : mid + side );
solaTail = solaData( tail - side : tail + side );
olaHead = olaData ( head - side : head + side );
olaMid = olaData ( mid - side : mid + side );
olaTail = olaData ( tail - side : tail + side );
% graph formatting
fontName = 'Times New Roman';
fontSize = 12;
xTxt = range * 0.04;
yTxt = MaxMax * .82;
% set up plot window
fig = figure( 1 );
set( fig, 'Name', sprintf( '%s - %s.wav', name, fileName ) );
set( fig, 'Position', [ 0 0 800 1000 ] );
set( fig, 'defaultAxesFontName', fontName );
set( fig, 'defaultTextFontName', fontName );
set( fig, 'defaultlinelinewidth', 3 );
set( fig, 'defaultaxescolororder', [ 0.8 0.2 0.2 ] );
% classic
%--------------------------------------------------------------------------
% head
algo = 'Classic';
set( subplot( 6, 3, 1 ), 'Position', [ 0.1, 5.5/7, 0.26, 1/7.333 ] );
plot( rawHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, rawAvg, rawMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
title( 'Head', 'FontSize', fontSize );
% mid
set( subplot( 6, 3, 2 ), 'Position', [ 0.3666, 5.5/7, 0.26, 1/7.333 ] );
plot( rawMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
title( 'Middle', 'FontSize', fontSize );
% tail
set( subplot( 6, 3, 3 ), 'Position', [ 0.6333, 5.5/7, 0.26, 1/7.333 ] );
plot( rawTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
title( 'Tail', 'FontSize', fontSize );
% lock
%--------------------------------------------------------------------------
% head
algo = 'Lock';
set( subplot( 6, 3, 4 ), 'Position', [ 0.1, 4.5/7, 0.26, 1/7.333 ] );
plot( lockHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, lockAvg, lockMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 5 ), 'Position', [ 0.3666, 4.5/7, 0.26, 1/7.333 ] );
plot( lockMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 6 ), 'Position', [ 0.6333, 4.5/7, 0.26, 1/7.333 ] );
plot( lockTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% peak
%--------------------------------------------------------------------------
% head
algo = 'Peak';
set( subplot( 6, 3, 7 ), 'Position', [ 0.1, 3.5/7, 0.26, 1/7.333 ] );
plot( peakHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, peakAvg, peakMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 8 ), 'Position', [ 0.3666, 3.5/7, 0.26, 1/7.333 ] );
plot( peakMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 9 ), 'Position', [ 0.6333, 3.5/7, 0.26, 1/7.333 ] );
plot( peakTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% bank
%--------------------------------------------------------------------------
% head
algo = 'Bank';
set( subplot( 6, 3, 10 ), 'Position', [ 0.1, 2.5/7, 0.26, 1/7.333 ] );
plot( bankHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, bankAvg, bankMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 11 ), 'Position', [ 0.3666, 2.5/7, 0.26, 1/7.333 ] );
plot( bankMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 12 ), 'Position', [ 0.6333, 2.5/7, 0.26, 1/7.333 ] );
plot( bankTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% sola
%--------------------------------------------------------------------------
% head
algo = 'Sola';
set( subplot( 6, 3, 13 ), 'Position', [ 0.1, 1.5/7, 0.26, 1/7.333 ] );
plot( solaHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, solaAvg, solaMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 14 ), 'Position', [ 0.3666, 1.5/7, 0.26, 1/7.333 ] );
plot( solaMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 15 ), 'Position', [ 0.6333, 1.5/7, 0.26, 1/7.333 ] );
plot( solaTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% ola
%--------------------------------------------------------------------------
% head
algo = 'Ola';
set( subplot( 6, 3, 16 ), 'Position', [ 0.1, 0.5/7, 0.26, 1/7.333 ] );
plot( olaHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [ headMsec : rangeMsec / 4 : headMsec + rangeMsec ] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, olaAvg, olaMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
yLab = ylabel( 'Sones' );
% mid
set( subplot( 6, 3, 17 ), 'Position', [ 0.3666, 0.5/7, 0.26, 1/7.333 ] );
plot( olaMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [ midMsec : rangeMsec / 4 : midMsec + rangeMsec ] );
set( gca, 'YTickLabel', [] );
xlabel( 'Milliseconds' );
% tail
set( subplot( 6, 3, 18 ), 'Position', [ 0.6333, 0.5/7, 0.26, 1/7.333 ] );
plot( olaTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [ tailMsec : rangeMsec / 4 : tailMsec + rangeMsec ] );
set( gca, 'YTickLabel', [] );
% tighten up graph borders
tightfig();
% move y label
set( yLab, 'Position', [ range * -0.15 ( ( MaxMax * 6.25 ) / 2 ) ] );
% write plot to file
hgexport( fig, [ fileName, '.err.mov.zoom.eps' ] );
% EOF
%--------------------------------------------------------------------------
% Moving Spectral Average Error Comparision Detail
%
% Cooper Baker - 2014
%--------------------------------------------------------------------------
close all;
name = 'Moving Spectral Average Error';
% detail settings
headLoc = 0.25;
midLoc = 0.5;
tailLoc = 0.75;
detail = 0.02;
% set path
p = genpath( '../../analyze' );
addpath( p );
p = genpath( '../../tones' );
addpath( p );
% get audio file info
fileInfo = audioinfo( [ fileName, '_ideal.wav' ] );
sr = fileInfo.SampleRate;
samps = fileInfo.TotalSamples;
winSize = 512;
overlap = 4;
% make file names
rawFile = sprintf( '%s.classic.mov.err.csv' , fileName );
lockFile = sprintf( '%s.lock.mov.err.csv', fileName );
peakFile = sprintf( '%s.peak.mov.err.csv', fileName );
bankFile = sprintf( '%s.bank.mov.err.csv', fileName );
solaFile = sprintf( '%s.sola.mov.err.csv', fileName );
olaFile = sprintf( '%s.ola.mov.err.csv' , fileName );
% load file data
rawData = csvread( rawFile );
lockData = csvread( lockFile );
peakData = csvread( peakFile );
bankData = csvread( bankFile );
solaData = csvread( solaFile );
olaData = csvread( olaFile );
% get data size
size = length( rawData );
% calculate msec grid values
msec = ( samps / sr ) * 1000;
gridMsec = 500;
gridHops = gridMsec / ( ( ( winSize / overlap ) / sr ) * 1000 );
hopSize = winSize / overlap;
hopMsec = ( hopSize / sr ) * 1000;
rangeMsec = detail * msec;
headMsec = ( headLoc - ( detail / 2 ) ) * msec;
midMsec = ( midLoc - ( detail / 2 ) ) * msec;
tailMsec = ( tailLoc - ( detail / 2 ) ) * msec;
headMsec = headMsec + rangeMsec * 0.25;
midMsec = midMsec + rangeMsec * 0.25;
tailMsec = tailMsec + rangeMsec * 0.25;
% calculate data maximums
rawMax = max( rawData );
lockMax = max( lockData );
peakMax = max( peakData );
bankMax = max( bankData );
solaMax = max( solaData );
olaMax = max( olaData );
% calculate data averages
rawAvg = sum( rawData ) / size;
lockAvg = sum( lockData ) / size;
peakAvg = sum( peakData ) / size;
bankAvg = sum( bankData ) / size;
solaAvg = sum( solaData ) / size;
olaAvg = sum( olaData ) / size;
% find maximum maximum and minimum maximum
MaxMax = max( [ rawMax lockMax peakMax bankMax solaMax olaMax ] );
MinMax = min( [ rawMax lockMax peakMax bankMax solaMax olaMax ] );
% find maximum average and minimum average
MaxAvg = max( [ rawAvg lockAvg peakAvg bankAvg solaAvg olaAvg ] );
MinAvg = min( [ rawAvg lockAvg peakAvg bankAvg solaAvg olaAvg ] );
% calculate cropping values
side = round( size * detail );
head = round( size * headLoc );
mid = round( size * midLoc );
tail = round( size * tailLoc );
range = side * 2;
% copy detail sections of data
rawHead = rawData ( head - side : head + side );
rawMid = rawData ( mid - side : mid + side );
rawTail = rawData ( tail - side : tail + side );
lockHead = lockData( head - side : head + side );
lockMid = lockData( mid - side : mid + side );
lockTail = lockData( tail - side : tail + side );
peakHead = peakData( head - side : head + side );
peakMid = peakData( mid - side : mid + side );
peakTail = peakData( tail - side : tail + side );
bankHead = bankData( head - side : head + side );
bankMid = bankData( mid - side : mid + side );
bankTail = bankData( tail - side : tail + side );
solaHead = solaData( head - side : head + side );
solaMid = solaData( mid - side : mid + side );
solaTail = solaData( tail - side : tail + side );
olaHead = olaData ( head - side : head + side );
olaMid = olaData ( mid - side : mid + side );
olaTail = olaData ( tail - side : tail + side );
% graph formatting
fontName = 'Times New Roman';
fontSize = 12;
xTxt = range * 0.04;
yTxt = MaxMax * .82;
% set up plot window
fig = figure( 1 );
set( fig, 'Name', sprintf( '%s - %s.wav', name, fileName ) );
set( fig, 'Position', [ 0 0 800 1000 ] );
set( fig, 'defaultAxesFontName', fontName );
set( fig, 'defaultTextFontName', fontName );
set( fig, 'defaultlinelinewidth', 3 );
set( fig, 'defaultaxescolororder', [ 0.8 0.2 0.2 ] );
% classic
%--------------------------------------------------------------------------
% head
algo = 'Classic';
set( subplot( 6, 3, 1 ), 'Position', [ 0.1, 5.5/7, 0.26, 1/7.333 ] );
plot( rawHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, rawAvg, rawMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
title( 'Head', 'FontSize', fontSize );
% mid
set( subplot( 6, 3, 2 ), 'Position', [ 0.3666, 5.5/7, 0.26, 1/7.333 ] );
plot( rawMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
title( 'Middle', 'FontSize', fontSize );
% tail
set( subplot( 6, 3, 3 ), 'Position', [ 0.6333, 5.5/7, 0.26, 1/7.333 ] );
plot( rawTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
title( 'Tail', 'FontSize', fontSize );
% lock
%--------------------------------------------------------------------------
% head
algo = 'Lock';
set( subplot( 6, 3, 4 ), 'Position', [ 0.1, 4.5/7, 0.26, 1/7.333 ] );
plot( lockHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, lockAvg, lockMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 5 ), 'Position', [ 0.3666, 4.5/7, 0.26, 1/7.333 ] );
plot( lockMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 6 ), 'Position', [ 0.6333, 4.5/7, 0.26, 1/7.333 ] );
plot( lockTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% peak
%--------------------------------------------------------------------------
% head
algo = 'Peak';
set( subplot( 6, 3, 7 ), 'Position', [ 0.1, 3.5/7, 0.26, 1/7.333 ] );
plot( peakHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, peakAvg, peakMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 8 ), 'Position', [ 0.3666, 3.5/7, 0.26, 1/7.333 ] );
plot( peakMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 9 ), 'Position', [ 0.6333, 3.5/7, 0.26, 1/7.333 ] );
plot( peakTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% bank
%--------------------------------------------------------------------------
% head
algo = 'Bank';
set( subplot( 6, 3, 10 ), 'Position', [ 0.1, 2.5/7, 0.26, 1/7.333 ] );
plot( bankHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, bankAvg, bankMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 11 ), 'Position', [ 0.3666, 2.5/7, 0.26, 1/7.333 ] );
plot( bankMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 12 ), 'Position', [ 0.6333, 2.5/7, 0.26, 1/7.333 ] );
plot( bankTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% sola
%--------------------------------------------------------------------------
% head
algo = 'Sola';
set( subplot( 6, 3, 13 ), 'Position', [ 0.1, 1.5/7, 0.26, 1/7.333 ] );
plot( solaHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, solaAvg, solaMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
% mid
set( subplot( 6, 3, 14 ), 'Position', [ 0.3666, 1.5/7, 0.26, 1/7.333 ] );
plot( solaMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% tail
set( subplot( 6, 3, 15 ), 'Position', [ 0.6333, 1.5/7, 0.26, 1/7.333 ] );
plot( solaTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [] );
set( gca, 'YTickLabel', [] );
% ola
%--------------------------------------------------------------------------
% head
algo = 'Ola';
set( subplot( 6, 3, 16 ), 'Position', [ 0.1, 0.5/7, 0.26, 1/7.333 ] );
plot( olaHead );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [ headMsec : rangeMsec / 4 : headMsec + rangeMsec ] );
legStr = sprintf( ' %s\n Avg: %2.5f \n Max: %2.5f ', algo, olaAvg, olaMax );
text( xTxt, yTxt, legStr, 'BackgroundColor', 'w', 'EdgeColor', 'k' );
yLab = ylabel( 'Sones' );
% mid
set( subplot( 6, 3, 17 ), 'Position', [ 0.3666, 0.5/7, 0.26, 1/7.333 ] );
plot( olaMid );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [ midMsec : rangeMsec / 4 : midMsec + rangeMsec ] );
set( gca, 'YTickLabel', [] );
xlabel( 'Milliseconds' );
% tail
set( subplot( 6, 3, 18 ), 'Position', [ 0.6333, 0.5/7, 0.26, 1/7.333 ] );
plot( olaTail );
axis( [ 0 range 0 MaxMax ] );
grid on;
set( gca, 'XTick', [ range * 0.25 : ( range / 4 ) : range * 0.75 ] );
set( gca, 'XTickLabel', [ tailMsec : rangeMsec / 4 : tailMsec + rangeMsec ] );
set( gca, 'YTickLabel', [] );
% tighten up graph borders
tightfig();
% move y label
set( yLab, 'Position', [ range * -0.15 ( ( MaxMax * 6.25 ) / 2 ) ] );
% write plot to file
hgexport( fig, [ fileName, '.err.mov.zoom.eps' ] );
% EOF