一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用DJ变换的频率提取方法与流程

2021-08-27 13:47:00 来源:中国专利 TAG:频率 提取 分辨率 方法 总体上
使用DJ变换的频率提取方法与流程

本公开内容总体上涉及频率提取方法,特别地涉及能够同时增加时间分辨率和频率分辨率的频率提取方法。



背景技术:

短时傅里叶变换(stft)被用在处理声音的各个领域诸如语音识别、说话人识别等中,以从给定的声音中提取频率。然而,当通过stft提取频率时,由于傅立叶不确定性原理导致在增加时间分辨率和频率分辨率时存在限制。傅立叶不确定性原理指出,如果短持续时间的声音被转换成频率分量,则频率分量的分辨率相对较低,而如果具有较长持续时间的声音被用来获得更精确的频率,则当频率分量被提取时的瞬时时间分辨率降低。

例如,当使用stft时,假设窗口大小为25毫秒,并且使用矩形过滤器。在这些条件下提取的频率分量具有40hz的分辨率。在这种情况下,即使在输入声音中存在420hz频率,但只有400hz频率和440hz频率作为提取结果出现,而420hz频率没有出现。因此,仅由420hz频率组成的纯音与由400hz和440hz频率组成的复音之间的区别并不清楚。现在,假设在提取结果上存在4khz频率。提取结果没有给出关于当4khz频率出现在25毫秒窗口内时的时间点的任何信息。例如,不能区分4khz频率是出现在0至10毫秒的范围内还是出现在10至20毫秒的范围内。

为了获得20hz的频率分辨率,窗口大小应当扩展到50毫秒。然而,由于时间分辨率与频率分辨率成反比,所以时间分辨率由于50毫秒的窗口而降低。同样,如果窗口大小减小到12.5毫秒以增加时间分辨率,则频率分辨率降低到80hz。由于这种折衷,当使用stft时,时间分辨率和频率分辨率不能同时提高。



技术实现要素:

根据研究发现,已知人类的听觉能力不受傅立叶不确定性原理的限制。本公开内容旨在提出dj变换方法,该dj变换方法是一种根据对人类听觉能力的理解的新的频率提取方法,该方法基于构成耳蜗的毛细胞的操作原理同时提高时间分辨率和频率分辨率。

根据本公开内容的实施方式的其每个步骤由计算机执行的用于提取输入声音的频率的方法包括以下步骤:对多个弹簧建模,所述多个弹簧具有彼此不同的固有频率并且根据输入声音振荡;计算多个建模的弹簧的瞬态纯音振幅;计算多个建模的弹簧的预期稳态振幅;基于预期稳态振幅计算预测的纯音振幅;通过将瞬态纯音振幅与预测的纯音振幅相乘来计算经滤波的纯音振幅;以及提取弹簧的固有频率,该弹簧的固有频率与经滤波的纯音振幅的局部最大值对应。

根据本公开内容的实施方式的用于提取声音的频率的设备包括:弹簧建模单元,其用于通过对具有彼此不同的固有频率并根据输入声音振荡的多个弹簧进行建模来产生多个弹簧的位移和速度;以及频率提取单元,其用于计算多个建模的弹簧的瞬态纯音振幅,计算多个建模的弹簧的预期稳态振幅,基于预期稳态振幅计算预测的纯音振幅,通过将瞬态纯音振幅与预测的纯音振幅相乘来计算经滤波的纯音振幅,以及提取弹簧的固有频率,该弹簧的固有频率与经滤波的纯音振幅中的局部最大值对应。

根据本公开内容的实施方式的其每个步骤由计算机执行的用于提取输入声音的频率的方法包括以下步骤:对多个弹簧进行建模,所述多个弹簧具有彼此不同的固有频率并且根据输入声音振荡;估计多个建模的弹簧之中振幅最高的弹簧的预期稳态振幅;基于预期稳态振幅计算振幅最高的弹簧的能量;以及基于该能量计算输入纯音的振幅。

根据本公开内容的实施方式的用于提取输入声音的频率的设备包括:弹簧建模单元,其用于通过对具有彼此不同的固有频率并根据输入声音振荡的多个弹簧进行建模来产生多个弹簧的位移和速度;以及频率提取单元,其用于估计在多个建模的弹簧之中振幅最高的弹簧的预期稳态振幅,基于预期稳态振幅计算振幅最高的弹簧的能量,以及基于该能量计算输入纯音振幅。

