工程师。Sos过滤器
基于二阶段的IIR滤波器结构的实现。
库::`工程师`
资料描述
要使用二阶段(sos)实现IIR滤波器结构,请执行以下步骤:
-
创建*EngeeDSP。Sosfilter*对象并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.
语法
创作
-
sos=EngeeDSP。Sos过滤器()-返回biquadrate iir筛选器对象sos,其独立地按时间过滤输入信号的每个通道(列),使用给定的biquadrate结构。 -
sos=EngeeDSP。SOSFilter(名称=值)-返回biquadrate iir筛选器对象sos将指定的属性作为一对名称=值,在哪里姓名-物业的名称,以及价值-适当的值。 您可以指定多个对 «名称-值» 对的顺序并不重要。 未指定的属性保留其默认值。
使用
-
y=sos(x)-过滤输入信号x并输出滤波后的值y. 过滤器对象sos通过对算法的连续调用独立过滤输入信号的每个通道(列)。只有当属性*[Property:CoordicientSource]*设置了值时,才能使用此语法
"财产". -
y=sos(x,num,den)-过滤输入信号x使用参数的值num作为分子的系数,以及书房-作为滤波器分母的系数。只有当属性*[Property:CoordicientSource]*设置了值时,才能使用此语法
"输入端口",并为属性*HasScaleValues*值错误. -
y=sos(x,num,den,g)-也使用缩放因子g为二阶段滤波器。只有当属性*[Property:CoordicientSource]*设置了值时,才能使用此语法
"输入端口",并为属性*HasScaleValues*值真的.
争论
输入参数
x — 输入信号
+
标量,标量 | 向量资料 | 矩阵
Details
指定为标量、矢量或矩阵的输入信号。
该对象还接受可变大小的输入信号。 运行系统对象算法后,可以更改每个输入通道的大小,但不能更改通道数。
输入信号可以用格式表示 固定点。 如果未指定小数部分的长度,则对象根据输入数据确定它,以确保尽可能高的精度。
所有输入参数的数据类型必须相同。
| 数据类型 |
|
num — 分子的系数
+
P×3矩阵
Details
分子的系数,作为矩阵给出 上 ,在哪里 -biquadrate过滤器的部分数。 每一行对应于相应滤波器部分的分子的系数。
运行算法后,无法更改此输入参数的大小。 但是,分子系数的值可以更改,因为输入是可配置的。
该*num*信号可以在格式表示 固定点。 如果未指定小数部分的长度,则对象根据输入数据确定它,以确保尽可能高的精度。
所有输入参数的数据类型必须相同。
输入参数*num*和*den*的大小和复杂度必须相同。
依赖关系
若要使用此参数,请将属性设置为*[Property:Coefficient Source]*value "输入端口".
| 数据类型 |
|
书房 — 分母系数
+
P×3矩阵
Details
滤波器分母的系数,作为矩阵给出 上 ,在哪里 -biquadrate过滤器的部分数。 每一行对应于相应滤波器部分的分母的系数。
分母的前导系数始终假定为相等 1. 如果在第一列中指定了任何其他值,则对象将忽略此值并将其视为 1.
运行算法后,无法更改此输入参数的大小。 然而,分母系数的值可以改变,因为输入是可配置的。 *Den*信号可以用格式表示 固定点。 如果未指定小数部分的长度,则对象根据输入数据确定它,以确保尽可能高的精度。
所有输入参数的数据类型必须相同。
输入参数*num*和*den*的大小和复杂度必须相同。
依赖关系
若要使用此参数,请将属性设置为*[Property:Coefficient Source]*value "输入端口".
| 数据类型 |
|
g — 每个二阶双二阶段的缩放因子
+
矢量1×(P+1)
Details
双二阶滤波器的缩放系数,设置为向量 上 ,在哪里 -biquadrate过滤器的部分数。
该*g*信号可以在格式表示 固定点。 如果未指定小数部分的长度,则对象根据输入数据确定它,以确保尽可能高的精度。
所有输入参数的数据类型必须相同。
依赖关系
若要使用此参数,请将属性设置为*[Property:Coefficient Source]*value "输入端口",并为属性*HasScaleValues*值 真的.
| 数据类型 |
|
输出参数
y — 滤波后的输出信号
+
标量,标量 | 向量资料 | 矩阵
Details
滤波后的输出信号作为标量、矢量或矩阵返回。 输出信号的大小和复杂度与输入信号的大小和复杂度相同。
如果输入信号以定点格式表示,则根据*OutputDataType*的值确定输出信号的数据类型。 如果对于属性*OutputDataType*值集 "全精度" 输出数据的类型是根据<定点转换>>一节中给出的信号流图计算的。 如果为属性*OutputDataType*设置了自定义值,则输出数据将转换为指定的数字类型。
如果输入信号以浮点格式表示,则输出数据类型与输入数据类型相同,因为浮点继承优先于定点设置。
| 数据类型 |
|
特征
# 结构 — 过滤器结构
+
"直接形式II换位" (默认情况下)| "直接表格I" | "直接形式我换位" | "直接表格II"
Details
过滤器结构,定义为 "直接表格I", "直接形式我换位", "直接表格II" 或 "直接形式II换位" (默认情况下)。
# 系数来源 — 滤波器系数的来源
+
"财产" (默认情况下)| "输入端口"
Details
滤波器系数的来源指定为以下之一:
-
"财产"(默认情况下)—滤波器系数通过属性设置*Numerator*,Denominator*和ScaleValues*。 -
"输入端口"-分子、分母和比例系数的系数在执行算法时被指定为对象的输入参数。
# 分子 — 滤波器分子的系数
+
[0.0975 0.195 0.0975] (默认情况下)| P×3矩阵
Details
滤波器的分子的系数,设为矩阵 上 ,在哪里 -biquadrate过滤器的部分数。 每一行对应于相应滤波器部分的分子的系数。
依赖关系
要使用此属性,请设置*[Property:Coefficient Source]*值 "财产".
# 分母 — 滤波器分母的系数
+
[1 -0.9428 0.3333] (默认情况下)| P×3矩阵
Details
滤波器分母的系数,作为矩阵给出 上 ,在哪里 -biquadrate过滤器的部分数。 每一行对应于相应滤波器部分的分母的系数。
分母的前导系数始终假定为相等 1. 如果在第一列中指定了任何其他值,则对象将忽略此值并将其视为 1.
执行算法后,无法更改此属性的大小。 但是,分母值可以更改,因为属性是可配置的。
依赖关系
要使用此属性,请设置*[Property:Coefficient Source]*值 "财产".
# HasScaleValues — 指定筛选器是否具有每个部分的比例因子
+
错误 (默认情况下)| 真的
Details
指定筛选器是否具有每个部分的比例因子。 如果值设置为 真的,使用*ScaleValues*您可以设置将在biquadrate过滤器的每个部分之前和之后应用的缩放因子。
# 标量 — 二阶双二阶滤波器的每个部分的缩放系数
+
[1 1] (默认情况下)| 向量资料
Details
在biquadrate滤波器的每个部分之前和之后应用的缩放因子,设置为矢量。 *ScaleValues*向量的长度必须为 ,在哪里 -biquadrate过滤器的部分数。 如果为此属性设置标量值,则仅在过滤器的第一部分之前将其用作增益因子。 其余增益值设置为 1. 如果您从以下位置为此属性设置向量 值,每个值将用于单独的过滤器部分。
依赖关系
要使用此属性,请设置*[Property:Coefficient Source]*值 "财产",并为属性*HasScaleValues*值 真的.
# RoundingMethod — 四舍五入法
+
"地板" (默认情况下)| "天花板" | "收敛" | "最近" | "圆" | "最简单" | "零"
Details
整数类型和定点数运算的舍入方法,指定为以下之一:
-
"地板"(默认情况下); -
"天花板"; -
"收敛"; -
"最近"; -
"圆"; -
"最简单"; -
"零".
# 过度流动 — 溢出动作的选择
+
"包装" (默认情况下)| "饱和"
Details
使用整数类型和定点数时使用的溢出操作的选择,设置为以下之一:
-
"包装"(默认)-对象用固定点包装其操作的结果。 -
"饱和"-对象用固定点使其操作的结果饱和。
# ScaleValuesDataType — 缩放系数的数据类型
+
"与输入相同的字长" (默认情况下)
Details
使用整数类型和定点数时使用的缩放因子的数据类型。
依赖关系
要使用此属性,请设置*[Property:Coefficient Source]*值 "财产",并为属性*HasScaleValues*值 真的.
此外
过滤结构
Details
下图显示了二阶截面过滤器支持的过滤器结构。
I的直接形式_
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接表格I.
该图示出了滤波器结构与 指定比例因子时的部分 .
下图显示了未指定缩放因子时的滤波器结构。
I的直接形式被转置
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接形式我转置.
该图示出了滤波器结构与 指定比例因子时的部分 .
下图显示了未指定缩放因子时的滤波器结构。
直接表格II_
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接表格II.
该图示出了滤波器结构与 指定比例因子时的部分 .
下图显示了未指定缩放因子时的滤波器结构。
直接形式II转置_
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接形式II转置.
该图示出了滤波器结构与 指定比例因子时的部分 .
下图显示了未指定缩放因子时的滤波器结构。
定点滤波器结构
Details
下图显示了将定点数据输入到输入时,基于二阶段的滤波器中使用的数据类型。 对于过滤器支持的每个结构,可以通过适当的设置来设置图表中显示的数据类型。
I的直接形式_
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接表格I. 下图显示了应用定点信号时的数据类型。 加固作业 , , , 和 它们以完全准确的方式执行。
这些图显示了筛选器部分之间的定点数据类型。
*数据未优化时。
+
*当比例因子设置为 1.
+
I的直接形式被转置
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接形式我转置. 此图显示了输入定点信号时的数据类型。 If for a property*HasScaleValues*值集 错误,没有虚线铸造。 加固作业 , , , 和 它们以完全准确的方式执行。
这些图显示了筛选器部分之间的定点数据类型。
*数据未优化时。
+
*当比例因子设置为 1.
+
直接表格II
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接表格II. 此图显示了输入定点信号时的数据类型。 If for a property*HasScaleValues*值集 错误,则操作 演员阵容 缺席。 加固作业 , , , 和 它们以完全准确的方式执行。
这些图显示了筛选器部分之间的定点数据类型。
*数据未优化时。
+
*当比例因子设置为 1.
+
直接形式II转置_
该图显示了过滤器中每个部分的图,如果选择了过滤器结构。 直接形式II转置. 下图显示了输入定点信号时的数据类型。 加固作业 , , , 和 它们以完全准确的方式执行。 If for a property*HasScaleValues*值集 错误,section输出处的数据类型由对象的算法自动确定,并且不依赖于*SectionOutputDataType*的值。
这些图显示了筛选器部分之间的定点数据类型。
*数据未优化时。
+
*当比例因子设置为 1.
+