虎书学习笔记-数字信号处理(一)

一、什么是数字信号处理?

数字信号处理分为两个过程:

1)采样(sampling):数码设备通过模拟-数码转换器通过捕获特定形式的物理信息,将其转换为数字存储到设备中,作为采样数据。
2)重建(reconstruction):数码设备将存储的采样数据通过数码-模拟转换器将数字转换为捕获的物理信息,以物理信息原本的形式“播放”。

二、一种简单的数字信号处理过程

0)数字信号处理在生活中的应用:在生活中我们使用到的许多物品都有数字信号处理的过程,像数码相机拍摄照片时、麦克风捕捉我们的说话声时就进行了采样,耳机播放音乐时、电视机或手机等电子设备在屏幕上显示图案时就进行了重建
1)这一节中,我们介绍一个简单的数字信号处理模型:数字音频

模型示意图如下所示:
在这里插入图片描述
在麦克风录音的时候,记录的声音是在空气中以压力波存在着的,而麦克风通过低通滤波器将其转换为了随时间变化的电压,这样的物理信息就存储进了麦克风。而当要播放记录的声音时,音响就同样会以变化的电压通过低通滤波器来形成空气中的压力波。而接下来我们要重点介绍物理信息和数字信息之间是如何转换的。

在录音的过程中,就进行了采样,此时麦克风记录的物理信息就会通过A/D转换器(analog-to-digital converter)转换为整形数据流存储在像光盘等便携式硬件中。

在播放音频时,就进行了重建,这时存储的数据就以合适的频率读取,通过D/A转换器(digital-to-analog converter)转换为物理信息传递给音响等播放声音的硬件。

三、数字信号处理中遇到的问题

在上一节的数字音频模型中,如果我们录音的采样频率低于被录声音的频率,那么在重建声音的过程中就会出现一些不自然的声音,或者说不是我们原本录的声音。这一现象被称为失真

同样的事情在计算机图形学领域中也有发生,像对图片进行采样时低于特定频率,在重构图片时也会出现重构的图片会有撕裂的区域。这一现象称为畸变

这样类似的现象就引出了这样的问题

  • 多大的采样频率才能保证好的效果?
  • 怎样的滤波器(filter)对于采样和重建是合适的?
  • 需要多大的平滑程度才能避免信号的错误识别(aliasing)?

为了解决这样的难题,我们首先要补充一些理论知识。

四、理论知识:卷积(一)

卷积是将两个函数结合形成一个新函数的操作,在虎书中使用*表示卷积的运算符,例如函数f对g的卷积可以表示为
f ∗ g f*g fg

卷积适用范围也很大,不仅可以适用于连续函数,也能适用于离散的数组,不仅可以适用于一元函数,还可以适用于多元函数,本节主要介绍一元函数的情况。

1)移动平均值

在一元函数中,为了得到函数任意一点的平滑变化的值,我们通过可以计算一个半径为r的邻域内函数值的平均值,其中r是控制平滑程度的参数。比如平滑化一个连续函数g(x),我们就可以通过对g积分这样操作:
h ( x ) = 1 2 r ∫ x − r x + r g ( t ) d t h(x)=\frac{1}{2r}\int_{x-r}^{x+r}g(t)dt h(x)=2r1xrx+rg(t)dt
类似地,对于一组离散数据构成的数组a[i]我们就可以对其求和:
c [ i ] = 1 2 r + 1 ∑ j = i − r i + r a [ j ] c[i]=\frac{1}{2r+1}\sum_{j=i-r}^{i+r}a[j] c[i]=2r+11j=iri+ra[j]
为什么要提这个呢,因为虎书是这样说的

This idea of a moving average is the essence of convolution; the only differ-
ence is that in convolution the moving average is a weighted average.

2)离散卷积

对于两个数组a[i]和b[i],我们定义数组a对b在某一位置i处的卷积为:
( a ∗ b ) [ i ] = ∑ j a [ j ] b [ i − j ] (a*b)[i]=\sum_ja[j]b[i-j] (ab)[i]=ja[j]b[ij]
其中值b[i-j]为位置j的权重,也就是距离位置i长度为i-j处的值。如图所示是一个计算的例子:
在这里插入图片描述
其中 b = 1 16 [ . . . , 0 , 1 , 4 , 6 , 4 , 1 , 0 , . . . ] b=\frac{1}{16}[...,0,1,4,6,4,1,0,...] b=161[...,0,1,4,6,4,1,0,...]也就是说,b[0]=6/16,a[1]=a[-1]=4/16等等。

