数字信号处理·变换之章

[toc]

你说得对,但是《数字信号处理》是电子信息工程学院独立开设的一门核心专业课,课程发生在一个被称作D221的幻想世界,在这里,被神选中的序列将被授予“傅里叶变换”,导引频域分解之力。玩家将扮演一位名为“DSP”的神秘角色,在自由的系统中邂逅性格各异、能力独特的信号们,和他们一起分析频谱,找回失散的频段——同时,逐步发掘“线性系统”的真相。

第二章:离散时间信号与系统

离数时间序列

序列的表示方式略。

序列的分类

有限长度/无限长度序列、左/右/双边序列、因果/非因果序列、实/复数序列的定义很显然,就是字面意思,略。

  • 周期序列和非周期序列

    周期序列的定义: \[ \exists N\neq 0\ \forall n\ x[n]=x[n+N] \] 满足上面式子的序列称为周期序列,否则称为非周期序列。需要提醒的是:如果一个序列满足上面的式子,它一定是无限长的双边序列,也就是\(n\)从负无穷取遍正无穷。例如:\(x[n]=\sin (\pi n/5)\)是周期序列,但\(x[n]=u[n]\sin(\pi n/5)\)不是周期序列。

  • 能量序列和功率序列

    如果对序列\(x[n]\)有: \[ E=\sum_{n=-\infty}^{\infty}\lvert x[n]\rvert^2<\infty \] 称该序列为能量有限序列,简称能量序列。对于能量无限序列,如果另有: \[ P=\lim_{N\to \infty}\frac{1}{2N+1}\sum_{n=-N}^N \lvert x[n] \rvert ^2<\infty \] 则称该序列为功率有限序列,简称功率序列。需要注意的是:周期序列一般来说都是功率序列。周期序列的功率为: \[ P=\lim_{N\to \infty} \frac{1}{N} \sum_{n=n}^{N-1}\lvert x[n]\rvert^2 \]

常见序列

矩形序列、脉冲序列、阶跃序列、实指数序列略。

  • 复指数序列

    对于指数序列 \[ x[n]=A\alpha^n \] 如果\(A,\alpha\)是复数,那么这个序列是复指数序列。若有\(A=|A|\angle \varphi,\alpha=|\alpha|\angle \omega_0\),则复指数序列也可以表示成: \[ x[n]=|A||\alpha|^n\exp [j(\omega_0n+\varphi)] \] 复指数序列表现为一列不断收缩或者扩张的螺旋。特别地,当\(|\alpha|=1\)时,复指数序列的幅值保持不变。此时,如果满足 \[ \frac {\omega_0}{2N}\in \mathbb Q \] 则复指数序列是周期序列。其周期为: \[ N=\frac{2\pi m}{\omega_0}\in \mathbb Z^+ \] 其中\(m\)是能让\(N\)成为正整数的整数。

    【例】计算以下序列的最小正周期: \[ x[n]=e^{j\frac {6\pi}{31}n} \] 【解】由于 \[ N=\frac{2\pi m}{\omega}=\frac{31}{3}m \]\(m=3\),得最小正周期为\(N=31\)

    无论复指数序列是不是周期序列,\(\omega_0\)都称作这个序列的数字频率。对于连续时间信号来说,频率越大,信号震荡得越快。但是对于复指数序列来说,\(\omega_0\)\(0\)增加到\(\pi\)时,振荡得越来越快;从\(\pi\)增加到\(2\pi\)时,振荡得越来越慢,并且以\(2\pi\)为周期。

    这初看有些不好理解,但是实际上是因为复指数序列是离散时间序列,时间最细的粒度是\(1\)(不同于连续时间序列的时间定义在连续统上,时间最细的粒度是无穷小)。复指数序列振荡最快的情形,可以想象这样的序列: \[ x[n]=Ae^{j\pi n} \] 也就是\(x[n]=A(-1)^n\),它振荡得再快,也就是每过1个时间变一下符号而已嘛。

    \(\omega_0>0\)时,表示在复平面内逆时针旋转,否则为顺时针旋转。

离散时间系统

和连续时间系统的理论差不多,有线性、时不变、因果、记忆、稳定等等。

对于线性时不变[1]系统,同样可以用卷积表示。即:如果线性时不变系统的单位脉冲响应是\(h[n]\),对于任意输入序列\(x[n]\),有响应: \[ y[n]=\sum_{k=-\infty}^\infty x[k]h[n-k]=x[n]*h[n] \]

卷积有交换律、结合律,对加法有左分配律。

LTI系统是因果系统等价于其单位脉冲响应是因果序列。

