File: fbmfwt.cat

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (38 lines) | stat: -rw-r--r-- 1,309 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

fbmfwt(2)                      Scilab Function                      fbmfwt(2)
NAME
  fbmfwt - Discrete wavelet based synthesis of a fBm

  Author: Paulo Goncalves

  Generates a 1/f Gaussian process from a discrete wavelet transform

Usage

  [x] = fbmfwt(N,H,[noctave,Q,randseed]) ;
Input parameters
       o  N  : Positive integer Sample size of the fBm
       o  H  : Real in [0,1] Holder exponent
       o  noctave  : integer Maximum resolution level (should not exceeed
         log2(N))
       o  Q  : real vector.  Analyzing QMF (e.g.  Q = MakeQMF('daubechies',4)
         )
       o  randseed  : real scalar Random seed generator
Output parameters
       o  x  : real vector  [1,N] Time samples of the 1/f Gaussian process
Algorithm details
  Generates a 1/f Gaussian process by inverting a discrete wavelet transform.
   Step 1:  generates  y  a [1,N] i.i.d. standard Gaussian noise
   Step 2:  computes the discrete wavelet coefficients  y
   Step 3:  weigth the wavelet coefficients  y  with the corresponding scale
  power law
   Step 4:  invert the weighted discrete wavelet transform

See also:
  fbmlevinson, synth2, FWT, MakeQMF
Example:

  Q = MakeQMF('daubechies',4) ;
  [x] = fbmfwt(1024,0.5,10,Q) ;
  [wt,scale,f] = contwt(x,2^(-8),2^(-1),64,8) ;
  [H] = cwttrack(wt,scale,0,1,1,8,1,1) ;