1.采样频率(HZ)、采样率与采样点数
如图,采样频率(注:采样率与采样频率单位是不一样的,但是结果换算差不多,就是采样频率可以为小数,而采样率只能为整数)就是每秒钟采集我们每次所需要采集的采样点的次数,其单位是(hz)或者(次/秒),采样率表示每秒采样点的个数,其单位是(个/秒),而采样点数就是发送数据一次所传输的点数,举个例子:
•当采样点为100时,我们数据的更新率为20次,即传输了二十次数量为100的采样点,所以我们的采样频率就是100*20=2000(hz)或者说是2000(次/秒)
•由上式我们可以看出,它的取样周期为一个sample里取了20次,即$frac{1}{{20}}$为我们一个sample的取样时间,所以采样率为$frac{{100}}{{1/20}} = 2000$(SPS)或者说是2000(个/秒)。
2.频率分辨率
这个名词我们从两个方面来解释:
1 从离散傅里叶变换DFT来看,频率分辨率是在频率轴上能得到的最小的频率间隔。
$$Delta f = frac{1}{{N{T_s}}}$$
如上式所示,其中$Delta f$是频率分辨率,N是采样点数,在实际中就是我们所使用的窗长,${{T_s}}$是采样间隔,所以${N{T_s}}$是进行采样前的模拟信号的时间长度,所以我们的信号长度越长,我们的频率分辨率就越好,即频率间隔越小表示越好。但我们要注意的是,虽然我们可以增加窗长,即增加采样点数量,但与此同时我们的采样间隔就相应减少了,所以仅仅只增加窗长是无法增加频率分辨率的,需要在增加窗长的同时增加数据的时间长度,这样才能增强频率分辨率。
2 将其从算法角度来看,频率分辨率就是将原信号中两个很近的谱峰保持能分开的能力。这种方法我们以矩形窗来讲述一下,假设矩形窗宽度为N,经过傅里叶变换后我们知道它频域为sinc函数,两个一阶零点的间隔为$frac{{4pi }}{N}$。我们也可以知道,时域信号的截断相当于在时域信号上乘了一个矩形窗函数,频域则是卷积了一个sinc函数,即频域受到sinc函数的调制,而矩形窗的两个信号圆周率之差必须大于$frac{{4pi }}{N}$,所以我们需要增加数据长度(这里的N就是上面的${N{T_s}}$)。
下面是几种常用的窗函数的主瓣宽度B、旁瓣宽度A与衰减速度D:
窗类型 | 主瓣宽度B | 旁瓣宽度A | 衰减速度D |
矩形窗 | $frac{{4pi }}{N}$ | 13dB | 6dB/oct |
三角窗 | $frac{{8pi }}{N}$ | 27dB | 12dB/oct |
汉宁窗 | $frac{{8pi }}{N}$ | 32dB | 18dB/oct |
海明窗 | $frac{{8pi }}{N}$ | 43dB | 6dB/oct |
3.基音周期
通常情况下,认为在一个帧内应该包括1个到7个基音周期。然而,对于不同人而言,基音周期变化是不同的,变化范围也较大,从女性和儿童的2毫秒到老年男子14毫秒(即基音频率的变化范围为70~500Hz),因此窗口长度的选定还是比较困难,需要具体情况具体分析。通常在8kHz的采样频率下,窗口长度一般取80~160点合适(即基音周期的时间为10~20 毫秒)。
$$t = frac{N}{{{f_s}}}$$
其中t是时间,N为窗长,${{f_s}}$为采样频率。