在图形学中,两个函数中的一个通常在有限个自变量区间是非零的,如果我们假设b满足这样的条件,这时有对于参数r满足当|k|大于r有b[k]=0,这样我们就可以将以上卷积定义为:
( a ∗ b ) [ i ] = ∑ j = i − r i + r a [ j ] b [ i − j ] (a*b)[i]=\sum_{j=i-r}^{i+r}a[j]b[i-j] (ab)[i]=j=iri+ra[j]b[ij]

i)虎书中的解释说明(便于理解卷积过程)
关于箱式过滤器(box filter)的介绍和一个简单的卷积计算例子
在这里插入图片描述

在这里插入图片描述
ii)性质
性质一:卷积运算满足乘法运算的规律
结合律:(a * b)[i]=(b * a)[i]
交换律:(a* (b * c))[i]=((a * b) * c)[i]
分配律:(a * (b + c))[i]=(a * b + a * c)[i]

简单证明结合律:
对于公式 ( a ∗ b ) [ i ] = ∑ j a [ j ] b [ i − j ] (a*b)[i]=\sum_ja[j]b[i-j] (ab)[i]=ja[j]b[ij]
如果我们令j=i-k,那么公式可以写成
( a ∗ b ) [ i ] = ∑ k a [ i − k ] b [ i − ( i − k ) ] = ∑ k b [ k ] a [ i − k ] (a*b)[i]=\sum_{k}a[i-k]b[i-(i-k)]\\ =\sum_{k}b[k]a[i-k] (ab)[i]=ka[ik]b[i(ik)]=kb[k]a[ik]
这就证明了结合律。

性质二:滤波器为恒量滤波器时,函数对其的卷积等于其本身

恒量滤波器,是一个半径为零,或像d[i]=…,0,0,1,0,0,…这样的滤波器。

数组a[i]对d[i]的卷积则为
( a ∗ d ) [ i ] = ∑ j = i j = i a [ j ] d [ i − j ] = a [ i ] (a*d)[i]=\sum_{j=i}^{j=i}a[j]d[i-j]\\=a[i] (ad)[i]=j=ij=ia[j]d[ij]=a[i]

3)连续卷积

对于两个连续函数f和g,二者的卷积为:
( f ∗ g ) ( x ) = ∫ − ∞ + ∞ f ( t ) g ( x − t ) d t (f*g)(x)=\int_{-\infty}^{+\infty}f(t)g(x-t)dt (fg)(x)=+f(t)g(xt)dt
可以理解为随着参数x变化,函数f(t)g(x-t)从负无穷到正无穷区间内的积分值。图示如下:
在这里插入图片描述
一个简单的计算例子:
在这里插入图片描述在这里插入图片描述
注意这里separation应理解为“两个box之间的距离”

4)离散-连续卷积

当我们要计算一个离散数组a[i]和连续函数f(x)的卷积时,一种计算方式是通过对f(x)采样得到离散的数组f[i]进行计算,另一种方式是对数组a[i]进行重建,使其成为连续函数a(x)。

在将离散的数组a[i]与连续函数f(x)进行卷积时,写为以下形式
( a ∗ f ) ( x ) = ∑ i a [ i ] f ( x − i ) (a*f)(x)=\sum_{i}a[i]f(x-i) (af)(x)=ia[i]f(xi)
示意图如下:
在这里插入图片描述
当我们确定了滤波器的半径r时,卷积表达式可以写为
( a ∗ f ) ( x ) = ∑ i = ⌈ x − r ⌉ ⌊ x + r ⌋ a [ i ] f ( x − i ) (a*f)(x)=\sum_{i=\lceil{x-r}\rceil}^{\lfloor{x+r}\rfloor}a[i]f(x-i) (af)(x)=i=xrx+ra[i]f(xi)
这里需要注意的是如果点正好落在距离点x为r的位置,将不进行求和。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hunnybub

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

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

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

打赏作者

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

抵扣说明:

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

余额充值