一、采样频率到底是选择2倍还是10倍?让我用python来给你展示

一、采样频率到底是选择2倍还是10倍?让我用python来给你展示

文章目录

一、什么是采样频率?二、什么是采样定理?三、采样率究竟应该定?四、让python来看看采样率问题五、结论

一、什么是采样频率?

采样频率,也称为采样速度或者采样率,定义了单位时间内从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机单位时间内能够采集多少个信号样本。

二、什么是采样定理?

所谓采样定理 ,又称香农采样定理,奈奎斯特采样定理,是信号处理学科中的一个重要基本结论。 采样定理指出,只有采样频率高于信号带宽的两倍,原来的连续信号才可以从采样样本中完全重建出来。采样频率的一半(即奈奎斯特频率)低于信号带宽,那么此时这些离散的采样点就会导致混叠现象。 如果信号的带宽是100Hz,那么为了避免混叠现象采样频率必须大于200Hz。换句话说就是采样频率必须至少是信号中最大频率分量频率的两倍,否则就不能从信号采样中恢复原始信号。 关于采样定理如何理解,已有不少大神进行了讲解,这里不再细说。可以查看如何理解 Nyquist 采样定理?,当然还是建议有能力的同学,深入理解一下时域卷积公式及其变换到频域后的特点,就一目了然了。如果大家认为有必要讲解,可以留言回复,我可以从理论上给大家推导一下。

三、采样率究竟应该定?

数字测量应用所需的采用率为多少?一些工程师对于 Nyquist 理论深信不疑,并且认为只要采样率是示波器带宽的 2 倍便足矣。而其他工程师则不相信建立于 Nyquist 标准的数字滤波技术,更愿意使用采样率为带宽技术指标 10 至 20 倍的示波器。实际情况介于二者之间。

四、让python来看看采样率问题

下面我们分别用不同倍数采样率,对同一个周期内的信号进行采集,分析采集后数据的功率(即曲线下方的面积)。对于正弦信号

x

=

c

o

s

(

2

π

f

t

)

\mathrm{x}=cos(2\pi ft)

x=cos(2πft),其在一个周期内的面积积分(即能量)为:

4

×

0

1

4

f

cos

(

2

π

f

t

)

d

t

=

1

2

π

f

sin

(

2

π

f

t

)

0

1

4

f

=

2

π

f

(4.1)

4\times\int_{0}^{\frac{1}{4f}}\cos {(2\pi ft)}d_t=\frac{1}{2\pi f}\sin{(2\pi ft)}|_{0}^{\frac{1}{4f}}=\frac{2}{\pi f}\tag{4.1}

4×∫04f1​​cos(2πft)dt​=2πf1​sin(2πft)∣04f1​​=πf2​(4.1) 令采样频率

f

s

=

N

f

f_s=Nf

fs​=Nf,则各采样时间为

t

=

n

N

f

(

n

=

1

,

2

,

3

N

)

t =\frac{n}{Nf}(其中:n=1,2,3\dots N)

t=Nfn​(其中:n=1,2,3…N)。带入到式(4.1)中,则需求解的是离散信号

cos

(

2

π

f

n

N

)

(

n

=

1

,

2

,

3

N

)

\cos{(2\pi f\frac{n}{N})}(其中:n=1,2,3\dots N)

cos(2πfNn​)(其中:n=1,2,3…N)包围的面积。

# 导入模块

import matplotlib.pyplot as plt

import numpy as np

# 设定采样倍数

N = np.arange(2, 50, 1)

# 令待计算信号的频率为10Hz

f = 10

# 计算离散曲线下方面积

aera = []

for _N in N:

n = np.arange(_N) + 1

_aera = []

# 摒除初始相位带来的误差

for i in range(20):

sig = np.abs(np.cos(2*np.pi*n /_N + 2*np.pi*i/20))

_aera.append(np.trapz(sig, dx=1/(_N*f)))

aera.append(np.mean(_aera))

error = (np.array(aera) - 2/(f * np.pi))/(2/(f * np.pi))*100

plt.plot(N, error)

plt.xlabel("f_s/f")

plt.show()

图4.1 不同采样倍数下的能量误差

五、结论

由以上分析可知,一般来说,如果只关心信号的频率组成,遵循采样定理即可;如果关心信号的幅值,那么,采样频率应大于10倍的信号频率(只有10%的误差)才不会引起明显的幅值失真。