kaiserwin - Kaiser window filter from specification object

Syntax

h = design(d,'kaiserwin')
h = design(d,'kaiserwin',designoption,value,designoption,...
value,...)

Description

h = design(d,'kaiserwin') designs a digital filter hd, or a multirate filter hm that uses a Kaiser window. For kaiserwin to work properly, the filter order in the specifications object must be even. In addition, higher order filters (filter order greater than 120) tend to be more accurate for smaller transition widths. kaiserwin returns a warning when your filter order may be too low to design your filter accurately.

h = design(d,'kaiserwin',designoption,value,designoption,...
value,...)
returns a filter where you specify design options as input arguments and the design process uses the Kaiser window technique.

To determine the available design options, use designopts with the specification object and the design method as input arguments as shown.

designopts(d,'method')

For complete help about using kaiserwin, refer to the command line help system. For example, to get specific information about using kaiserwin with d, the specification object, enter the following at the MATLAB prompt.

help(d,'kaiserwin')

Examples

This example designs a direct form FIR filter from a halfband filter specification object.

d=fdesign.halfband('n,tw',100,0.004)
 
d =
 
               Response: 'Halfband with filter order and transition width'
          Specification: 'N,TW'
            Description: {2x1 cell}
    NormalizedFrequency: true
                     Fs: 'Normalized'
            FilterOrder: 100
        TransitionWidth: 0.0040
designopts(d,'kaiserwin')

ans = 

    FilterStructure: 'dffir'

hd= design(d,'kaiserwin','filterstructure','dffir')
Warning: Filter order is too low. Design may be inaccurate.
 
hd =
 
         FilterStructure: 'Direct-Form FIR'
              Arithmetic: 'double'
               Numerator: [1x101 double]
    ResetBeforeFiltering: 'on'
                  States: [100x1 double]

In this example, kaiserwin uses an interpolating filter specification object to implement a multirate filter.

d=fdesign.interp(4,'pl,tw',120,0.004)
 
d =
 
               Response: [1x46 char]
          Specification: 'PL,TW'
            Description: {2x1 cell}
    InterpolationFactor: 4
    NormalizedFrequency: true
                     Fs: 'Normalized'
        PolyphaseLength: 120
        TransitionWidth: 0.0040


hm = design(d,'kaiserwin')
 
hm =
 
         FilterStructure: 'Direct-Form FIR Polyphase 
                           Interpolator'
               Numerator: [1x480 double]
     InterpolationFactor: 4
    ResetBeforeFiltering: 'on'
                  States: [119x1 double]

With the polyphase length of 120 you do not see the warning about the filter accuracy. Increasing the transition width tw can also reduce the possible inaccuracies.

FVTool shows clearly the multirate filter hm.

See Also

equiripple, firls

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS