数字信号处理

实验

见 octave

基础

系统分类(见 信号与系统基础):

Rk(n)R_k(n) 为 [0,k)[0,k) 上的全 1 序列

周期性:对采样后信号求2πω\displaystyle \frac{2\pi}\omega,分为三种情况判断:整数,整分式,无理。

离散线性卷积,结果长度为 N1+N2−1N_1+N_2-1

采样

ω\omega 为数字角频率,Ω\Omega 为模拟角频率;ωn,Ωt\omega n, \Omega t

Ω=2πf\Omega = 2\pi f

T0T_0 为原周期,TT 为采样周期;下标h_h是截止频率,s_s为 sampling.(事实上下标有很多种,没有一一对应关系,例如后面会用 st_{st}表示截止)

时域采样后,频域被周期延拓了。

z 变换

参考信号与系统 - z 变换

与 s 的关系:z=esT\displaystyle z=e^{sT}

收敛域:满足 ∑n=−∞+∞∣h(n)z−n∣<∞\displaystyle \sum_{n=-\infty}^{+\infty}|h(n)z^{-n}|<\infty 的 z 值区间。注意判明 0 处和 ∞ 处的值是否能取到。

反变换

  1. 部分分式法,就是信号与系统学的方法。
  2. 长除法,也需要判断收敛域(决定长除的延伸方向),然后进行多项式的硬除。

频率响应与滤波器

群延迟:某一个角频率 W1 的群延迟是在 W1 上的相频曲线的切线斜率 *-1. grd(ω)=−dθ(ω)dω\displaystyle grd(\omega)=-\frac{d\theta(\omega)}{d\omega}

H(ejω)=A⋅ejω(N−M)∏Mejω−cr∏Nejω−dr\displaystyle H(e^{j\omega})=A\cdot e^{j\omega(N-M)}\frac{\prod^M e^{j\omega}-c_r}{\prod^N e^{j\omega}-d_r} ,c 零 d 极

归一化:滤波器最大值设为 1 实系数:极点与零点最好关于 x 轴对称 因果性:零点个数不要大于极点个数,在原点补极点

在单位圆上转一圈,频率走完 fsf_s

FT

时域周期,频域离散。

时域离散,频域周期,周期为 Ωs=2πfs\Omega_s=2\pi f_s,幅度变为 1T\frac1T

谱密度函数即为单周期内的频域连续函数

DTFT

DFS

时域、频域均为离散周期,时域周期为 T0T_0,间隔为 T;频域周期为 fsf_s,间隔为 F0F_0,fs=1Tf_s=\frac{1}{T}

定义式、性质只需要用 ω=2πkN\displaystyle \omega=\frac{2\pi}{k}N 代入 (I)DTFT 即可。

DFS:X~(k)=∑n=0N−1x~(n)e−j2πNkn\displaystyle \widetilde X(k)=\sum_{n=0}^{N-1}\widetilde x(n)e^{-j\frac{2\pi}Nkn}

助记符:旋转因子 Wn=e−j2πN\displaystyle W_n=e^{-j\frac{2\pi}N}

DFT

DFT:在 DFS 基础上只取主值,X(k)=∑n=0N−1x(n)WNnk,x(n)=1N∑n=0N−1X(k)W−nk\displaystyle X(k)=\sum_{n=0}^{N-1}x(n)W_N^{nk}, x(n)=\frac{1}{N}\sum_{n=0}^{N-1}X(k)W^{-nk}

圆周移位很简单,不解释。求圆周卷积:先求线性卷积,再求圆周移位(混叠)。

DFT[x((n+m))N]=WN−kmX(k)\displaystyle DFT[x((n+m))_N]=W^{-km}_NX(k)

DFT[RN(n)]=Nδ(k)DFT[R_N(n)]=N\delta(k)(直流分量,重要!)

实部 DFT 得到(圆周)共轭对称的频谱;频谱实部 IDFT 得到(圆周)共轭对称的时域谱

圆周卷积的主值 N >= 线性卷积的长度,则两者相等;否则混叠。

长序列 DFT

指的是一个长序列和一个短序列 DFT。

一般考点是在这两个方法下,FFT 的次数。注意重叠保留法次数 >= 重叠相加法(需要加上短序列长度再除 FFT 长度)。

频域采样定理

当频域采样点数 >= 时域序列长度时才能不失真。

内插函数。

FFT

传统方法:复乘 N2N^2 次,复加 N(N-1) 次。

基-2-FFT:复乘 N2log2N\frac{N}{2}log_2N,复加 2x 复乘

滤波器

IIR:∑i=0Mbiz−i1−∑i=1Naiz−i\displaystyle\frac{\sum^M_{i=0}b_iz^{-i}}{1-\sum^N_{i=1}a_iz^{-i}}, aia_i 至少有一个不为 0

FIR:没有极点,只有 IIR 的分子部分

线性相位:H(ejω)=∣H(ejω)∣e−jωα\displaystyle H(e^{j\omega})=|H(e^{j\omega})|e^{-j\omega\alpha}

设计巴特沃斯低通滤波器:算出阶数查表即可。公式不用背。具体的:

  1. 转换技术指标,例如高通指标需要求倒数
  2. 由公式算出N,ΩCN,\Omega_C
  3. 查表得H(p)H(p)
  4. 代入求 Ha(s)H_a(s)

FIR 滤波器的差分方程就是线性卷积表达式。直接写成 x(n)=∑k=0Nh(k)x(n−k)x(n)=\sum_{k=0}^{N}h(k)x(n-k) 即可。

IIR 设计

数字指标 ->(T=1,预畸)-> 模拟指标

脉冲响应不变法

会混叠,只能用于低通或带通。

H(s)=∑Ais−si→H(z)=∑TAi1−esiTz−1\displaystyle H(s)=\sum \frac{A_i}{s-s_i} \rightarrow H(z)=\sum\frac{TA_i}{1-e^{s_iT}z^{-1}}

T 的选取:Ωst<Ωs2,T<2πΩs\displaystyle \Omega_{st}<\frac{\Omega_s}2,T<\frac{2\pi}{\Omega_s}

双线性变换法

预畸:Ω0=2T⋅tanω02\displaystyle \Omega_0=\frac2T\cdot tan\frac{\omega_0}{2}

s=2T⋅1−z−11+z−1\displaystyle s=\frac2T\cdot\frac{1-z^{-1}}{1+z^{-1}}

FIR 设计

例子:学习通视频第二个末尾

线性相位的要求:

讨论 h(n)h(n) 偶对称的情况(一类):

讨论 h(n)h(n) 奇对称的情况(二类):

线性相位最小群延迟即为 τ\tau,N = 零点个数 + 1

如果 ω=π\omega=\pi 需要有值(高通、带阻),则 N 必须为奇数。

/ h(n)偶对称,奇数个点 h(n)偶对称,偶数个点 h(n)奇对称,奇数个点 h(n) 奇对称,偶数个点
低通滤波器 √ √ × ×
带通滤波器 √ √ √ √
高通滤波器 √ × × √
带阻滤波器 √ × × ×

设计

窗函数设计法:

  1. 求指标
  2. 由 αs\alpha_s 查表得窗类型和 N 值
  3. 求 hd(n)=sin(ωc(n−τ))π(n−τ),τ=N−12\displaystyle h_d(n)=\frac{sin(\omega_c(n-\tau))}{\pi(n-\tau)}, \tau=\frac{N-1}2
  4. h(n)=hd(n)w(n)RN(n)h(n)=h_d(n)w(n)R_N(n)

采样