filterdesign

概要

产生一个滤波器的数字和模拟特性的图形显示,包括:振幅、相位、脉冲响应和群延迟

语法

FilterDesign [FILE [prefix]] [filteroptions] [delta]

输入

FILE prefix

生成的三个SAC文件的前缀

filteroptions

与 SAC 中其他的滤波命令相同,包括滤波器类型

delta

数据的采样间隔。

缺省值

delta 缺省值为 0.025 s,其他参数无缺省值

说明

filterdesign 命令调用了函数 xapiir(一个递归数字滤波器包)。 xapiir 通过模拟滤波器原型的双线性变换实现标准递归数字滤波器的设计。这些原型滤波器由零点和极点给定,然后使用模拟谱变换,变换到高通、带通和带阻滤波器。

filterdesign 用实线显示数字滤波器响应,用虚线显示模拟滤波器响应。在彩色显示器上,数字曲线是蓝色的而模拟曲线是琥珀色的。

生成的三个SAC文件分别为 prefix.specprefix.grdprefix.imp。其中 prefix.spec 为该命令产生的振幅相位信息,为振幅-相位格式谱文件。prefix.grd 为该命令产生的群延迟信息,是时间序列文件。需要注意的是,尽管这个文件是时间序列文件,但是实际上群延迟是频率的函数。用户要记住,虽然绘图时横轴单位是秒,实际的单位却是 Hz。prefix.imp 是时间序列文件,包含脉冲响应信息。

在这三个SAC文件中,用户自定义头段变量 USERnKUSERn 设置如下:

  • user0:表示通带代码。1 代表 LP;2 代表 HP;3 代表 BP;4 代表 BR;

  • user1:滤波器类型代码。1 代表 BU,2 代表 BE,3 代表 C1,4 代表 C2;

  • user2:number of poles

  • user3:number of passes

  • user4:tranbw

  • user5:attenuation

  • user6:delta

  • user7:first corner

  • user8:second corner if present, or -12345 if not

  • kuser0:pass (lowpass, highpass, bandpass, or bandrej)

  • kuser1:type (Butter, Bessel, C1, or C2 )

示例

下面的例子展示了如何使用 filterdesign 命令产生一个高通,拐角频率为 2 Hz,六极、双通滤波器的数字和模拟响应曲线,数据采样间隔为 0.025 s:

SAC> fd hp c 2 n 6 p 2 delta .025