工程师。[医]通道合成器
用于合成多相FFT的一组滤波器。
库::`工程师`
资料描述
系统对象*EngeeDSP。ChannelSynthesizer*使用一组滤波器将多个窄带信号组合成一个宽带信号,用于基于快速傅立叶变换(FFT)的合成。 滤波器组使用原型低通滤波器,并使用多相结构实现。 滤波器系数可以直接设置,也可以通过设计参数设置。
要将多个窄带信号组合成一个宽带信号,请按照以下步骤操作:
-
创建*EngeeDSP。ChannelSynthesizer*对象并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.
语法
创作
-
合成器=EngeeDSP。通道合成器()-使用默认属性创建合成器系统对象。 -
合成器=EngeeDSP。信道合成器(名称=值)-以对的形式创建具有指定属性的合成器系统对象名称=值,在哪里姓名-物业的名称,以及价值-适当的值。 您可以指定多个对 «名称-值» 对的顺序并不重要。 未指定的属性保留其默认值。例子::
# создание системного объекта с затуханием в полосе задерживания 140 synthesizer = EngeeDSP.ChannelSynthesizer(StopbandAttenuation = 140)
争论
输入参数
# 输入 — 窄带信号
+
矩阵 | 三维阵列
Details
定义为矩阵或三维阵列的窄带信号。 每个窄带信号作为一列存储在输入信号中。 输入信号中的列数与滤波器组的频带数相对应。 如果输入信号是三维的,则每个矩阵对应于单独的信道。 如果 -频带的数目,以及 输入 它表示一个矩阵 上 ,则输出信号 合成品,合成品 它有尺寸 上 . 如果 输入 它有尺寸 上 上 然后 合成品,合成品 它有尺寸 上 .
此对象接受大小可变的输入数据,即锁定对象后,您可以更改每个输入通道的大小。 通道数不能更改。
| 数据类型 |
|
输出参数
# 合成器 — 组合宽带信号
+
矩阵 | 三维阵列
Details
返回的组合宽带信号作为矩阵或三维阵列。 如果 -频带的数目,以及 输入 它是大小的矩阵 上 ,则输出信号 合成品,合成品 它有尺寸 上 . 如果 输入 它有尺寸 上 上 然后 合成品,合成品 它有尺寸 上 .
| 数据类型 |
|
此外
一组用于语音合成的滤波器
Details
合成滤波器组由若干个并行带通滤波器组成,这些并行带通滤波器组合若干个窄带输入信号。 在一个宽带信号 . 输入窄带信号在主频带内。 每个窄带信号使用上采样器插值到更高的采样率,然后用低通滤波器滤波。 一个复指数函数跟随低通滤波器中心基带信号周围 .
低通滤波器原型
Details
为了有效地实现一组合成滤波器,合成器使用原型低通滤波器。
原型低通滤波器具有脉冲响应 、归一化双向带宽 和截止频率 . -频带数,即用于合成的一组滤波器的分支。 该值对应于滤波器集使用的FFT的长度。 它可以很大,顺序为 2048 或更多。 延迟带中的衰减确定从一个频带到另一个频带的干扰(轮廓失真)的最小水平。 带宽中的波纹必须很小,以便输入信号在带宽中不会失真。
低通滤波器原型模拟一组滤波器的第一个分支。 其他人 分支由滤波器建模,滤波器是滤波器原型的调制版本。 调制系数由以下等式确定:
每个带通滤波器的输出形成宽带信号的特定部分。 所有支路的输出合并形成宽带信号。 .
算法
使用多相结构实现
Details
用于合成的一组滤波器可以使用多相结构有效地实现。 有关用于合成的滤波器集的详细信息,请参阅一组用于语音合成的滤波器。
为了获得多相结构,让我们从原型低通滤波器的传递函数开始。:
哪里 -过滤器原型的长度。
这个方程可以重新定义如下:
哪里 -等于内插系数的多相分量的数目。
这个方程可以写成如下:
哪里 -低通滤波器原型的多相组件 .
过滤器集中的其余过滤器 ,在哪里 ,是这个原型滤波器的调制版本 .
传递函数 Th调制带通滤波器可以写为 . 更换 上 ,我们得到
哪里 -长度 -第过滤器。
在多相形式中,方程如下所示:
为所有人
这里是插值的多速精彩身份。
为了清楚起见,考虑滤波器集的第一个分支,其包含低通滤波器。
更换/更换
在应用显着内插标识之后,可以用切换装置替换延迟、内插系数和加法器。
为所有人
左边的矩阵是离散傅立叶逆变换(ODFT)矩阵。 使用ODPF矩阵,基于原型低通滤波器的一组滤波器的有效实现如下。