所述预期稳态振幅可以基于输入声音的持续时间内的两个不同时间点处的振幅来计算。

所述预期稳态振幅(ai,s)可以借助于以下方程计算:

其中,t1和t2是输入声音的持续时间内的两个不同的时间点,t2>t1,ai(t1)是所述多个弹簧之中的任意弹簧在t1处的振幅,ai(t2)是所述弹簧在t2处的振幅,ζ是所述弹簧的阻尼比,ω满足方程其中,ωi是所述弹簧的固有频率。

两个不同的时间点之间的差可以是对应的弹簧的固有频率的周期。

当两个时间点中的一个为t1、输入声音的采样率为sr并且对应弹簧的固有频率的周期为t时,两个时间点中的另一个t2可以借助于以下方程计算。

t2=[t1 sr×t 0.5]

通过将输入声音的持续时间内的至少两个点处的振幅代入以下方程并使用线性回归分析来计算预期稳态振幅。

其中,a(t)是所述多个弹簧之中的任意弹簧在t处的振幅,as是所述弹簧的预期稳态振幅,ac是所述弹簧在tc处的振幅,ζ是所述弹簧的阻尼比,ω满足方程其中,ωi是弹簧的固有频率。

所述建模步骤可以包括以下步骤:测量多个弹簧中的每个弹簧在各时间点处的位移和速度;基于位移和速度计算多个弹簧中的每个弹簧在每个时间点处的能量;以及基于所述能量计算多个弹簧中的每个弹簧在每个时间点处的振幅。

多个弹簧的数目基于要提取的频率的范围和分辨率来确定。

所述用于提取输入声音的频率的方法可以记录在根据本公开内容的实施方式的计算机可读记录介质上。

一种根据本公开内容的实施方式的由计算机执行的用于提取输入声音的频率的方法,其中:当输入声音的频率在时间的特定点之前维持第一频率并在转折点处变成第二频率时,该时间的特定点之前的频率变换的结果指示第一频率,以及紧接在转折点之后,所变换的值的瞬时误差在第二频率的10%以内。

根据本公开内容的实施方式,提供了用于提取声音频率的方法,该方法示出了改进的时间和频率分辨率。因此,具有相似频率的声音可以被进一步细分和分类,并且可以通过从语音中精确地提取音素信息的顺序来提高语音识别的准确性。此外,可以在噪声环境中执行稳定的语音识别,并且可以减少语音识别学习所需的数据的大小。

附图说明

根据下面结合附图进行的详细描述,本公开内容的特定实施方式的以上和其他方面、特征和优点将更加明显,其中:

图1是示出当外力为零时弹簧的位移的曲线图的示例;

图2是示出当外力被施加以及消失时弹簧的振幅的变化的曲线图的示例;

图3是示出根据本公开内容的实施方式的用于提取输入声音的频率的方法的流程图;

图4的(a)是示出瞬态纯音振幅的曲线图,以及图4的(b)示出了输入纯音的振幅;

图5的(a)至图5的(i)示出了当具有恒定振幅的1khz声音被输入时,根据本公开内容的实施方式的瞬态纯音振幅、预测的纯音振幅和经滤波的纯音振幅的曲线图;

图6示出了当复音被输入时经滤波的纯音振幅的曲线图;

图7示出了当与图6不同的复音被输入时经滤波的纯音振幅的曲线图;

图8是示出根据本公开内容的实施方式的用于提取输入声音的频率的方法的流程图;

图9的(a)至图9的(f)是示出当纯音被输入时根据本公开内容的stft的结果、输入声音的频率和dj变换的结果的图;

图10的(a)至图10的(d)是示出当输入纯音的频率改变时根据本公开内容的dj变换的结果的图;

图11的(a)至图11的(d)是示出当输入纯音的频率改变时stft的结果的图;

图12的(a)至图12的(c)是示出当闪烁信号和持续信号被输入时输入信号的频率分量、dj变换的结果和stft的结果的图;

图13的(a)至图13的(c)是示出当1khz千赫和2khz声音被交替输入时输入声音的频率分量、dj变换的结果和stft的结果的图;

