[DASP]1. 采样与重构

前言

关于傅里叶级数对于时域和频域的转换这里不过多赘述:[信号与系统]有关时域信号与频域信号的转换

连续信号到离散信号的转换

将连续时域信号 x ( t ) x(t) x(t) 转换为离散时域信号 x [ n ] x[n] x[n] 的数学推导过程如下:

1. 采样定理

采样定理指出,如果一个信号的最高频率不超过 1 2 T s \frac{1}{2T_s} 2Ts1(即奈奎斯特频率),则可以通过每隔 T s T_s Ts 进行一次采样来完全重建该信号。这个过程可以表示为:
x [ n ] = x ( n T s ) x[n] = x(nT_s) x[n]=x(nTs)

其中 T s T_s Ts 是采样间隔, n n n 是一个整数。

2. 采样点的选择

为了将连续信号 x ( t ) x(t) x(t) 转换为离散信号 x [ n ] x[n] x[n],我们需要在等间隔的时间点 t n t_n tn 处对 x ( t ) x(t) x(t) 进行采样。时间点 t n t_n tn 可以表示为:
t n = n T s t_n = nT_s tn=nTs

其中 n n n 为整数。

3. 离散信号的表达式

通过在这些时间点上采样,离散信号 x [ n ] x[n] x[n] 表示为:
x [ n ] = x ( n T s ) x[n] = x(nT_s) x[n]=x(nTs)

4. 数学推导

假设我们有一个连续信号 x ( t ) x(t) x(t),我们想要将其采样得到离散信号 x [ n ] x[n] x[n]。

  1. 定义连续信号

    设连续信号 x ( t ) x(t) x(t) 表示为:
    x ( t ) x(t) x(t)

  2. 选择采样间隔 T s T_s Ts

    选择一个适当的采样间隔 T s T_s Ts,使得信号满足采样定理。

  3. 计算采样点

    采样点 t n t_n tn 可以表示为:
    t n = n T s t_n = nT_s tn=nTs

  4. 在采样点进行采样

    在采样点 t n t_n tn 处,对连续信号 x ( t ) x(t) x(t) 进行采样,得到离散信号 x [ n ] x[n] x[n]:
    x [ n ] = x ( n T s ) x[n] = x(nT_s) x[n]=x(nTs)

5. 采样和重构

采样过程

采样是将连续时间信号 x ( t ) x(t) x(t) 在离散时间点 t = n T s t = nT_s t=nTs 处进行取样的过程。其数学表达式为:
x [ n ] = x ( n T s ) x[n] = x(nT_s) x[n]=x(nTs)

其中 n n n 为整数,表示采样点的索引。

重构过程

假设我们有一个离散时间信号 x [ n ] x[n] x[n],我们可以通过插值方法重构原始的连续时间信号 x ( t ) x(t) x(t)。最常用的重构方法是使用理想的低通滤波器进行重构,其表达式为:
x ( t ) = ∑ n = − ∞ ∞ x [ n ] ⋅ sinc ( t − n T s T s ) x(t) = \sum_{n=-\infty}^{\infty} x[n] \cdot \text{sinc}\left(\frac{t - nT_s}{T_s}\right) x(t)=n=−∞∑∞x[n]⋅sinc(Tst−nTs)

其中 sinc ( x ) \text{sinc}(x) sinc(x) 是 sinc 函数,定义为:
sinc ( x ) = sin ⁡ ( π x ) π x \text{sinc}(x) = \frac{\sin(\pi x)}{\pi x} sinc(x)=πxsin(πx)

重构过程的基本原理是将离散的样本 x [ n ] x[n] x[n] 进行加权叠加,其中权重是 sinc \text{sinc} sinc 函数的取值。这个过程在理论上可以完全重建原始的连续时间信号 x ( t ) x(t) x(t),前提是信号满足采样定理的条件。

示例

假设我们有一个频率为 1 Hz 的正弦波信号 x ( t ) = sin ⁡ ( 2 π t ) x(t) = \sin(2\pi t) x(t)=sin(2πt),采样间隔 T s T_s Ts 为 0.1 秒。我们可以通过以下步骤进行采样和重构:

  1. 计算采样点:
    t n = n T s = 0.1 n t_n = nT_s = 0.1n tn=nTs=0.1n
  2. 在采样点进行采样:
    x [ n ] = sin ⁡ ( 2 π ⋅ 0.1 n ) x[n] = \sin(2\pi \cdot 0.1n) x[n]=sin(2π⋅0.1n)

离散信号 x [ n ] x[n] x[n] 表示为:
x [ n ] = sin ⁡ ( 0.2 π n ) x[n] = \sin(0.2\pi n) x[n]=sin(0.2πn)

重构信号 x ( t ) x(t) x(t) 表示为:
x ( t ) = ∑ n = − ∞ ∞ sin ⁡ ( 0.2 π n ) ⋅ sinc ( t − 0.1 n 0.1 ) x(t) = \sum_{n=-\infty}^{\infty} \sin(0.2\pi n) \cdot \text{sinc}\left(\frac{t - 0.1n}{0.1}\right) x(t)=n=−∞∑∞sin(0.2πn)⋅sinc(0.1t−0.1n)

通过这个过程,我们可以看到如何将连续时域信号转换为离散时域信号,并且在理论上可以通过重构过程完全恢复原始的连续时域信号。

相关推荐
你撅嘴真丑8 小时前
第九章-数字三角形
算法
uesowys8 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56788 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ValhallaCoder9 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
董董灿是个攻城狮9 小时前
AI 视觉连载1:像素
算法
智驱力人工智能9 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
孞㐑¥10 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
月挽清风10 小时前
代码随想录第十五天
数据结构·算法·leetcode
XX風10 小时前
8.1 PFH&&FPFH
图像处理·算法
NEXT0610 小时前
前端算法:从 O(n²) 到 O(n),列表转树的极致优化
前端·数据结构·算法