fdesign.hilbert - Hilbert filter specification object

Syntax

d = fdesign.hilbert
d = fdesign.hilbert(specvalue1,specvalue2)
d = fdesign.hilbert(spec)
d = fdesign.hilbert(spec,specvalue1,specvalue2)
d = fdesign.hilbert(...,fs)
d = fdesign.hilbert(...,magunits)

Description

d = fdesign.hilbert constructs a default Hilbert filter designer d with n, the filter order, set to 31.

d = fdesign.hilbert(specvalue1,specvalue2) constructs a Hilbert filter designer d assuming the default specification string n,tw. You input specvalue1 and specvalue2 for n and tw.

d = fdesign.hilbert(spec) initializes the filter designer Specification property to spec. You provide one of the following strings as input to replace spec. The string you provide is not case sensitive:

The string entries are defined as follows:

By default, fdesign.hilbert assumes that all frequency specifications are provided in normalized frequency units. Also, decibels is the default for all magnitude specifications.

Different specification strings may have different design methods available. Use designmethods(d) to get a list of the design methods available for a given specification string.

d = fdesign.hilbert(spec,specvalue1,specvalue2) initializes the filter designer specifications in spec with specvalue1, specvalue2, and so on. To get a description of the specifications specvalue1 and specvalue2, enter

get(d,'description')

at the Command prompt.

d = fdesign.hilbert(...,fs) adds the argument fs, specified in Hz to define the sampling frequency to use. In this case, all frequencies in the specifications are in Hz as well.

d = fdesign.hilbert(...,magunits) specifies the units for any magnitude specification you provide in the input arguments. magunits can be one of

When you omit the magunits argument, fdesign assumes that all magnitudes are in decibels. Note that fdesign stores all magnitude specifications in decibels (converting to decibels when necessary) regardless of how you specify the magnitudes.

Examples

The toolbox lets you design a range of Hilbert filters. These examples present a few possible designs. The first example designs a 30th-order type III Hilbert transformer filter. The FVTool plot following the code shows the resulting filter.

d = fdesign.hilbert(30,0.2); % n,tw specification string.
designmethods(d);

hd = design(d,'firls');
fvtool(hd,'magnitudedisplay','zero-phase',...
'frequencyrange','[-pi, pi)')


Design Methods for class fdesign.hilbert (N,TW):

ellip
iirlinphase
equiripple
firls

For the second example, design a 35th-order type IV Hilbert transformer.

d = fdesign.hilbert('n,tw',35,0.1);
designmethods(d);
hd = design(d,'equiripple'); 
hf = fvtool(hd,'magnitudedisplay','zero-phase',...
'frequencyrange')
set(hf,'frequencyrange','[-fs/2, fs/2)')

Here is the view from FVTool.

Finally, design a minimum-order transformer that has a sampling frequency of 100 Hz — add Fs as an input argument in Hz.

d = fdesign.hilbert('tw,ap',1,0.1,100); % Fs = 100 Hz.
designmethods(d);
hd = design(d,'equiripple'); 
fvtool(hd,'magnitudedisplay','zero-phase');
set(hf,'frequencyrange','[-fs/2, fs/2)')

FVTool returns this plot.

See Also

design, fdesign, setspecs

  


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