图14的(a)至图14的(c)是示出当纯音和复音被输入时dj变换的结果和stft的结果的图;

图15示出了根据本公开内容的实施方式的用于提取输入声音的频率的设备。

具体实施方式

提供参照附图的以下描述来帮助全面理解本公开内容的各种实施方式。

毛细胞将基底膜中产生的机械信号转化为电信号,并将该电信号传递至初级听觉皮层。毛细胞由大约3500个内毛细胞和12000个外毛细胞组成,并且每个毛细胞对其自身的固有频率的声音反应灵敏。毛细胞的这种特性类似于发生在弹簧中的如下现象,当弹簧接收到具有与弹簧的固有频率匹配的频率的外力时,弹簧的振幅由于共振而增加。利用这种相似性,本公开内容使用多个弹簧来对毛细胞的行为进行建模。

已知人的可听频率在20hz至20000hz的范围内,并且已知人的声音频率在80hz至8000hz的范围内。在诸如语音识别的领域内覆盖的频率范围在8khz以内。考虑到同样的情况,当用于声音处理时,弹簧的从50hz到8khz的固有频率以1hz的间隔进行分类,并且基于那些固有频率可以使用7951种不同类型的弹簧。这意味着频率分辨率为1hz单位。然而,这只是示例,并且通过使用更多的弹簧来扩大频率范围或增加分辨率是可行的。

由弹簧建模的毛细胞的行为可以表示为针对驱动谐波振荡的运动的微分方程。声音对应于由施加到弹簧的各种正弦波的组合而形成的外力。每个弹簧都具有其自身的固有频率,并且通过一系列声音样本绘制出其自身的运动轨迹。每个弹簧的运动轨迹可以通过使用诸如runge-kuta方法的数值分析技术计算来针对驱动谐波振荡的运动的微分方程的解而获得。

假设ωi是弹簧si(1≤i≤n)的固有频率。弹簧si用于对构成人类听觉系统的毛细胞之中对ωi频率的声音最敏感的毛细胞的响应进行建模。

当声音f0cos(ωt)被输入时,弹簧si对声音的反应xi(t)可以由以下方程(1)的运动方程表示:

其中,xi是偏离平衡点(位移)的弹簧的长度,以及m是悬挂在弹簧中的物体的质量。ζ是阻尼比,并且当摩擦系数为bi时,ki是弹簧常数。ωi是当ζ和fi两者都为零时弹簧的固有频率,并且

方程(1)是具有通解的微分方程。当ζ<1时,该解与下面的方程(2)相同。

其中,ai和βi由弹簧的初始条件决定,并且zi和如下:

将整数n指定为使得在-180°与0°之间。如图1中所示,如果f0=0,则弹簧经受周期性的阻尼振荡。如果f0>0并且弹簧在一定时间段之后达到稳定状态,则方程(2)中的第一项消失且仅保留第二项,使得处于稳定状态的弹簧的轨迹xi,s(t)遵循方程(5)。

考虑如下情况,其中具有与处于停止状态的弹簧si的固有频率ωi相同的频率的声音作为外力被施加到弹簧。弹簧在达到稳定状态的过程中的行为由下面的方程(6)描述。

因此,弹簧的振幅ai(t)沿着的轨迹逐渐增大,并且最终变为

当外力在点t0处消失时,弹簧的振幅逐渐减小到零。这对应于方程(2)中的f0=0,并且该过程中的振幅变化遵循以下方程。

图2是示出当外力被施加时和消失时弹簧的振幅变化的曲线图的示例。

根据本公开内容的实施方式,基于被建模为毛细胞的弹簧的行为,提出了用于提取输入声音的频率和振幅的两种方法。

用于提取输入声音的频率和振幅的方法i

1.处于稳定状态

(1)频率的提取

基于共振弹簧以比其他弹簧更大的振幅振荡的特性,可以提取输入声音的频率。

给定纯音focos(ωt),处于稳定状态的弹簧si的振幅通过方程(5)变为如果悬挂在每个弹簧中的物体的质量m彼此相等,则具有最大振幅的弹簧是具有最小zi的弹簧。弹簧的固有频率ωi与纯音的频率ω之间的关系可以通过将方程(3)关于ωi进行微分来获得,结果如下:

