testspecgram.html 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/REC-html40/loose.dtd">
  3. <html>
  4. <head>
  5. <title>Description of testspecgram</title>
  6. <meta name="keywords" content="testspecgram">
  7. <meta name="description" content="cd 'C:\Documents and Settings\Admin\Desktop\';">
  8. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  9. <meta name="generator" content="m2html &copy; 2005 Guillaume Flandin">
  10. <meta name="robots" content="index, follow">
  11. <link type="text/css" rel="stylesheet" href="../../m2html.css">
  12. <script type="text/javascript">
  13. if (top.frames.length == 0) { top.location = "../../index.html"; };
  14. </script>
  15. </head>
  16. <body>
  17. <a name="_top"></a>
  18. <!-- ../menu.html chronux_2_10 --><!-- menu.html test -->
  19. <h1>testspecgram
  20. </h1>
  21. <h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
  22. <div class="box"><strong>cd 'C:\Documents and Settings\Admin\Desktop\';</strong></div>
  23. <h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
  24. <div class="box"><strong>function testspecgram(data) </strong></div>
  25. <h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
  26. <div class="fragment"><pre class="comment">cd 'C:\Documents and Settings\Admin\Desktop\';
  27. data=wavread('bird109_26519_on_Aug_19_16_33.wav');</pre></div>
  28. <!-- crossreference -->
  29. <h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
  30. This function calls:
  31. <ul style="list-style-image:url(../../matlabicon.gif)">
  32. <li><a href="../../chronux_2_10/spectral_analysis/continuous/mtspecgramc.html" class="code" title="function [S,t,f,Serr]=mtspecgramc(data,movingwin,params)">mtspecgramc</a> Multi-taper time-frequency spectrum - continuous process</li><li><a href="mtspecgramc_slow.html" class="code" title="function [S,t,f,Serr]=mtspecgramc_slow(data,movingwin,params)">mtspecgramc_slow</a> Multi-taper time-frequency spectrum - continuous process</li></ul>
  33. This function is called by:
  34. <ul style="list-style-image:url(../../matlabicon.gif)">
  35. </ul>
  36. <!-- crossreference -->
  37. <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
  38. <div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function testspecgram(data)</a>
  39. 0002
  40. 0003
  41. 0004 <span class="comment">%cd 'C:\Documents and Settings\Admin\Desktop\';</span>
  42. 0005 <span class="comment">%data=wavread('bird109_26519_on_Aug_19_16_33.wav');</span>
  43. 0006
  44. 0007 params.tapers = [3 5];
  45. 0008 params.fpass = [100 20000];
  46. 0009 params.Fs = 44100;
  47. 0010 params.pad = 2;
  48. 0011 max_time =10; <span class="comment">% seconds per run</span>
  49. 0012 max_tapers = 150;
  50. 0013 increment = 1.5;
  51. 0014 profile on
  52. 0015
  53. 0016
  54. 0017 nsamples = 1000;
  55. 0018 <span class="keyword">if</span> 1
  56. 0019 slow_results = [];
  57. 0020
  58. 0021 <span class="keyword">while</span> 1
  59. 0022 tic
  60. 0023 [S,t,f] = <a href="mtspecgramc_slow.html" class="code" title="function [S,t,f,Serr]=mtspecgramc_slow(data,movingwin,params)">mtspecgramc_slow</a>( data(1:nsamples), [0.01 0.001], params );
  61. 0024 time = toc;
  62. 0025 result = [nsamples time];
  63. 0026 fprintf( <span class="string">'ran %d samples in %d seconds\n'</span>,nsamples, time );
  64. 0027 slow_results = [slow_results ;result];
  65. 0028 <span class="keyword">if</span> time &gt; max_time
  66. 0029 <span class="keyword">break</span>
  67. 0030 <span class="keyword">end</span>
  68. 0031 nsamples = round(nsamples * increment);
  69. 0032 <span class="keyword">end</span>
  70. 0033 slow_results
  71. 0034 fig=figure();
  72. 0035 ax=axes(<span class="string">'XScale'</span>,<span class="string">'log'</span>,<span class="string">'YScale'</span>,<span class="string">'log'</span>);
  73. 0036 axes(ax);
  74. 0037 h=line( <span class="string">'Xdata'</span>,slow_results(:,1),<span class="string">'Ydata'</span>,slow_results(:,2),<span class="string">'Marker'</span>,<span class="string">'*'</span>);
  75. 0038 xlabel(<span class="string">'number of samples'</span>)
  76. 0039 ylabel(<span class="string">'time'</span>);
  77. 0040 title(<span class="string">'Original mtspecgramc'</span>);
  78. 0041 grid on
  79. 0042 drawnow;
  80. 0043 saveas(fig,<span class="string">'datalength_slow.png'</span>);
  81. 0044
  82. 0045 nsamples = 1000;
  83. 0046 fast_results = [];
  84. 0047 <span class="keyword">while</span> 1
  85. 0048 tic
  86. 0049 [S,t,f] = <a href="../../chronux_2_10/spectral_analysis/continuous/mtspecgramc.html" class="code" title="function [S,t,f,Serr]=mtspecgramc(data,movingwin,params)">mtspecgramc</a>( data(1:nsamples), [0.01 0.001], params );
  87. 0050 time = toc;
  88. 0051 result = [nsamples time];
  89. 0052 fprintf( <span class="string">'ran %d samples in %d seconds\n'</span>,nsamples, time );
  90. 0053 fast_results = [fast_results ;result];
  91. 0054 <span class="keyword">if</span> time &gt; max_time
  92. 0055 <span class="keyword">break</span>
  93. 0056 <span class="keyword">end</span>
  94. 0057 nsamples = round(nsamples * increment);
  95. 0058 <span class="keyword">end</span>
  96. 0059 fast_results
  97. 0060 fig=figure();
  98. 0061 ax=axes(<span class="string">'XScale'</span>,<span class="string">'log'</span>,<span class="string">'YScale'</span>,<span class="string">'log'</span>);
  99. 0062 axes(ax);
  100. 0063 h=line( <span class="string">'Xdata'</span>,fast_results(:,1),<span class="string">'Ydata'</span>,fast_results(:,2),<span class="string">'Marker'</span>,<span class="string">'*'</span>);
  101. 0064 xlabel(<span class="string">'number of samples'</span>)
  102. 0065 ylabel(<span class="string">'time'</span>);
  103. 0066 title(<span class="string">'Modified mtspecgramc - preallocate space'</span>);
  104. 0067 grid on
  105. 0068 drawnow;
  106. 0069 saveas(fig,<span class="string">'datalength_fast.png'</span>);
  107. 0070
  108. 0071 compare = [];
  109. 0072 n = 1;
  110. 0073 <span class="keyword">while</span> n &lt;= min(length(slow_results(:,1)),length(fast_results(:,1)))
  111. 0074 compare_one = [slow_results(n,1) slow_results(n,2)/fast_results(n,2)];
  112. 0075 compare = [compare ;compare_one];
  113. 0076 n = n + 1;
  114. 0077 <span class="keyword">end</span>
  115. 0078 compare
  116. 0079 fig=figure();
  117. 0080 ax=axes(<span class="string">'XScale'</span>,<span class="string">'log'</span>,<span class="string">'YScale'</span>,<span class="string">'lin'</span>);
  118. 0081 axes(ax);
  119. 0082 h=line( <span class="string">'Xdata'</span>,compare(:,1),<span class="string">'Ydata'</span>,compare(:,2),<span class="string">'Marker'</span>,<span class="string">'*'</span>);
  120. 0083 title(<span class="string">'Preallocation slowdown/speedup of mtspecgramc'</span>);
  121. 0084 xlabel(<span class="string">'number of samples'</span>)
  122. 0085 ylabel(<span class="string">'speedup'</span>);
  123. 0086 grid on
  124. 0087 drawnow;
  125. 0088 saveas(fig,<span class="string">'speedup.png'</span>);
  126. 0089
  127. 0090
  128. 0091 <span class="keyword">end</span>;
  129. 0092
  130. 0093 nsamples=10000;
  131. 0094 results = [];
  132. 0095 n = 1;
  133. 0096 <span class="keyword">while</span> 1
  134. 0097 tic
  135. 0098 params.tapers = [n (2*n-1)];
  136. 0099 [S,t,f] = <a href="../../chronux_2_10/spectral_analysis/continuous/mtspecgramc.html" class="code" title="function [S,t,f,Serr]=mtspecgramc(data,movingwin,params)">mtspecgramc</a>( data(1:nsamples), [0.01 0.001], params );
  137. 0100 time = toc;
  138. 0101 result = [params.tapers(2) time];
  139. 0102 fprintf( <span class="string">'ran %d samples in %d seconds with tapers %d %d\n'</span>,nsamples, time,params.tapers(1),params.tapers(2) );
  140. 0103 results = [results ;result];
  141. 0104 <span class="keyword">if</span> time &gt; max_time || params.tapers(2) &gt; max_tapers
  142. 0105 <span class="keyword">break</span>
  143. 0106 <span class="keyword">end</span>
  144. 0107 n = round(n * increment);
  145. 0108 <span class="keyword">end</span>
  146. 0109 fig=figure();
  147. 0110 ax=axes(<span class="string">'XScale'</span>,<span class="string">'log'</span>,<span class="string">'YScale'</span>,<span class="string">'log'</span>);
  148. 0111 axes(ax);
  149. 0112 h=line( <span class="string">'Xdata'</span>,results(:,1),<span class="string">'Ydata'</span>,results(:,2),<span class="string">'Marker'</span>,<span class="string">'*'</span>);
  150. 0113 xlabel(<span class="string">'tapers'</span>)
  151. 0114 ylabel(<span class="string">'time'</span>);
  152. 0115
  153. 0116 drawnow;
  154. 0117 saveas(fig,<span class="string">'tapers.png'</span>);
  155. 0118
  156. 0119
  157. 0120 stats = profile(<span class="string">'info'</span>)</pre></div>
  158. <hr><address>Generated on Fri 12-Aug-2011 11:36:15 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/" target="_parent">m2html</a></strong> &copy; 2005</address>
  159. </body>
  160. </html>