数字信号处理




第一章 时域离散信号和时域离散系统

一、基本概念

1.1 时域离散信号表示

signalExpresion

   驱动的变量为次数n,而非时间。

  1. 集合表示
    x(n)={1,2,4,6,5,}(1.1)x(n) = \{\underline{1},2,4,6,5,\dotsm\} \tag{1.1}

    • n=0的样本:添加下划线
    • 样本按照顺序排列
  2. 公式

    x(n)=sin(ωn), n为样本数x(n) = sin(\omega n), \ n为样本数

  3. 图像

digital signal figure

1.2 常用信号

  1. 单位脉冲序列 δ(n)\delta(n)
    δ(n)={,0,1,0,}(1.2)\delta(n) = \{\dotsm,0,\underline{1},0,\dotsm\} \tag{1.2}

    unit impact

    所有的数字信号,都能通过单位脉冲的缩放,偏移,叠加得到。

  2. 单位阶跃序列 u(n)u(n)
    u(n)={,0,1,1,1,}(1.3)u(n) = \{\dotsm,0,\underline{1},1,1,\dotsm\} \tag{1.3}

    unit level

  3. 单位矩形序列 RN(n)R_N(n)
    RN(n)={,0,1,1,1,,0,0}(1.4)R_N(n) = \{\dotsm,0,\underline{1},1,1,\dotsm,0,0\} \tag{1.4}

    unit rectangle

  4. 实指数序列 anu(n)a^n u(n)

    exponent

    如图,左边全为0,右边有值的序列又称之为:单边序列。

  5. 复指数序列 e(σ+jω0)ne^{( \sigma + j \omega_0 )n}

    e(σ+jω0)n=eδ(cos(ω0n)+jsin(ω0n))(1.5)e^{( \sigma + j \omega_0 )n} = e^{\delta}(cos(\omega_0 n) + j sin(\omega_0 n)) \tag{1.5}

    complex exponent

  6. 正弦 sin(ω0n)sin(\omega_0 n)

    sin

    正弦的离散采样值,不一定是周期循环的。

  7. 周期序列

    x(n)=x(n+N);N是整数。(1.6)x(n) = x(n + N) ; N 是整数。\tag{1.6}

1.3 正弦信号求解周期

sin period

  当多个正弦叠加时,周期为所有正弦信号的公倍数。

1.4 信号的运算

  1. 加减乘除
    n对齐后,直接各个对应采样值进行加减乘除

  2. 位移,翻转

    位移:x(n-N),左加右减
    翻转:x(-n)

  3. 尺度变换
    x(an)x(an) :序列x(n)每间隔a个点取一个点,构成一个新的序列。

    scale

二、时域离散系统概念

2.1 时域离散系统的运算

  1. 加减,乘除,倍增

    system sample

  2. 函数运算

    system fcn

2.2 线性系统