其中,如果ζ是接近零的小的值,则ω≈ωi。例如,ζ可以是0.001。

为了找出具有最大振幅的弹簧,使用了求解微分方程的数值分析方法诸如runge-kuta。给定纯音focos(ωt),使用数值分析方法来计算与方程(1)的解对应的每个弹簧si的速度vi(t)和位移xi(t)。因为每个弹簧的能量是动能和势能的总和,所以弹簧si的能量可以由方程(9)获得。

已经达到稳定状态的弹簧的能量保持恒定值。因此,在速度vi为0时的位移xi成为弹簧si的振幅。因此,处于稳定状态的弹簧si的振幅ai可以通过以下等式计算:

具有所提取的弹簧振幅之中的最大振幅的弹簧是共振弹簧。因此,通过使用具有最大振幅的弹簧的固有频率ωi和方程(8),可以获得输入纯音的频率。

(2)振幅的提取

在稳定状态下,弹簧的轨迹由方程(5)给出。因此,处于稳定状态的弹簧si的能量ei,s与给定的纯音的振幅fo之间的关系可以由等式(11)表示。

此外,稳定状态下的能量ei,s可以通过将通过使用数值分析方法求解方程(1)获得的稳定状态下的位移xi和速度vi放入方程(9)中来获得。因此,给定的纯音的振幅fo变为如下:

与外力共振的弹簧的固有频率ωi与外力的频率几乎相同。因此,如果将ω≈ωi放入方程(3),则zi=2ωi2ζ。如果将该结果和两者都放入方程(12),则输入纯音的振幅f0可以通过方程(13)计算。

2.在瞬时状态下

(1)频率的提取

假设在时间间隔[ta,tb]内给出纯音focos(ωt)。所有弹簧在位移和速度两者都为零的初始状态下开始移动。使用数值分析技术,计算每个时间点的弹簧的能量,并将计算结果放入方程(10)中以获得弹簧在每个时间点处的振幅。此后,具有最大振幅的弹簧的固有频率被代入方程(8)中以计算给定的纯音的频率。

(2)振幅的提取

假设通过数值分析发现的共振弹簧si的能量为ei(t)。弹簧si在时间t的振幅ai(t)可以使用方程(10)从ei(t)计算。

根据方程(1)的通解,与给定的声波共振的弹簧si的振幅ai(t)遵循方程(6)的轨迹,使得弹簧si在从初始状态开始直到其达到稳定状态的时间间隔[ta,tb]中遵循的轨迹。此处,ai,s是当弹簧达到稳定状态时该弹簧的振幅。我们将ai,s称为预期稳态振幅。

在时间间隔[ta,tb]内的两个时间点t1、t2处的能量ei(t1)和ei(t2)可以使用数值分析方法获得。因此,振幅ai(t1)和ai(t2)可以通过将这些结果代入方程(10)来获得。预期稳态振幅ai,s可以通过将结果放入中获得,并且结果如以下方程:

接下来,关于频率相同但声音的音量改变的情况,假设在点tc给出的声音的振幅已经从f1改变到f2。设ac为弹簧在时间点tc处的振幅,并且设as为弹簧在外力变为f2后将接近稳定状态时的振幅。振幅随时间的反应可以通过以下方程来描述。

给定振幅从ac变为as的时间间隔内的两个时间点t1和t2处的振幅a(t1)和a(t2),可以看出所得到的as与方程(14)相同。

例如,考虑在时间点tc处外力f2=0的情况。当外力消失时,弹簧的能量按照方程(7)以指数方式减少。也就是,测得的从外力消失时开始δt秒之后的弹簧的振幅将是a(tc δt)=a(tc)e-ζωδt。将该测量结果放入方程(14)会使as=0,这意味着外力已经消失。

因此,可以通过不止一次测量弹簧的能量来获得预期稳态振幅as。使用表示振幅与能量之间的相关性的方程(10),可以计算稳定状态的能量es,并且因此可以使用方程(13)计算给定的纯音的振幅fo。

由于施加到弹簧的力是周期函数的形式,所以能量没有在瞬时状态的时间段内均匀增加。考虑到该特性,当选择上述两个时间点t1和t2时,使时间间隔与该时间段相同。

