File: yulewalk.cat

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (40 lines) | stat: -rw-r--r-- 1,459 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
39
40
yulewalk          Scilab Group          Scilab Function            yulewalk
NAME
   yulewalk -  least-square filter design
  
CALLING SEQUENCE
 Hz = yulewalk(N,frq,mag) 
PARAMETERS
 N          : integer (order of desired filter)
            
 frq        : real row vector (non-decreasing order), frequencies.
            
 mag        : non negative real row vector (same size as frq), desired
            magnitudes.
            
 Hz         : filter B(z)/A(z)
            
DESCRIPTION
   Hz = yulewalk(N,frq,mag) finds the N-th order iir filter
  
                   n-1         n-2            
       B(z)   b(1)z     + b(2)z    + .... + b(n)
 H(z)= ---- = ---------------------------------
                 n-1       n-2
       A(z)    z   + a(2)z    + .... + a(n)
   which matches the magnitude frequency response given by vectors frq and
  mag. Vectors frq and mag specify the frequency and magnitude of the
  desired frequency response. The frequencies in frq must be between 0.0
  and 1.0, with 1.0 corresponding to half the sample rate. They must be in
  increasing order and start with 0.0 and end with 1.0. 
  
EXAMPLE
 f=[0,0.4,0.4,0.6,0.6,1];H=[0,0,1,1,0,0];Hz=yulewalk(8,f,H);
 fs=1000;fhz = f*fs/2;  
 xbasc(0);xset('window',0);plot2d(fhz',H');
 xtitle('Desired Frequency Response (Magnitude)')
 [frq,repf]=repfreq(Hz,0:0.001:0.5);
 xbasc(1);xset('window',1);plot2d(fs*frq',abs(repf'));
 xtitle('Obtained Frequency Response (Magnitude)')