设:y1(n)=T[a1x1(n)]y2(n)=T[a2x2(n)]则:y1(n)+y2(n)=T[[a1x1(n)+a2x2(n)](2.1)\begin{aligned} 设: y_1(n) &= T [a_1 x_1(n)] \\ y_2(n) &= T [a_2 x_2(n)] \\ 则: y_1(n) + y_2(n) &= T[[a_1 x_1(n) + a_2 x_2(n)] \end{aligned} \tag{2.1}

2.3 时不变系统

设:y(n)=T[ax(n)]则:y(nn0)=T[ax(nn0)](2.2)\begin{aligned} 设: y(n) &= T [a x(n)] \\ 则: y(n - n_0) &= T [a x(n - n_0)] \end{aligned} \tag{2.2}

2.4 线性时不变系统

  同时满足上述的2.2和2.3的系统。

2.5 单位脉冲响应

   系统输入δ(n)\delta(n)时,系统输出就是单位脉冲响应。
h(n)=T[δ(n)](2.3)h(n) = T [\delta(n)] \tag{2.3}

2.6 卷积和

  对于 线性时不变系统 系统的输出可以通过 单位脉冲响应和系统输入卷积计算得到。

y(n)=x(n)h(n)=kx(k)h(nk)(2.4)y(n) = x(n) * h(n) = \sum_k x(k) h(n - k) \tag{2.4}

2.7 因果性与稳定性

  1. 因果性

    定义: 系统的输出不发生在输入之前。超前系统没有因果性。 通过系统进行判定
    y(n)=ax(n)+by(n)=ax(n1)+b;滞后y(n)=ax(n+1)+b;超前(2.5)\begin{aligned} y(n) &= ax(n) + b \\ y(n) &= ax(n - 1) + b ; 滞后\\ y(n) &= ax(n + 1) + b ; 超前 \\ \end{aligned} \tag{2.5}
    线性时不变系统的判定: 充要条件为,当 n<0n < 0 时,h(n)=0h(n) = 0;即 系统的初始储能为0。 通过单位脉冲响应判定h(n)

  2. 稳定性
    定义: 对有界限的输入,系统产生的输出也是有界的。 通过系统进行判定
    线性时不变系统的判定: 系统的单位脉冲响应 绝对可和n=h(n)<\sum_{n=-\infin}^{\infin} |h(n)| < \infin 通过单位脉冲响应判定h(n)

三、时域离散系统数学模型

3.1 常系数差分方程

  1. D延时

    delay

    y(n)=1,2,3,y(n)=0,1,2,3,(3.1)\begin{aligned} y(n) &= {\underline{1},2,3,\dotsm}\\ y(n) &= {\underline{0},1,2,3,\dotsm}\\ \end{aligned} \tag{3.1}

  2. 常系数差分方程

    one level
    n level

    y(n)+ay(n1)=x(n);一阶常系数差分方程y(n)+ay(n1)+by(n2)=x(n);二阶常系数差分方程(3.2)\begin{aligned} y(n) + ay(n-1) &= x(n);一阶常系数差分方程 \\ y(n) + ay(n-1) + by(n-2) &= x(n);二阶常系数差分方程 \\ \dotsm \end{aligned}\tag{3.2}

      定义: 有几个D延时,就是几阶。

3.2 解差分方程

定义:求解差分方程,就是计算y(n)值。

四、信号的采集

simulation to digital
sample

traditional sample
sample fcn

五、信号的频谱

源信号频谱:

origin frequency

采样信号的频谱:

  奈奎斯特采样定律:采样频率 Ωs2Ωc\Omega_s \ge 2\Omega_c,就能唯一恢复源信号。

注意:

sample frequency

抽样信号的恢复:通过低通滤波器进行恢复。


第二章 频域分析

frequency period

一、序列傅里叶变换

1.1 定义

其中:T为采样周期

X(jΩ)=+x^(t)ejΩtdt=+[n=x(nT)δ(tnT)]ejΩtdt=n=x(nT)ejΩnT(1.2)\begin{aligned} X(j\Omega) &= \int_{-\infty}^{+\infty} \widehat{x}(t) e^{-j \Omega t} d t \\ &= \int_{-\infty}^{+\infty}\left[\sum_{n=-\infty}^{\infty} x(n T) \delta(t-n T)\right] e^{-j \Omega t} dt \\ & = \sum_{n=-\infin}^{\infin} x(nT) e^{-j \Omega n T} \end{aligned} \tag{1.2}

1.2 典型的序列傅里叶变换

X(ejω)=1(1.4)X(e^{j \omega}) = 1 \tag{1.4}

X(ejω)=11aejω(1.5)X(e^{j \omega}) = \frac{1}{1 - a e^{-j \omega}} \tag{1.5}

1.3 性质

X(ejω)=X(ej(ω+2πM))(1.6)X(e^{j \omega}) = X(e^{j (\omega + 2 \pi M)}) \tag{1.6}

设:FT[x1(n)]=X1(ejω),FT[x2(n)]=X2(ejω)则:FT[x1(n)+x2(n)]=X1(ejω)+X2(ejω)(1.7)\begin{aligned} &设:FT[x1(n)] = X1(e^{j \omega}),FT[x2(n)] = X2(e^{j \omega}) \\ &则:FT[x1(n) + x2(n)] = X1(e^{j \omega}) + X2(e^{j \omega}) \end{aligned} \tag{1.7}

时移:FT[x(nn0)]=ejωn0X(ejω)频移:FT[ejω0nx(n)=X(ej(ωω0)](1.8)\begin{aligned} &时移:FT[x(n-n_0)] = e^{-j \omega n_0} X(e^{j \omega}) \\ &频移:FT[e^{j \omega_0 n} x(n) = X(e^{j (\omega - \omega_0})] \end{aligned} \tag{1.8}

设:y(n)=x(n)h(n)则:Y(ejω)=X(ejω)H(ejω)(1.9)\begin{aligned} &设:y(n) = x(n) * h(n) \\ &则:Y(e^{j \omega}) = X(e^{j \omega})H(e^{j \omega}) \end{aligned} \tag{1.9}

设:y(n)=x(n)h(n)则:Y(ejω)=12πX(ejω)H(ejω)(1.10)\begin{aligned} &设:y(n) = x(n) h(n) \\ &则:Y(e^{j \omega}) = \frac{1}{2 \pi} X(e^{j \omega}) * H(e^{j \omega}) \end{aligned} \tag{1.10}

n=x(n)2=12πππX(ejω)2(1.11)\sum_{n=-\infin}^{\infin} |x(n)|^2 = \frac{1}{2 \pi} \int_{-\pi}^{\pi} |X(e^{j \omega})|^2 \tag{1.11}

1.4 序列傅里叶变换的对称性

设:z=x+yjz=rejω共轭复数:z=xyjz=rejω(1.12)\begin{aligned} &设:z = x + yj \qquad z = re^{j \omega}\\ &共轭复数:z^* = x - yj \qquad z^* = re^{-j \omega} \end{aligned} \tag{1.12}

FT[x(n)]=X(ejω)FT[x(n)]=X(ejω)FT[x(n)]=X(ejω)(1.13)\begin{aligned} FT[x(-n)] &= X(e^{-j \omega}) \\ FT[x^*(n)] &= X^*(e^{-j \omega}) \\ FT[x^*(-n)] &= X^*(e^{j \omega}) \end{aligned}\tag{1.13}



二、Z变换

2.1 定义

  由于序列傅里叶变换与连续傅里叶变换同样存在这成立条件,采用拉普拉斯的思路方案,可以将序列傅里叶变换的使用范围拓宽,这个就是Z变换。 z变换存在收敛域,就是a能不能存在。

  定义一个数 ana^{-n},可以驱使x(n)满足序列傅里叶变换的存在条件:

X(aejω)=n=x(n)anejωn(2.1)X(ae^{j \omega}) = \sum_{n=-\infin}^{\infin} x(n) a^{-n} e^{-j \omega n} \tag{2.1}

令:z=aejωz = ae^{j \omega}

X(z)=n=x(n)zn(2.2)X(z) = \sum_{n=-\infin}^{\infin} x(n) z^{-n} \tag{2.2}

2.2 序列分类

sequence type

因果序列是右边序列的一种;因果序列是物理上能实现的。

2.3 性质

  设Z[x(n)] = X(z),则 y(n)=anx(n)y(n) = a^n x(n)的z变换为:Y(z)=X(a1z)Y(z)=X(a^{-1}z)

Z[nx(n)]=zdX(z)dz(2.7)Z[nx(n)] = -z \frac{dX(z)}{dz} \tag{2.7}

x(0)=limzX(z)(2.8)\begin{aligned} x(0) = \lim_{z \rightarrow \infty} X(z) \tag{2.8} \end{aligned}

x()=limz1(1z)X(z)(2.9)\begin{aligned} x(\infty) = \lim_{z \rightarrow 1} (1 - z)X(z) \tag{2.9} \end{aligned}

三、z反变换

3.1 常用的z变换公式

z transformation fcn

3.2 z反变换

3.3 部分分式展开求解

  主要引用了:实指数的z变换;z变换的线性。

partial fraction expansiion

3.4 留数法

四、z变换解差分方程

五、z变换分析系统的频响特性

5.1 频率响应函数与系统函数

frequency response

5.2 系统频响特性

H(ejω)=H(ejω)ejϕ(ω)(5.2)H(e^{j \omega}) = |H(e^{j \omega})|e^{j \phi(\omega)} \tag{5.2}

幅频特性:H(ejω)|H(e^{j \omega})|
相频特性:ϕ(ω)\phi (\omega)

5.3 输入频率信号 x(n)=ejω0nx(n) = e^{j \omega_0 n}

y(n)=h(n)x(n)=m=h(m)x(nm)=m=h(m)ejω0(nm)=ejω0nm=h(m)ejω0m=ejω0nH(ejω0)=H(ejω0)ej(ϕ(ω0)+nω0)(5.3)\begin{aligned} y(n) &= h(n) * x(n) \\ &= \sum_{m=-\infin}^{\infin} h(m)x(n-m) \\ &= \sum_{m=-\infin}^{\infin} h(m) e^{j \omega_0 (n-m)} \\ &= e^{j \omega_0 n}\sum_{m=-\infin}^{\infin} h(m) e^{- j \omega_0 m} \\ &= e^{j \omega_0 n} H(e^{j \omega_0}) \\ &=|H(e^{j \omega_0})|e^{j (\phi(\omega_0) + n \omega_0)} \end{aligned} \tag{5.3}

5.4 几何法绘制响应特性图

六、系统函数极点分布与系统因果性、稳定性

6.1 系统函数:线性时不变系统

H(z)=Y(z)X(z)(6.1)H(z) = \frac{Y(z)}{X(z)} \tag{6.1}

6.2 系统因果性

6.3 系统稳定性

n=h(n)<(6.3)\sum_{n=-\infin}^{\infin} |h(n)| < \infin \tag{6.3}

  结论: H(z)收敛域包含单位圆。


第三章 离散傅里叶变换

一、定位

   用于计算机进行运算。

二、离散傅里叶变换定义

X(k)=n=0N1x(n)WNnk(2.1)X(k) = \sum_{n=0}^{N-1} x(n) W_N^{nk} \tag{2.1}

其中:N,DFT的变换区间长度;k,频率的编号。

WNnk=ej2πNnk(2.2)W_N^{nk} = e^{-j \frac{2 \pi}{N} n k} \tag{2.2}

根据序列傅里叶变换可知,离散傅里叶也是周期的,其结果就是在对序列傅里叶变换的结果进行抽样。

三、离散傅里叶级数

   根据傅里叶存在定理,周期序列不满足绝对可和条件,因此周期序列就不存频谱。 对于这个问题需要利用傅里叶级数来解决。

周期序列的傅里叶级数:

x~(k)=n=0N1x~(n)WNnk(3.1)\tilde{x}(k) = \sum_{n=0}^{N-1} \tilde{x}(n) W_N^{nk} \tag{3.1}

计算结果为傅里叶级数的系数。 N,为一个周期长度。

四、傅里叶变换总结

变换类型 特点 周期
连续傅里叶级数 时域连续,频域离散 时域
序列傅里叶 时域离散,频域连续 频域
离散傅里叶级数 时域离散,频域离散 频域
时域
离散傅里叶 时域离散,频域离散 \

结论:要想对频域进行离散采样,时域必须:1)周期;2)离散

五、周期延拓

   将求解离散傅里叶问题,转换为求解离散傅里叶级数问题。

六、离散傅里叶变换的性质

6.1 线性

DFT(ax1(n)+bx2(n))N=aX1(k)+bX2(k)(6.1)DFT(ax_1(n) + bx_2(n))_N = aX_1(k) + bX_2(k) \tag{6.1}

其中:x1(n),x2(n)x_1(n),x_2(n)为有限长序列;N >= max(N1,N2)

6.2 循环移位特性

y(n)=x((n+m))NRN(n)(6.2)y(n) = x((n + m))_N R_N(n) \tag{6.2}

  将 x(n)x(n) 进行周期延拓,得到 x~(n)\tilde{x}(n) ;然后将 x~(n)\tilde{x}(n) 向右移动 m 位,得到 x~(n+m)=x((n+m))N\tilde{x}(n + m) = x((n + m))_N;最后取出主值序列 y(n)y(n)其结果就是有限序列x(n)被循环重排列了。

Y(k)=DFT[y(n)]N=WNmkX(k)(6.3)Y(k) = DFT[y(n)]_N = W_N^{-mk} X(k) \tag{6.3}

IDFT[X~(k+l)NRN(k)]=WNnlx(n)(6.4)IDFT[\tilde{X}(k + l)_N R_N(k)] = W_N^{nl} x(n) \tag{6.4}

6.3 循环卷积

loop convolution
loop fcn

6.4 复共轭DFT

DFT[x(n)]N=X(Nk);0kN1X(N)=X(0);k=N(6.5)\begin{aligned} DFT[x^*(n)]_N &= X^*(N-k) ; 0 \le k \le N-1 \\ X(N) &= X(0) ; k = N \end{aligned} \tag{6.5}

6.5 DFT的共轭对称性

dft symmetry

   由于DFT变换后,X(k)满足共轭对称性,所以X(k)序列的模是对称分布的,计算结果就只用存一半就行。


第四章 FFT快速傅里叶变换

一、蝶形运算

bufferfly

二、倒叙算法

对于N点的DFT:

  1. 二进制编号的位数:M=log2(N)M = log_2 (N)
  2. 初始二进制全为0
  3. 二进制编号就是右边蝶形时域序列的输入点的编号
  4. 二进制编号加一,向着次高位进位,一直重置

三、旋转因子:WNkW_N^k

level 8


第五章 时域离散系统的网络结构

一、系统框图

1.1 表示

system diagram

1.2 系统图转系统函数

system diagram example

  1. 第一个节点假设为1,依次计算出主线的各个节点值
  2. 正向线路:计算 Y(z)=b0z2b1z1+b2Y(z) = b_0 z^{-2} - b_1 z^{-1} + b_2
  3. 反向线路:计算 1=X(z)+a1z1a0z21 = X(z) + a_1 z^{-1} - a_0 z^{-2}
  4. 系统函数:H(z)=b0z2b1z1+b21a1z1+a0z2H(z) = \frac{b_0 z^{-2} - b_1 z^{-1} + b_2}{1 - a_1 z^{-1} + a_0 z^{-2}}

二、信号流图

stream diagram
stream diagram advance


第六章 滤波器

一、模拟频率与数字频率

1.1 模拟信号

continue

1.2 数字信号

disperse

根据奈奎斯特采样定理:fs2f, ωπf_s \ge 2f, \ \omega \le \pi ;数字信号频率:π\pi 就对应着模拟信号的最高角频率。

二、滤波器分类

filters

三、典型低通滤波器

四、巴特沃斯低通滤波器

butterworth

  1. 计算N

    calculate N

  2. 查表

    butterworth1

    butterworth2

  3. 计算 Ωc\Omega_c

    omegac

  4. P=sΩcP = \frac{s}{\Omega_c} 计算得到 Ha(s)=Ga(P)H_a(s)=G_a(P)

五、数字滤波器分类

5.1 通道类型分类

根据奈奎斯特采样定理:fs2f, ωπf_s \ge 2f, \ \omega \le \pi ;数字信号频率:π\pi 就对应着模拟信号的最高角频率。

ideal filter

5.2 单位脉冲响应的长度分类

六、IIR滤波器的间接法设计

  1. 使用模拟滤波器的设计方法,设计出系统函数:Ha(s)H_a(s)
  2. Ha(s)H_a(s) 转换为 H(z)H(z)
    • 脉冲响应不变法 :高频会混叠,不能用于高通滤波器和带阻滤波器

      • s平面与z平面坐标对应关系:将Ω\Omega的一个2π2 \pi 区间映射到z平面

        sToz

        s=δ+jΩz=aejω根据ω=ΩTsz=esTs(6.1)\begin{aligned} s &= \delta + j \Omega \\ z &= a e^{j \omega} \\ 根据 \omega = \Omega T_s:z &= e^{sT_s} \end{aligned} \tag{6.1}

      • 极点变换

        hs to hz

        H(z)=i=1NTsAi1epkiTsz1(6.2)H(z) = \sum\limits_{i = 1}^{N} \frac{T_s A_i}{1 - e^{p_{ki}T_s} z^{-1}} \tag{6.2}

        注意: 1)模拟滤波器要化解为列项之和的形式(部分分式分解);2)分子乘以 TsT_s,防止采样频率过高,换算后的 H(z)H(z) 过大。

    • 双线性变换法

      • ω,Ω\omega , \Omega 之间的映射关系,转为单值映射

        double line

      • 替换H(s)中的s

七、高通滤波器

  高通转为低通进行设计:

high pass

   双线性法求解数字滤波器

八、带通滤波器

band pass

九、FIR滤波器

9.1 特点

y(n)=k=0N1bkx(nk)(9.1)y(n) = \sum\limits_{k=0}^{N-1} b_k x(n-k) \tag{9.1}

H(z)=k=0N1bkzk(9.2)H(z) = \sum\limits_{k=0}^{N-1} b_k z^{-k} \tag{9.2}

零点:k=0N1bkzk=0\sum\limits_{k=0}^{N-1} b_k z^{-k} = 0,有N-1个
极点:1=1+k=0N1akzk1 = 1 + \sum\limits_{k=0}^{N-1} a_k z^{-k},即极点zk=0z^{-k} = 0

   通过时域公式可知,FIR滤波器是因果的;极点在单位圆内。故FIR恒稳定。

9.2 分类

fir classification

十、FIR滤波器设计

10.1 通用公式

fir fcns

10.2 理想的FIR低通滤波器

ideal FIR

10.3 窗函数

frame fcn
frame fcns
frame selection