在这方面,由于声音数据的采样率与弹簧的固有频率之间的关系,可能不能选择如下两个时间点:所述两个时间点之间的时间差为一个周期。在这种情况下,可能出现错误,并且可以使用两种方法来纠正该错误。

第一种方法是选择相邻的样本,其示出与周期的较小差异。当给定样本的位置s1和音频数据的周期t时,第二样本的位置s2计算为[s1 采样率×t 0.5]。通过将两个点的时间信息和两个点处的振幅放入方程(14)来计算预期稳态振幅as。

第二种方法使用线性回归分析。在提取了一些点处的振幅并将所提取的数据放入方程(15)之后,通过线性回归分析计算预期稳态振幅as。

基于以上理论背景,可以提出如下用于提取输入声音的频率的方法。

参照图3,根据本公开内容的实施方式的用于提取输入声音的频率的方法可以包括以下步骤,该方法的每个步骤由计算机执行:

(a)对多个弹簧进行建模,所述多个弹簧具有彼此不同的固有频率并且根据输入声音振荡;

(b)估计弹簧的预期稳态振幅ai,s,该弹簧的振幅ai(t)在多个建模的弹簧之中最高;

(c)基于该预期稳态振幅ai,s计算振幅最高的所述弹簧的能量ei,s;以及

(d)基于所述能量ei,s计算输入声音的振幅f0。

步骤(a)可以包括以下步骤:测量多个弹簧中的每个弹簧在各时间点处的位移xi(t)和速度vi(t)(见方程1);基于位移和速度计算多个弹簧中的每个弹簧在每个时间点处的能量ei(t)(见方程9);以及基于能量ei(t)计算多个弹簧中的每个弹簧的振幅ai(t)(参见等式10)。

步骤(b)可以用方程(14)计算。

在步骤(b)中,可以基于输入声音的持续时间内的两个不同时间点处的振幅来计算所述预期稳态振幅ai,s(t)。

两个不同时间点之间的差可以是对应的弹簧的固有频率的周期。

当两个时间点中的一个为t1、输入声音的采样率为sr以及对应的弹簧的固有频率的周期为t时,两个时间点中的另一个t2可以借助于下面的方程来计算。

t2=[t1 sr×t 0.5]

可以基于要提取的频率的范围和分辨率来确定多个弹簧的数目n。

图4的(a)至图4的(b)是表示根据本公开内容的实施方式的实验结果的曲线图。

图4的(a)示出了通过将弹簧的能量e2000(t)放入方程(13)而获得的结果,该弹簧的固有频率在具有恒定振幅的频率为2khz的纯音在0.2秒与0.8秒之间被输入的时间内为2khz。该结果被称为瞬态纯音振幅。瞬态纯音振幅是在弹簧的能量不存在变化的假设下计算的输入纯音的振幅。随着时间的推移,弹簧的能量达到稳定状态。因此,如图4的(a)中所示,瞬态纯音振幅逐渐达到稳定状态,此时的振幅对应于输入纯音的振幅fm(t)。此处,m指示弹簧的固有频率。

图4的(b)示出了输入纯音的振幅fm(t),该振幅fm(t)是通过将测量的弹簧的振幅放入方程(14)以获得弹簧的预期稳态振幅am,s(t)并将结果应用于以上频率提取方法的步骤(c)和(d)而获得的。如图4的(b)中所示,从纯音的起始点开始提取输入纯音的振幅。

用于提取输入声音的频率和振幅的方法ii

根据上述用于提取输入声音的频率和振幅的方法i,如果输入声音是纯音,则可以有效地提取输入声音的频率和振幅。

现在,假设存在构成复音的n种类型的纯音。如果n=1,则可以通过在弹簧之中选择具有最大振幅的弹簧来找到给定声音的纯音。然而,如果n>1,则难以通过按振幅的顺序选择前n个弹簧来找出构成复音的纯音。

第一原因是,其频率与具有最大振幅的弹簧相邻的弹簧的振幅可能大于与构成复音的其他纯音共振的弹簧的振幅。第二原因是,如图2中0.8秒之后的轨迹所示,即使外力消失,也需要时间直到弹簧的振幅达到0,所以不再存在的声音的振幅可能大于其他纯音的振幅。

