一、采样频率到底是选择2倍还是10倍?让我用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×04f1cos(2πft)dt=2πf1sin(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,3N)。带入到式(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,3N)包围的面积。

# 导入模块
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%的误差)才不会引起明显的幅值失真。

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白银时代_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值