LTI系统稳定等价于其单位脉冲响应绝对可和,即: \[ S=\sum_{k=-\infty}^\infty \lvert h[k] \rvert < \infty \]

  • 线性常系数差分方程

    差分方程的概念、表示方法和解法略,在之前的“Z变换”一文中有说明。

    线性系统的输入序列\(x[n]\equiv 0\)时,有输出序列\(y[n]\equiv 0\)。这个结论是显然成立的:如果对于\(x[n]\equiv 0\)的输出不全为零的话,设\(a[n]\)单独输入时的输出为\(b[n]\),那么对于\(a[n]+x[n]\)的输入,输出将为\(b[n]+y[n]\),可是\(a[n]+x[n]=a[n]\)呀,\(y[n]\)不全为零,那么系统对于同样的输入不就有两个不同输出了吗?这显然是荒诞的。

    【例】对于下列方程描述的系统: \[ y[n]-ay[n-1]=x[n] \] 初始条件为\(y[-1]=1\),那么这是线性系统吗?

    【解】对于全零输入,其输出序列为\(y[n]=a^{n+1}\),不全为零,因此不是线性系统。

    这道例题说明:不是一切用常系数线性差分方程表示的系统都是线性系统,更不用说线性时不变了。事实上,如果要系统是因果的LTI系统,必须要满足“初始松弛”的条件,也就是初始状态为零。

DTFT、DFS和Z变换

离散时间傅里叶变换(DTFT)

首先,我们可以回忆一下连续时间信号的傅里叶变换: \[ \begin{align} X(j\Omega)=\int_{-\infty}^\infty x(t)e^{-j\Omega t}\mathbf dt\\ x(t)=\frac{1}{2\pi}\int_{-\infty}^\infty X(j\Omega)e^{j\Omega t}\mathbf d\Omega \end{align} \]

DTFT的定义

和连续时间傅里叶变换类似,DTFT是要把序列\(x[n]\)表示序列\(e^{j\omega n }\mathbf d\omega\)的线性组合: \[ x[n]=\frac{1}{2\pi}\int_{-\infty}^\infty X(e^{j\omega})e^{j\omega n}d\omega \] 则权函数可以表示为: \[ X(e^{j\omega})=\sum_{n=-\infty}^\infty x[n]e^{-j\omega n} \] 这就是离散时间傅里叶变换的性质。需要强调的是:\(X(e^{j\omega})\)\(\omega\)的连续函数,称为频谱密度函数。它是周期为\(2\pi\)的周期函数。

DTFT的性质和相关定理

假如\(x[n]\)的DTFT是\(X(e^{j\omega})\),那么

  1. 线性

  2. 时域移位性质: \[ x[n-n_d]\to e^{j\omega n_d}X(e^{j\omega}) \] 时域移位不会影响幅度频谱,但会引起相位频谱的线性变化,其斜率为\(-n_d\)

  3. 频域移位性质: \[ e^{j\omega_0n}\to X(e^{j(\omega-\omega_0)}) \]

  4. 时间倒置性质: \[ x[-n]=X(e^{-j\omega}) \]

  5. 频域微分性质: \[ nx[n]\to j\frac{d X}{d\omega} \]

  6. 共轭性质: \[ x^*[n]\to X^*(e^{-j\omega}) \]

  7. 时、频域卷积,帕塞瓦尔定理。

DTFT的对称性

对于一个序列\(x[n]\),有其共轭逆序序列\(x^*[-n]\),利用这个序列,我们可以把原序列分解[2]成共轭对称序列和共轭反对称序列,即: \[ \begin{align} x_e[n]=\frac 12(x[n]+x^*[-n])\\ x_o[n]=\frac 12(x[n]-x^*[-n]) \end{align} \] 同样,对于连续函数(当然这里说的连续函数就是\(X(e^{j\omega})\),也可以按照类似的方法进行分解。

共轭对称序列\(x_e[n]\)的实部偶对称,虚部奇对称;共轭反对称序列\(x_o[n]\)的实部奇对称,虚部偶对称。

利用“共轭性质”,“线性性质”,有: \[ \begin{align} x_{Re}[n]\to X_e(e^{j\omega})\\ jx_{Im}[n]\to X_o(e^{j\omega})\\ x_e[n]\to X_{Re}(e^{j\omega})\\ x_o[n]\to jX_{Im}(e^{j\omega}) \end{align} \] 由第一个式子,可以看出:实序列的DTFT幅度谱是偶函数,相位谱是奇函数。

离散傅里叶级数(DFS)

DFS就是把DTFT里面的\(\omega\)换成\(2\pi k/N\),其中\(N\)是原序列的周期,\(k\)是变换后得到的权序列的自变量。

Z变换

没啥好说的这个,上学期都学过了。

首先要注意的就是,\(X(z)\)本质上来说还是个幂级数,以原序列为系数,即: \[ X(z)=\sum_{n=-\infty}^{\infty}x[n]z^{-n} \] 在分析某些问题时,这种思维会很有用。


  1. 需要注意的是,我们平常做题见到的很多系统都不是线性时不变系统。例如:如果进行了压扩变换,那么系统往往是时变的。我们平常所进行的“调幅”(即频率搬移)乘以一个(),由于产生了新的频率分量,也不是线性时不变的。 ↩︎
  2. 为什么说“分解”呢?因为(x[n]=x_e[n]+x_o[n])显然成立。 ↩︎

数字信号处理·变换之章
https://suzumiyaakizuki.github.io/2022/10/26/数字信号处理前四章笔记/
作者
SuzumiyaAkizuki
发布于
2022年10月26日
许可协议