因此,在该实施方式中,不是在每个时间点处的弹簧振幅之中找到局部最大值,而是提出了从将预期稳态振幅与瞬态纯音振幅相乘的结果中找到局部最大值的方法。

1.预期稳态振幅和经过滤的纯音振幅

首先,为了提取构成复音的纯音,通过将方法i的步骤(a)应用于每个弹簧以提取输入声音的频率来计算每个弹簧si的振幅ai(t)。图5的(a)示出了当具有恒定振幅的、频率为1khz的声音在200毫秒处开始时,作为在215毫秒处测量的结果,其固有频率约为1khz的弹簧的振幅。图5的(a)示出了不共振的弹簧的振幅低于共振的弹簧的振幅。

接下来,通过将用于提取输入声音的频率的方法i的步骤(b)应用于每个弹簧si的振幅ai(t)来计算预期稳态振幅ai,x(t)。然而,计算预期稳态振幅的方程(14)是从描述共振弹簧的行为的方程(7)导出的方程。因此,如在图5的(b)中,即使在远离谐振频率的频率处也可以产生高振幅。

因此,执行以下步骤。第三步骤是通过将弹簧si的振幅ai(t)放入方程(13)来计算瞬态纯音振幅fi,t(t)。此外,通过将用于提取输入声音的频率的方法i的步骤(c)和(d)应用于预期稳态振幅ai,s(t)来计算预测的纯音振幅fi,s(t)。

如最后的步骤,通过将瞬态纯音振幅fi,t(t)与预测的纯音振幅fi,s(t)相乘——如在fi,p(t)=fi,t(t)×fi(t)中——来计算经滤波的纯音振幅fi,p(t)。另外,振幅的相乘的结果可以除以声音的最大振幅,以便不超过1而是被归一化。例如,如果声音被表示为16位整数,则结果除以32767。

经滤波的纯音振幅具有以下特征:1)当声音消失时,振幅变为0;以及2)频域中远离谐振频率的频率的振幅较低。

图5的(c)示出了作为图5的(a)和图5的(b)中的、关于相同频率的振幅相乘的结果的经滤波的纯音振幅。图5的(d)至图5的(f)分别示出了由具有1khz的固有频率的弹簧获得的瞬态纯音振幅、预测纯音振幅和经滤波的纯音振幅。特别地示出了:在输入声音在0.8秒处消失之后,图5的(d)中的振幅保持不为零,但是图5的(e)和图5的(f)中的振幅变为零。图5的(g)至图5的(i)示出了具有1020hz的固有频率的弹簧的结果。明显地,与图5的(f)的共振弹簧的经滤波的纯音振幅f1000,p(t)相比,经滤波的纯音振幅f1020,p(t)非常小。

2.从局部最大值中找到纯音

图6是示出由100hz、250hz、500hz、1khz和4khz的五个纯音组成的复音的频率与经滤波的纯音振幅的曲线图。如图6中所示,如果构成复音的声音的频率间隔是宽的,则每个纯音频率在频率上的局部最大值之中产生局部最大值。利用这些特征,从通过使用经滤波的纯音振幅获得的频率与振幅曲线图中获得一些局部最大值。然后,再次获得那些一些局部最大值的局部最大值。最后,与局部最大值对应的频率被当作构成复音的纯音的频率。

但是,如果频率间隔是窄的,则在两个相邻的局部最大值之间可能不存在局部最大值。图7是由112hz、181hz、1034hz、5017hz和5034hz的五个纯音组成的复音的频率与经滤波的纯音振幅的曲线图的一部分。该图表明,在由两个相邻的频率5017hz和5034hz产生的两个局部最大值之间不存在局部最大值。这种情况的特征是频率间隔窄并且两个经滤波的纯音振幅相似。因此,如果经滤波的纯音振幅中的两个相邻局部最大值之间的频率差在某个宽度(例如,高振幅频率的带宽)内并且那些经滤波的纯音振幅的比率等于或大于某个水平(例如,0.5),则这两个频率都被当成是构成复音的纯音的频率。

基于上述理论背景,提出了以下用于提取输入声音的频率的方法。

参照图8,根据本公开内容的实施方式的用于提取输入声音的频率的方法包括以下步骤,该方法的每个步骤由计算机执行:

