Transcript of time-frequency analysis in Scilab



                           ===========
                           S c i l a b
                           ===========
 
 
                  Scilab-2.4  (July 12, 1998) 
                  Copyright (C) 1989-98 INRIA 
 
 
Startup execution:
  loading initial environment
 
-->horn_mf_B2 = loadwave('horn_mf_B2.wav');
Reading Wave file: Microsoft PCM format, 1 channel, 44100 samp/sec
        88200 byte/sec, 2 block align, 16 bits/samp, 256338 data bytes
Input file: using sample rate 44100
        size shorts, style signed (2's complement), 1 channel
 
-->plot2d(horn_mf_B2(1:5000));
 
-->xbasc()             
 
-->mapsound(horn_mf_B2);
 
-->horn_corr = corr(horn_mf_B2, horn_mf_B2, 2000);
 
-->xbasc()
 
-->plot2d(horn_corr)
 
-->getf('time-freq.sci')
 
-->horn_corr_peaks = find_corr_peaks(horn_corr, 0.05)
 horn_corr_peaks  =
 
!   1.    359.    716.    1074.    1431.    1789. !
 
-->horn_periods = horn_corr_peaks(2:6) - horn_corr_peaks(1:5)
 horn_periods  =
 
!   358.    357.    358.    357.    358. !
 
-->horn_tf_graph = time_freq_analyze(horn_mf_B2, 358);
 
-->size(horn_tf_graph) 
 ans  =
 
!   358.    359. !
 
-->xbasc() 
 
-->getf('fourier_demo.sci')
 
-->xbasc()         
 
-->plot_spectrum(horn_tf_graph(20,1:20), 0, 19*44100/358)
 
-->xbasc()

-->plot2d(horn_tf_graph(:,1))
                           !--error   202 
Argument   1 of plot2d                   : wrong type argument,
 expecting a real matrix
 
 
-->plot2d(abs(horn_tf_graph(:,1)))
 
-->xbasc()
 
-->plot2d(abs(horn_tf_graph(1:40,1)))
 
-->plot2d(abs(horn_tf_graph(1:40,2)))
 
-->plot2d(abs(horn_tf_graph(1:40,3)))
 
-->plot2d(abs(horn_tf_graph(1:40,4)))
 
-->plot2d(abs(horn_tf_graph(1:40,5)))
 
-->plot2d(abs(horn_tf_graph(1:40,6)))
 
-->plot2d(abs(horn_tf_graph(1:40,7)))
 
-->plot2d(abs(horn_tf_graph(1:40,8)))
 
-->plot2d(abs(horn_tf_graph(1:40,9)))
 
-->plot2d(abs(horn_tf_graph(1:40,10)))
 
-->plot2d(abs(horn_tf_graph(1:40,11)))
 
-->plot2d(abs(horn_tf_graph(1:40,12)))
 
-->plot2d(abs(horn_tf_graph(1:40,13)))
 
-->plot2d(abs(horn_tf_graph(1:40,14)))
 
-->plot2d(abs(horn_tf_graph(1:40,15)))
 
-->plot2d(abs(horn_tf_graph(1:40,16)))
 
-->plot2d(abs(horn_tf_graph(1:40,17)))
 
-->plot2d(abs(horn_tf_graph(1:40,18)))
 
-->plot2d(abs(horn_tf_graph(1:40,19)))
 
-->plot2d(abs(horn_tf_graph(1:40,20)))
 
-->xbasc()
 
-->plot2d(abs(horn_tf_graph(1:40,:))) 
 
-->xbasc()
 
-->plot2d(abs(horn_tf_graph(1,:)))
 
-->xbasc()
 
-->plot2d(abs(horn_tf_graph(2,:)))
 
-->plot2d(abs(horn_tf_graph(3,:)))
 
-->plot2d(abs(horn_tf_graph(4,:)))
 
-->plot2d(abs(horn_tf_graph(5,:)))
 
-->plot2d(abs(horn_tf_graph(6,:)))
 
-->plot2d(abs(horn_tf_graph(7,:)))
 
-->plot2d(abs(horn_tf_graph(8,:)))
 
-->plot2d(abs(horn_tf_graph(9,:)))
 
-->plot2d(abs(horn_tf_graph(10,:)))
 
-->plot2d(abs(horn_tf_graph(11,:)))
 
-->plot2d(abs(horn_tf_graph(12,:)))
 
-->xbasc()                           
 
-->plot2d(abs(horn_tf_graph(2,1:30)))
 
-->plot2d(abs(horn_tf_graph(3,1:30)))
 
-->plot2d(abs(horn_tf_graph(4,1:30)))
 
-->plot2d(abs(horn_tf_graph(5,1:30)))
 
-->plot2d(abs(horn_tf_graph(6,1:30)))
 
-->plot2d(abs(horn_tf_graph(7,1:30)))
 
-->plot2d(abs(horn_tf_graph(8,1:30)))
 
-->plot2d(abs(horn_tf_graph(9,1:30)))
 
-->plot2d(abs(horn_tf_graph(10,1:30)))
 
-->plot2d(abs(horn_tf_graph(11,1:30)))
 
-->plot2d(abs(horn_tf_graph(12,1:30)))
 
-->xbasc()
 
-->plot2d(abs(horn_tf_graph(2:12,1:30)))
 
-->xbasc()
 
-->plot2d(abs(horn_tf_graph(2:12,1:30)'))
 
xbasc()
 
-->plot2d(abs(horn_tf_graph(1+1,1:30)))    
 
-->bp1 = [1 3 4 6 9 12 20]
 bp1  =
 
!   1.    3.    4.    6.    9.    12.    20. !
 
-->bpv1 = abs(breakpoint_values(horn_tf_graph, 1, bp1))
 bpv1  =
 
 
         column 1 to 5
 
!    .0219584    1.9329936    1.1262063    6.5218908    4.4275374 !
 
         column 6 to 7
 
!   8.4635776    8.8525378 !
 
-->bpt1 = breakpoint_times(bp1, 358)   
 bpt1  =
 
 
         column 1 to 5
 
!   0.     .0162358     .0243537     .0405896     .0649433 !
 
         column 6 to 7
 
!    .0892971     .1542404 !
 
-->bpd1 = bpt1(2:7) - bpt1(1:6)
 bpd1  =
 
 
         column 1 to 5
 
!    .0162358     .0081179     .0162358     .0243537     .0243537 !
 
         column 6
 
!    .0649433 !
 
-->linseg_params(horn_tf_graph, 1, bp1, 358)
 ans  =
 
 
         column 1 to 5
 
!   0.     .0162358     .2183547     .0081179     .1272185 !
 
         column  6 to 10
 
!    .0162358     .7367255     .0243537     .5001433     .0243537 !
 
         column 11 to 14
 
!    .9560623     .0649433    1.    8.8525378 !
 
-->plot2d(abs(horn_tf_graph(2+1,1:30)))
 
-->bp2 = [1 5 7 8 11 20]
 bp2  =
 
!   1.    5.    7.    8.    11.    20. !
 
-->linseg_params(horn_tf_graph, 2, bp2, 358)
 ans  =
 
 
         column 1 to 5
 
!   0.     .0324717     .1404555     .0162358     .6616603 !
 
         column  6 to 10
 
!    .0081179     .5423246     .0243537     .9933131     .0730612 !
 
         column 11 to 12
 
!   1.    30.707137 !
 
-->plot2d(abs(horn_tf_graph(3+1,1:30)))     
 
-->bp3 = [1 5 10 20]
 bp3  =
 
!   1.    5.    10.    20. !
 
-->linseg_params(horn_tf_graph, 3, bp3, 358)
 ans  =
 
 
         column 1 to 5
 
!   0.     .0324717     .0129012     .0405896     .8719548 !
 
         column 6 to 8
 
!    .0811791    1.    40.555107 !
 
-->

Michael J. O'Donnell
Last modified: Sun May 16 18:13:40 CDT 1999