主要内容

fdesign.hilbert

希尔伯特滤波器设定对象

语法

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)

说明

d = fdesign.hilbert 构造默认希尔伯特滤波器设计工具 d,其中 N(滤波器阶数)设置为 30,TW(过渡带宽度)设置为 0.1π 弧度/采样。

d = fdesign.hilbert(specvalue1,specvalue2) 构造希尔伯特滤波器设计工具 d,采用默认设定 'N,TW'。您为 NTW 输入 specvalue1specvalue2

d = fdesign.hilbert(spec) 将滤波器设计工具 Specification 属性初始化为 spec。您提供以下项之一作为输入来替换 spec。设定选项不区分大小写。

注意

标有星号的设定需要 DSP System Toolbox™ 软件。

  • 'N,TW' 默认设定选项。

  • 'TW,Ap' *

滤波器设定定义如下:

  • Ap - 通带中允许的波纹量,单位为分贝(默认单位)。也称为 Apass。

  • N - 滤波器阶数。

  • TW - 通带和阻带之间过渡区域的宽度。

默认情况下,fdesign.hilbert 假定所有频率设定都以归一化频率单位提供。此外,分贝是所有幅值设定的默认单位。

不同设定可能具有不同的可用设计方法。使用 designmethods (d) 获取对给定设定可用的设计方法列表。

d = fdesign.hilbert(spec,specvalue1,specvalue2) 使用 specvalue1specvalue2 等在 spec 中初始化滤波器设计工具设定。要获取设定 specvalue1specvalue2 的描述,请输入

get(d,'description')

(在命令提示符下键入。)

d = fdesign.hilbert(...,Fs) 添加参量 Fs(以 Hz 为单位指定)来定义采样频率。在这种情况下,设定中的所有频率也以 Hz 为单位。

d = fdesign.hilbert(...,MAGUNITS) 指定您在输入参量中提供的任何幅值设定的单位。MAGUNITS 可以是以下项之一:

  • 'linear' - 以线性单位指定幅值

  • 'dB' - 以 dB(分贝)为单位指定幅值

  • 'squared' - 以功率单位指定幅值

当您省略 MAGUNITS 参量时,fdesign 假定所有幅值都以分贝为单位。请注意,fdesign 将所有幅值设定都以分贝为单位存储(在必要时转换为分贝),而无论您以何种方式指定幅值。

示例

全部折叠

设计一个阶数为 30、过渡带宽度为 0.2π 弧度/采样的希尔伯特变换器。使用最小二乘最小化获得一个等波纹线性相位 FIR 滤波器。在区间 [–π,π) 内绘制零相位响应。

d = fdesign.hilbert('N,TW',30,0.2);
Hd = design(d,'equiripple',SystemObject=true);
zerophase(Hd,'whole')

Figure contains an axes object. The axes object with title Zero-Phase Response, xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Amplitude contains an object of type line.

此偶数阶 3 型滤波器的冲激响应是反对称的。

impz(Hd)

Figure contains an axes object. The axes object with title Impulse Response, xlabel n (samples), ylabel Amplitude contains an object of type stem.

ftype = firtype(Hd)
ftype = 
3

设计一个最小阶希尔伯特变换器,采样率为 1 kHz。指定过渡区域的宽度为 10 Hz,通带波纹为 1 dB。显示滤波器的零相位响应。

fs = 1e3;
d = fdesign.hilbert('TW,Ap',10,1,fs);
hd = design(d,'equiripple',SystemObject=true);
zerophase(hd,-fs/2:0.1:fs/2,fs)

Figure contains an axes object. The axes object with title Zero-Phase Response, xlabel Frequency (Hz), ylabel Amplitude contains an object of type line.

版本历史记录

在 R2009a 中推出

另请参阅

| |