(1)对多个弹簧进行建模,具有固有频率ωi的每个弹簧si(1≤i≤n)彼此不同并且根据输入声音振荡;

(2)基于建模的弹簧的位移和速度来计算多个建模的弹簧si在每个时间t处的瞬态纯音振幅{fi,t(t)|1≤i≤n};

(3)计算多个建模的弹簧在每个时间t处的预期稳态振幅{ai,s(t)|1≤i≤n};

(4)基于每个时间t处的预期稳态振幅{ai,s(t)|1≤i≤n},计算预测的纯音振幅{fi,s(t)|1≤i≤n};

(5)通过将每个弹簧si的瞬态纯音振幅fi,t(t)与预测的纯音振幅fi,s(t)相乘,计算每个时间t处的经滤波的纯音振幅{fi,p(t)|1≤i≤n};以及

(6)提取弹簧的固有频率,所述弹簧的固有频率的每个经滤波的纯音振幅是频率范围内的局部最大值。

步骤(1)可以包括以下步骤:测量多个弹簧中的每个弹簧在不同时间点处的位移xi(t)和速度vi(t)(见方程1);基于位移xi(t)和速度vi(t)计算多个弹簧中的每个弹簧在每个时间点处的能量ei(t)(见方程9);以及基于能量ei(t)计算多个弹簧中的每个弹簧在每个时间点处的振幅ai(t)(见方程10)。

方程13可以用于步骤(2),方程14可以用于步骤(3),以及方程13可以用于步骤(4)。

多个弹簧的数目n可以基于要提取的频率的范围和分辨率来确定。

在步骤(3)中,可以基于在输入声音的持续时间内的两个时间点处的振幅来计算预期稳态振幅ai,s(t)。

在步骤(3)中,可以借助于以下方程来计算预期稳态振幅ai,s(t):

其中,t1和t2是输入声音的持续时间内的两个不同的时间点,t2>t1,ai(t1)是多个弹簧之中的任意弹簧在t1处的振幅,ai(t2)是所述弹簧在t2处的振幅,ζ是所述弹簧的阻尼比,以及ω满足方程其中,ωi是所述弹簧的固有频率。

两个不同时间点之间的差可以是对应弹簧的固有频率的周期。

当两个时间点中的一个为t1、输入声音的采样率为sr以及对应弹簧的固有频率的周期为t时,两个时间点中的另一个t2通过以下等式计算。

t2=[t1 sr×t 0.5]

在下文中,将描述根据本实施方式的实验结果。为了示出根据本公开内容的dj变换的性能,对dj变换的结果与stft的结果进行了比较。在dj变换中,分别使用了7951个固有频率为从50hz至8000hz的弹簧。弹簧的频率间隔为1hz。25毫秒的窗口被用于stft。

dj变换在具有3072个核和12gb内存的nvidiam40gpu环境中执行,并使用cudatoolkit8.0的c语言api实现。对1秒的音频数据进行dj变换大约需要0.6秒。

图9的(a)至图9的(f)是示出stft变换和dj变换在频率分辨率方面的结果的图。在图9的(a)至图9的(f)中,第一行示出了stft的结果,第二行示出了输入声音的频率,以及第三行示出了根据本公开内容的实施方式的dj变换的结果。

如图9的(a)至图9的(f)所示,stft结果的频率分辨率为40hz。此外,当纯音的频率为400hz、408hz和416hz时,在400hz处输出峰值,以及当纯音的频率为424hz、432hz和440hz时,在440hz处输出峰值。然而,dj变换结果与纯音的所有频率相匹配。这意味着dj变换结果的频率分辨率为1hz。

进行了三个实验来比较dj变换和stft在时间分辨率方面的结果。

第一实验是检查在输入频率改变的时间点处提取的频率。图10的(a)示出了当1khz纯音已经被输入500毫秒并且2khz纯音正好在500毫秒之后被输入时通过dj变换的提取的频率的结果,图10的(b)示出了当2khz纯音已经被输入500毫秒并且1khz纯音正好在500毫秒之后被输入时通过dj变换的提取的频率的结果,图10的(c)示出了当4khz纯音已经被输入500毫秒并且2khz纯音正好在500毫秒之后被输入时通过dj变换的提取的频率的结果,以及图10的(d)示出了当2khz纯音已经被输入500毫秒并且4khz纯音正好在500毫秒之后被输入时通过dj变换的提取的频率的结果。明显地,图10的(a)至图10的(d)示出了两个频率之间的边界在500毫秒处。具体地,直至500毫秒,输入纯音的1khz、2khz、4khz和2khz的频率被清楚地显示,并且紧接500毫秒之后,经改变的纯音的2khz、1khz、2khz和4khz的频率被显示为仅具有大约10%的误差。然而,在图11的(a)至图11的(d)所示的stft结果中,在500毫秒的边界上同时提取两个频率。

