带阻器,带阻器
陷波滤波器后的信号。
库::`工程师`
语法
函数调用
* [参数:y]=带阻(<参数:x>>,<参数:wpass>>) —
过滤输入信号 [参数:x] 使用具有由双元矢量指定的延迟带频率范围的陷波滤波器 [参数:wpass] 以标准化单位 rad/倒计时。 功能 *带阻器* 使用带宽衰减的最小阶滤波器 60 dB并补偿滤波器引入的延迟。 如果 [参数:x] -矩阵,函数独立过滤每列。
* [参数:y]=带阻(<参数:x>>,<参数:fpass>>,<参数:fs>>) —
使用采样率 [参数:fs] 输入信号的Hz [参数:x]. 二元素向量 [参数:fpass] 以Hz为单位指定滤波器延迟带的频率范围。
* [参数:y]=bandstop(_,名称,值) —
为具有一个或多个参数的任何先前语法设置附加选项 Name,Value.
* <参数:y>>=带阻(_;out=:plot) —
绘制输入信号并叠加滤波后的信号。
争论
输入参数
#
*wpass* —
归一化频率范围
的延迟带+
向量资料
Details
延迟带的归一化频率范围,定义为具有间隔中的元素的双元素向量 (0, 1).
#
*财政司司长* —
抽样调查
费率+
标量,标量
Details
的采样频率,设置为正实标量。
名称-值输入参数
指定格式中的可选参数对 名称,值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。 名称-值参数应该放在其他参数之后,但对的顺序无关紧要。
使用逗号分隔名称和值,以及 姓名 把它放在引号里。
*例子:* f=带阻(x,200,fs,"StopbandAttenuation",30).
# *冲动反应* — 脉冲响应类型
+
"汽车" (默认情况下)| "冷杉" | "iir"
Details
滤波器的脉冲响应类型,设为 "冷杉", "iir" 或 "汽车":
* "冷杉" -该函数设计了一个具有有限脉冲响应(FIR)的线性相位最小阶滤波器。 为了补偿延迟,该函数将添加到输入信号 零,在哪里 -过滤顺序。 该函数然后过滤信号并删除第一个信号。 在输出处计数。
+ 在这种情况下,输入信号必须至少是符合规格的滤波器的两倍。
* "iir" -该函数设计了一个具有无限脉冲响应(BIH)的最小阶滤波器,并使用该函数 *n.过滤,过滤* 来执行零相位滤波和滤波器延迟补偿。
+ 如果信号比满足规范的滤波器长不到三倍,则该函数设计一个较低阶的滤波器,因此具有较低的陡度。
* "汽车" -如果输入信号足够长,该函数设计一个最小阶FIR滤波器,否则设计一个最小阶FIR滤波器。 特别是,该函数执行以下步骤:
**计算FIR滤波器必须具有的最小阶数才能满足规格。 如果信号至少是所需滤波器阶数的两倍,则设计并使用此滤波器。
**如果信号不够长,则计算FIR滤波器必须具有的最小阶数以满足规格。 如果信号长度至少是所需滤波器阶数的三倍,则设计并使用该滤波器。
**如果信号长度不足则将阶数截断为信号长度的三分之一并设计该阶数的IIR滤波器。 顺序的下降是由于过渡带下降的陡度而发生的。
**过滤信号并补偿延迟。
# *陡度* — 过渡带下降的陡度
+
[0.85 0.85] (默认情况下)| 向量资料 | 标量,标量
Details
过渡带下降的斜率,定义为区间内有元素的双元素向量 [0.5, 1) 或间隔中的标量 [0.5, 1). 随着陡度增加,滤波器的脉冲响应接近陷波滤波器的理想脉冲响应,但所得滤波器长度也增加,以及滤波操作的计算成本。 有关详细信息,请参阅陷波滤波器的下降的陡度。
例子:
陷波音滤波
Details
我们将生成一个频率采样的信号 1 kHz期间 1 几秒钟。 该信号包含三个音调:频率为 50 赫兹, 150 Hz和 250 赫兹。 高频和低频音调的幅度是中间音调幅度的两倍。 将具有方差的高斯白噪声添加到信号中 1/100.
import EngeeDSP.Functions: bandstop, randn
fs = 1e3
t = 0:1/fs:1
x = [2 1 2] * sin.(2π * [50; 150; 250] .* reshape(t, 1, :)) + randn(1, length(t)) / 10
使用陷波滤波器滤除信号以去除中间音调。 指定延迟带的频率 100 Hz和 200 赫兹。 我们将输出原始和滤波信号以及它们的光谱。
bandstop(x,[100 200],fs; out=:plot)

陷波滤波器的下降的陡度
Details
滤除频率采样的白噪声 1 kHz,使用具有无限脉冲响应和延迟带的陷波滤波器 100 赫兹。 我们使用不同的陡度值。 让我们绘制滤波信号的光谱。
import EngeeDSP.Functions: randn, bandstop, pspectrum
fs = 1000;
x = randn(20000,1);
y1 = bandstop(x,[50 150],fs,"ImpulseResponse","iir","Steepness",0.5)
y2 = bandstop(x,[200 300],fs,"ImpulseResponse","iir","Steepness",0.8)
y3 = bandstop(x,[350 450],fs,"ImpulseResponse","iir","Steepness",0.95)
pspectrum([y1 y2 y3],fs,out=:plot)

让我们通过在延迟带的较低和较高频率设置不同的陡度值来使滤波器不对称。
y1 = bandstop(x,[50 150],fs,"ImpulseResponse","iir","Steepness",[0.5 0.8])
y2 = bandstop(x,[200 300],fs,"ImpulseResponse","iir","Steepness",[0.5 0.8])
y3 = bandstop(x,[350 450],fs,"ImpulseResponse","iir","Steepness",[0.5 0.8])
pspectrum([y1 y2 y3],fs,out=:plot)

此外
陷波滤波器的下降的陡度
Details
论点 [参数:陡峭度] 控制滤镜过渡区域的宽度。 斜率越低,过渡区域越宽。 陡度越高,过渡区域将越窄。
要解释滤波器的陡度,请考虑以下定义:
*_奈奎斯特频率_ -可以在给定频率下采样而不失真的信号的最高频率分量。 奈奎斯特频率为 rad/倒计时如果输入信号不包含时间信息,并且 Hz,如果设置采样率。
*滤波器延迟带的较低和较高频率_ 和 -低于或高于衰减等于或大于使用设定值的频率 [参数:StopbandAttenuation].
+ 保持车道的中心 .
*滤波器的下过渡band_的宽度 ,在哪里 -设定频率的第一个元素 [参数:fpass].
*滤波器上部过渡band_的宽度 ,在哪里 -设定频率的第二个元素 [参数:fpass].
*大多数不完善的滤波器也会衰减带宽中的输入信号。 这种与频率相关的衰减的最大值称为带宽脉动。 函数中使用的每个过滤器 *带阻器* 它在带宽中有涟漪 0.1 分贝。
要控制过渡条的宽度,可以指定参数 [参数:陡峭度] 作为二元素向量 ,或者作为标量。
何时 [参数:陡峭度] 设置为向量:
*该函数计算下过渡带的宽度为
+
*该函数计算上部过渡带的宽度为
+
争论是什么时候? [参数:陡峭度] 作为标量给出,那么函数:
*计算 和 使用指定的标量值。 *创建一个对称滤波器,其下部和上部过渡带的宽度等于 和 .
参数的默认值为 [参数:陡峭度] 同样 [0.85 0.85].