home *** CD-ROM | disk | FTP | other *** search
/ Collection of Education / collectionofeducationcarat1997.iso / SCIENCE / DAUBWAVE.ZIP / DAUBWAVE.DOC < prev    next >
Text File  |  1993-01-15  |  36KB  |  974 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  DAUBWAVE.DOC - This file contains the documentation for the program
  9.  DAUBWAVE.EXE.
  10.  Written by Steven Gollmer, October 28, 1992
  11.  
  12.  Introduction.............................................2
  13.  DAUBWAVE.................................................3
  14.       I.   Options........................................3
  15.            A.  Default....................................3
  16.            B.  Output, -o <filename>......................4
  17.            C.  Wavelet Function, -d#......................4
  18.            D.  Normalization, -n#.........................4
  19.            E.  Actions....................................4
  20.                 1)  Transform, -t#........................4
  21.                 2)  Inverse, -i#..........................4
  22.                 3)  Series, -s#...........................4
  23.                 4)  Low Pass Filter, -l#..................5
  24.                 5)  High Pass Filter, -h#.................5
  25.                 6)  Band Pass Filter, -b#.................5
  26.                 7)  Notch Filter, -k#.....................5
  27.            F.  Other......................................5
  28.                 1)  Rotate, -r............................5
  29.                 2)  Shift by 1, -1........................5
  30.                 3)  Unix Redirection, -u..................5
  31.                 4)  Compression, -c.......................5
  32.       II.  Examples.......................................6
  33.            A.  Default....................................6
  34.            B.  Output, -o <filename>......................6
  35.            C.  Wavelet Function, -d#......................6
  36.            D.  Normalization, -n#.........................7
  37.                 E.  Actions...............................8
  38.                 1)  Transform, -t#........................8
  39.                 2)  Inverse, -i#..........................9
  40.                 3)  Series, -s#...........................9
  41.                 4)  Low Pass Filter, -l#..................10
  42.                 5)  High Pass Filter, -h#.................10
  43.                 6)  Band Pass Filter, -b#.................11
  44.                 7)  Notch Filter, -k#.....................12
  45.            F.  Other......................................12
  46.                 1)  Rotate, -r............................12
  47.                 2)  Shift by 1, -1........................13
  48.                 3)  Unix Redirection, -u..................13
  49.                 4)  Compression, -c.......................13
  50.       III. Program Cautions...............................13
  51.            A.  Round Off Error............................13
  52.            B.  Zero Padding...............................14
  53.            C.  Wrap Around................................14
  54.            D.  Option Usage...............................14
  55.  Conclusion...............................................14
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                        1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  Introduction
  72.  This program is made available as is.  The author is not liable for any
  73.  damage to hardware or data due to the use of this program.  If there are
  74.  problems, I would like to help you, but I can not be responsible for problems
  75.  that may occur on machines that I have not tested this program nor for uses
  76.  of this program in combination with other programs.  This program may be
  77.  modified and used for personal use, but any distribution of original code or
  78.  modifications of original code can not be made without the author's consent.
  79.  Money may not be collected for distributing this code apart from the amount
  80.  needed to provide the media, shipping and a modest processing fee.
  81.       Files included in this release of DAUBWAVE are as follows.
  82.  
  83.       DAUBWAVE.EXE - Program to run under MSDOS
  84.       DAUBWAVE.DOC - Documentation on program's options
  85.       DAUBWAVE.C - Code for this program.  ANSI C version is also available
  86.  
  87.       The purpose of this program is to perform wavelet based operations on a
  88.  data set.  It should be useful in learning orthogonal wavelet analysis as
  89.  well as data analysis using orthogonal wavelets.  This program uses
  90.  orthogonal wavelet analysis based on Daubechies' derived coefficients.
  91.  References which may be useful in understanding my code would be as follows.
  92.  
  93.  Daubechies, I., 1988:  Commun. Pure and Appl. Math., vol. 41, pp. 909-996.
  94.  Mallat, S.G., 1989:  IEEE Trans. on Pattern Analysis and Machine
  95.  Intelligence, vol. 11, pp. 674-693.
  96.  Press, William H., 1992:  'Numerical Recipes for Fortran, 2nd Ed.  New York:
  97.  Cambridge University Press.
  98.  Strang, G. 1989:  SIAM Review, vol. 31, pp. 614-627.
  99.  
  100.       I do not want to give a thorough discussion of orthogonal wavelets here,
  101.  but I do need to clarify a few concepts.  The orthogonal wavelet transform
  102.  decomposes a data set onto an orthogonal basis set.  This orthogonal basis
  103.  set consists of a fundamental wavelet which is translated by steps of 2 and
  104.  scaled by factors of 2.  A single coefficient is calculated as an inner
  105.  product of a wavelet vector with a data vector.  A series of coefficients are
  106.  generated by applying the inner product N/2 times, shifting the wavelet
  107.  vector by 2 positions each time.  N is the number of points within the data
  108.  set.  The wavelet function extracts information about differences between
  109.  adjacent positions within the data.  A companion function which retains
  110.  information about the averages between adjacent points is the scale function
  111.  and it is applied in the afore mentioned way to generate a second series of
  112.  coefficients.  These two series of coefficients are each half as long as the
  113.  original data set.  The one series corresponds to the coefficients generated
  114.  from inner products with the scale function which will be designated the
  115.  'smoothed' data.  The second series corresponds to the coefficients generated
  116.  from the inner products with the wavelet function which will be designated
  117.  the 'detail' of the data.  Therefore, an original data set of 1024 values
  118.  will be decomposed into two series of 512 values.  When the results are saved
  119.  to a file, the smoothed data is saved first followed by the detail of the
  120.  data.  This transform will be called a first level transform and it only
  121.  applies the wavelet function at the smallest scale.  If the above analysis is
  122.  done along with an analysis using the function expanded by a factor of two,
  123.  the results will be called a second level transform.  From multiresolution
  124.  
  125.  
  126.  
  127.  
  128.                                        2
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  analysis, the transform using a wavelet expanded by a factor of 2 is the same
  136.  as applying the original wavelet transform to the smoothed data of the first
  137.  level transform.  When a second level transform is performed there are three
  138.  series of results.  The following diagram illustrates the notation and the
  139.  relationship of levels of the analysis to the transformed data.
  140.  
  141.  o0   o1   o2   o3   o4   o5   o6   o7   (original)
  142.  
  143.  s0   s1   s2   s3   d0   d1   d2   d3   (level 1)
  144.  
  145.  ss0  ss1  sd0  sd1  d0   d1   d2   d3   (level 2)
  146.  
  147.  sss0 ssd0 sd0  sd1  d0   d1   d2   d3   (level 3)
  148.  
  149.  d - detail of the data
  150.  s - smoothed data
  151.  # - indicates the position within a particular series of results
  152.  
  153.  The order of the 's's and 'd's indicates the processes that have been applied
  154.  to the original data to get the corresponding coefficient.  For ssd the data
  155.  has been transformed three times.  The first time the scaling
  156.  function(smoothing) was applied, next the  2X scaling function(smoothing at
  157.  larger scale) was applied and finally the four times wavelet function(detail
  158.  at the largest scale) was applied.  Notice that once the detail of the data
  159.  has been calculated no further transform is performed on it.  The transform
  160.  can be taken to some maximum level, Y, as long as the original data has a
  161.  length of 2 to the Yth power.  The advantage of the orthogonal wavelet
  162.  transform is that all of the information of the original data set is retained
  163.  and can be used to reconstruct the original data set.
  164.  
  165.  
  166.  DAUBWAVE
  167.  This program performs a number of different functions which are all based on
  168.  the wavelet transform.  The first section su