第二实验是从快速出现和消失的声音中提取频率。图12的(a)至图12的(c)的第一行示出了当1khz纯音在从200毫秒到800毫秒中被生成达5毫秒并且在下一个5毫秒静默(当闪烁信号被重复输入时)时的频率提取结果。第二行示出了从200毫秒到800毫秒连续输入1khz纯音(当连续信号被输入时)的结果。图12的(a)是关于输入声音随时间的频率分量,图12的(b)是关于dj变换结果,以及图12的(c)是关于stft结果。

在示出dj变换的结果的图12的(b)中,重复的闪烁信号导致虚线,而连续的信号导致实线,由此两种信号被明显地区分。另一方面,图12的(c)中所示的stft的结果在1khz处示出了实线,因此,闪烁信号与连续信号之间的区别并不清楚。

图12的(b)中的上图在1.1khz和0.9khz处示出了相对较弱的虚线。由于每10毫秒周期的重复的输入,这些线被解释为100hz信号的结果。另一方面,在stft结果中,当观察图12的(c)中的上图时,实线出现在0.88khz、0.92khz、0.96khz、1.04khz、1.08khz和1.12khz处。据推测,stft结果出现的原因是因为0.9khz和1.1khz频率分量由100hz信号生成,并且由于stft的40hz频率分辨率而导致这些分量由40hz间隔表示。

第三实验是第二实验的扩展,第三实验示出了当1khz和2khz纯音在从200毫秒到800毫秒内被交替生成达5毫秒时频率提取的结果(图13的(a)至图13的(c))。图13的(b)示出:dj变换产生以5毫秒为单位明显分开的1khz纯音和2khz纯音。另一方面,如图13的(c)所示,当使用stft时,纯音之间的边界是不可区分的。

图14的(a)至图14的(c)的第一行示出了当输入420hz纯音时的输入波形、dj变换的结果和stft的结果,以及第二行示出了当由400hz和440hz组成的复音被输入时的输入波形、dj变换结果和stft结果。图14的(a)示出了输入波形,以及图14的(b)和图14的(c)分别示出了dj变换结果和stft结果。

如在图14的(b)和图14的(c)中可见,dj变换从纯音中提取420hz的频率,并且从复音中提取400hz和440hz的频率。另一方面,使用stft从纯音和复音两者中提取的结果之间几乎没有差异。

如图14的(a)的底部图所示,由于复音由400hz和440hz组成,所以振幅在40hz周期内波动。另一方面,如图14的(b)的底部图所示,dj变换很好地反映了振幅波动的特征。

图15示出了根据本公开内容的实施方式的用于提取输入声音的频率的设备。

根据本公开内容的实施方式的用于提取输入声音的频率的设备100可以包括弹簧建模单元110和频率提取单元120。

弹簧建模单元110使用方程(1)、(9)和(10)来计算多个弹簧的位移和速度。弹簧建模单元110可以包括与多个弹簧的数目对应的线程,并且每个线程可以对应于每个弹簧。

频率提取单元120基于由弹簧建模单元110计算的位移和速度,根据用于提取输入声音的频率的方法i的步骤(b)至(d)提取频率。或者,频率提取单元120基于由弹簧建模单元110计算的位移和速度,根据用于提取输入声音的频率的方法ii的步骤(2)至(6)提取频率。

虽然已经通过优选实施方式详细描述了本公开内容,但是本公开内容不限于此,并且在不偏离本公开内容的技术精神的情况下可以进行各种改变和应用,这对于本领域技术人员来说是明显的。因此,本公开内容的保护的范围应当由所附权利要求来解释,并且与其等效的范围内的所有技术思想应当被解释为包括在本公开内容的范围内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