数字信号处理 三、再探时域数字信号处理
数字信号处理 三、再探时域数字信号处理
基本信号与基本算法
信号的表示方法
- 本章以一维信号为学习对象
- 连续信号f(t)
- 对应离散序列 x[n],其中 x[n] 是对 f(t) 的取样
- n 表示范围落在中的整数
- n 的单位是“个”,即没有单位
- n<0指的是记录器开始的数据,无穷表示“未知”
离散时间信号的书写表示
大括号内数字序列:
在上市中
n 的范围必须标注,如n=-3:5 或 -1<n<无穷
x不能大写,大写的表示频域
离散时间信号的编程
- 在编程处理中,一个序列的起始时间不一定是0或1
- 如x[n],n=-3:5
- 各个编程语言中数组都是从0或者1 indexed
- 或用其它方法,定义n数列,定义其实坐标+换算的方法进行处理。
- 编程练习作业1(推荐,选做)
- 定义一个数组表示信号,信号的起始时间不是0或者1
信号的表示
- 信号维度不受限制
- 多维信号还可以分为单一信号源的多维信号和多源的多维信号
- 本课主要讨论1维,但实践中大多是2维、3维及更高维度的信号
- 多不同维度进行简单展示
信号维度展示 1维
语音信号
信号维度展示 2维
灰度图像
信号维度展示 3维
RGB 3维彩色图像
信号维度 4维
视频信号 每帧是个彩色图像3维+时间1维
信号维度的学习与理解
- 上课学习处理1维信号
- 对于高维信号,算法会有升维的运算
- 2维卷积,2维傅里叶变换
- 难度不高
- 很多情况下,各个维度具有独立性,或者如果我们只希望观测某一个维度的性质,可以把高维信号使用一维方法处理
4维信号的1维处理案例:潜意识广告
几个基本的信号分类
- 除了连续、离散的信号分类外,还有
- 实函数和复函数
- 关于复数信号的一些说明
- 纯量信号,只有一个信号源产生
- 由多个信号源产生的信号
- 实函数和复函数
基本处理方法
- 基本处理包括
- 多信号处理:加法、数乘、乘法
- 卷积、差分、微分等
基本处理-补零
对不齐就必须补零
- 补零是基本的处理操作
- 对于不同长度或不在统一时间范围的序列的运算,必须先对部一致的部分序列做适当的补零
- 例子(看不清)
- 例子(看不清)
基本处理-加法
加法运算
应用例子:去噪
滑动窗口
基本运算-乘法
- 乘法运算:放大器,一般会将噪声干扰一起放大, 需要和其它处理方法配合使用
应用:
- 遮罩
- 调制,如:用不同的正弦信号调制任意模拟信号
基本运算-时移
时间位移运算
离散版本
,其中 N 为整数。
其中
- 若,延迟运算
- 若,超前运算
基本运算-反折
时间反向或是折迭运算
离散格式
基本运算-拉伸
上采样和下采样
相对复杂的运算
基本运算-差分
离散格式: x[n] 代替f(t) ,则最小间隔由Δt→0而Δn=1,
f(t+Δt)→x[n+Δn]=x[n+1]
f(t)→x[n]
⇒ x′ [n]=x[n+1]-x[n]
上述公式成为离散序列的差分
基本运算-累加
差分的逆运算
卷积
卷积是整个数字信号处理中最重要的运算。
- 我们所学的基础处理整合起来称为“系统”
- 在本课程中我们只学习一种系统“线性时不变系统”
- 一个线性时不变系统,不管多么复杂,其都可以变成输出信号=输入信息与特定(且固定)信号的卷积
即:本课程的任何系统,都可以用卷积来表示和研究。
卷积分为两种:线性卷积和周期(循环)卷积
线性卷积的连续性表达式为
- 其离散表示
注1:上述式子中的h(n)为什么使用h在后文会有所解释
注2:请注意上述式子中的所有时间序列符号, y(n), x(n), h(n),累加中的x[n-k],h[k] 累加的上下限分别为∞,-∞
运算基本流程:
- 将h(n)反转,作为滑动窗
- 对应公式中的 h(k)与x(n-k)
- 窗口内处理h(n),并进行对位相乘后求和
- 对应公式中的,滑动窗内求和
- 将滑动窗做x(n)最左侧一直移动到最右侧
- 对每一个点x(n) 进行运算,在公式中没有体现,
快速卷积
- 使用右侧对位相乘求和法求卷积,步骤:
- 两序列右对齐(不做反转)
- 逐个样值对应相乘但不进位
- 同列乘积值相加(注意n=0的点)
相关说明
所谓的快速卷积只是给人类手动算卷积准备的
- 节省的时间是不需要处理边缘效果的那几次滑动
当窗口很大时,节省的时间微乎其微
- 手动编写感受
所以计算机并不使用快速卷积
- 计算机使用转频域-> 算乘法->转回时域的方法
这个需要循环卷积
循环卷积
循环卷积的处理分为两部分:循环扩展和卷积
循环扩展:
- 循环卷积表述方法为k-循环卷积:需要把一个长度为n的序列扩展到长度为k,然后反复“拷贝”,构造循环序列
- 表述为 x(n)∙R_k (n)
- 做循环的意义在于引入信号的周期性,周期信号可以使用傅立叶变换进行“真.快速卷积”
- 请注意,循环卷积的k,是可能大于x(n)的长度N的
扩展后再做常规卷积,整体公式表示为
循环卷积与线性卷积的关系:
- 当x(n)与h[k]做线性卷积,其长度为N+K-1
- 做L点循环卷积,长度为 L
- 当L≥N+K-1时,两者输出序列一样
- 当L<N+K-1时,两者输出不同
- 请自行数学验证、计算验证、编程验证。
请根据算法知识,自行估算卷积的运算复杂度
为了降低卷积的算法复杂度,我们通常使用
- 傅立叶变换->乘法->逆傅里叶变换的方法
来计算 有限长序列的卷积,所以需要循环卷积
卷积的性质
1.交换律
2.结合律
3.分配律
4.不存在微分、积分性质。
总结
线性操作:
- 加法、累加、减法、数乘、差分等
线性操作打包后对应一个卷积
非线性操作:
- 上采样、下采样
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
GiscusGitalk