对于一个特定的信号来说,有时域与频域两个表达形式,时域表现的是信号随时间的变化,频域表现的是信号在不同频率上的分量。在信号处理中,通常会对信号进行傅里叶变换得到该信号的频域表示,从而得到信号在频域上的特性,进而可以对该信号进行频域上的处理。不过对于随机过程这种不确定的信号是无法直接进行傅里叶转换的,那么是否就意味着我们无法知晓随机过程的频域特性呢?

对于随机过程,我们也是有办法得到其频域特性的,其频域特性可以用PSD来表达。我们下面将讨论WSS Process的PSD是如何表达出其频域特性的。

Definition

如果把随机过程$x(t)$看作是单位电阻上的电压,那么$x^2(t)$则表示的是瞬时功率(能量)。当$x(t)$是WSS时,$x(t)$的瞬时功率期望$E[x^2(t)]$是固定值,期望值为

$\begin{align*}E[x^2(t)] = R_{xx}(0)
&= \mathcal{F}^{-1}\{S_{xx}(j\omega)\}(0)\\
&= \frac{1}{2\pi}\int_{-\infty}^{\infty}S_{xx}(j\omega)e^{j\omega 0}d\omega\\
&= \frac{1}{2\pi}\int_{-\infty}^{\infty}S_{xx}(j\omega)d\omega
\end{align*}$

其中随机变量的correlation,即$R_{xx}(\tau)$,是一个固定函数,因此它具有傅里叶变换$S_{xx}(j\omega)$,$\omega$就是频率。对于这个式子,我们可以这么理解:$S_{xx}(j\omega)$表示了功率(能量)期望值$E[x^2(t)]$在频域上的分布状况,宽度为$d\omega$的频率所蕴含的能量大小为$\frac{1}{2\pi}S_{xx}(j\omega)dw$。在所有的$\omega$上都有$S_{xx}(j\omega)>0$。

因此$S_{xx}(j\omega)$被称为Power Spectral DensityPSD)。

WSS Process Spectral Processing

通过PSD我们可以得到随机过程的频域特性,而获得频域特性的目的是为了对信号进行频域处理而服务的,接下来就需要验证这个频域特性是否满足频域处理的需求。

考虑WSS Process通过一个理想带通滤波器,得到的输出为$y(t)$,该输出process的瞬时功率期望为

$\displaystyle{E[y^2(t)] = R_{yy}(0) = \frac{1}{2\pi}\int_{-\infty}^{\infty}S_{yy}(j\omega)dw}$

带通滤波器系统如下

带通滤波器$H(j\omega)$为实LTI系统,也就是说$H(j\omega)$是左右对称的,因此可以知道该带通滤波器在频域上有如下频谱

此外,在上一篇文章中我们讨论过WSS Process在经过LTI系统后所得的process的PSD为$S_{yy}(j\omega) = S_{xx}(j\omega)|H(j\omega)|^2$。因此$y(t)$的PSD如下图

可见对WSS Process进行频域上的处理是能体现在PSD上的,这表明PSD确实能表现出WSS Process的频域特性。而PSD是auto-correlation的傅里叶变换,这表明了一个WSS Process的频域特性只与不同采样点之间的相关性有关系,跟采样点的内部PDF无关。

How to get PSD

这一小节通过Einstein-Wiener-Khinchin Theorem来引入获取PSD的方法。

假设有一WSS Process,它的一个realization为$x(t)$,我们给这个realization加上一个宽度为$2T$的窗以得到$x_T(t)$

$x_T(t) = w_T(t)x(t)$

$x(t)$是实信号,那么根据傅里叶变换的共轭性质,可以得到

$\begin{align*} x_T(\tau)&\stackrel{\mathcal{F}}{\longleftrightarrow}X_T(j\omega)\\
x_{\overleftarrow{T}}(\tau) = x_T(-\tau)&\stackrel{\mathcal{F}}{\longleftrightarrow}X_T^*(j\omega) \end{align*}$

因此有

$\color{red}{x_T(\tau)*x_{\overleftarrow{T}}(\tau)}\stackrel{\mathcal{F}}{\longleftrightarrow}\color{blue}{|X_T(j\omega)|^2}$

$x(t)$是WSS process的一个realization,不过如果我们把它当作该WSS process,就可以对上述式子的两边都求期望,其中左边为

$\color{red}{\begin{align*}
E\Big\{x_T(\tau)*x_{\overleftarrow{T}}(\tau)\Big\}
&= E\left\{\int_{-\infty}^{\infty}x_T(\alpha)x_{\overleftarrow{T}}(\tau-\alpha)d\alpha\right\}\\
&= E\left\{\int_{-\infty}^{\infty}x_T(\alpha)x_T(\alpha-\tau)d\alpha\right\}\\
&= E\left\{\int_{-\infty}^{\infty}w_T(\alpha)x(\alpha)w_T(\alpha-\tau)x(\alpha-\tau)d\alpha\right\}\\
&= \int_{-\infty}^{\infty}E\Big\{x(\alpha)x(\alpha-\tau)\Big\}\cdot w_T(\alpha)w_T(\alpha-\tau)d\alpha\\
&= \int_{-\infty}^{\infty}R_{xx}(\tau)\cdot w_T(\alpha)w_T(\alpha-\tau)d\alpha\\
&= R_{xx}(\tau)\cdot 2T\Lambda(\tau)
\end{align*}}$

$\Lambda(\tau)$是一个三角形函数,顶点为$(0,1),(-T,0),(T,0)$,极限情况下有$\displaystyle{\lim_{T\to\infty}\Lambda(\tau)=1}$

时域与频域都乘以$\frac{1}{2T}$,可以得到

$\displaystyle{\color{red}{R_{xx}(\tau)\Lambda(\tau)} \stackrel{\mathcal{F}}{\longleftrightarrow} \color{blue}{\frac{1}{2T}E\big[|X_T(j\omega)|^2\big]}}$

此时令$T\to\infty$,左边就只剩下$R_{xx}(\tau)$,它的傅里叶变换就是$S_{xx}(j\omega)$,因此得到

$\displaystyle{\color{red}{R_{xx}(\tau)} \stackrel{\mathcal{F}}{\longleftrightarrow}\color{blue}{S_{xx}(j\omega)=\lim_{T\to\infty} \frac{1}{2T}E\big[|X_T(j\omega)|^2\big]}}$

上面的式子可以这样解释:为了得到$S_{xx}(j\omega)$需要执行以下步骤

  1. 获取WSS process的多个realization,这些realization的有效范围为$(-T,T)$
  2. 对每个realization执行$\mathcal{F}\big\{ x_T(t)*x_{\overleftarrow{T}}(\tau) \big\}$以得到多个$|X_T(j\omega)|^2$
  3. 对这些$|X_T(j\omega)|^2$求平均,然后再乘以$\frac{1}{2T}$,就能得到$S_{xx}(j\omega)$

※realization的数量越多,$T$的范围越大,最终得到的$S_{xx}(j\omega)$就会越精确。

Reference:

Alan V. Oppenheim: Signals, Systems and Inference, Chapter 10:Power Spectral Density

Power Spectral Density的更多相关文章

  1. Python power spectral 功率谱

    You can also use scipy.signal.welch to estimate the power spectral density using Welch’s method. Her ...

  2. 【Duke-Image】Week_4 Image restoration

    Chapter 5 Image Restoration and Reconstruction 图像复原与重建 5.1 A Model of the Image Defradation/Restorat ...

  3. 使用 FFT 进行频谱分析

    下面的示例说明了如何使用 FFT 函数进行频谱分析.FFT 的一个常用场景是确定一个时域噪声信号的频率分量. 首先创建一些数据.假设是以 1000 Hz 的频率对数据进行的采样.首先为数据构造一条时间 ...

  4. matplotlib.mlab库的重要函数

    连接地址 matplotlib.mlab¶ 与 MATLAB兼容的函数 MATLAB compatible functions¶ cohere() Coherence (normalized cros ...

  5. Modeling Filters and Whitening Filters

    Colored and White Process White Process White Process,又称为White Noise(白噪声),其中white来源于白光,寓意着PSD的平坦分布,w ...

  6. PSD的单位及计算方法[转]

      功率谱密度(PSD)的国际单位 功率谱密度(PSD),单位为:unit^2/Hz代表单位频率上信号的能量,所以是密度谱,幅值代表频段内的有效值平方. 如果是加速度功率谱密度,加速度的单位是m/s^ ...

  7. spectrogram函数做短时傅里叶分析

    整理自:http://blog.sina.com.cn/s/blog_6163bdeb0102dwfw.html 今天偶人发现原来matlab自带了短时傅里叶变换的分析函数,老版本的matlab是sp ...

  8. WLAN 802.11 a/b/g PHY Specification and EDVT Measurement III

    Transmit Rated Emission (FCC) AC power conducted emission.-FCC 15.207 Minimum 6 dB bandwidth. -500kH ...

  9. matplot模块中的pylab

    pylab的目的 Pylab combines the functionality of pyplot with the capabilities of NumPy in a single names ...

随机推荐

  1. Generative Adversarial Nets[Improved GAN]

    0.背景 Tim Salimans等人认为之前的GANs虽然可以生成很好的样本,然而训练GAN本质是找到一个基于连续的,高维参数空间上的非凸游戏上的纳什平衡.然而不幸的是,寻找纳什平衡是一个十分困难的 ...

  2. A2D Framework - 看如何精简业务逻辑 - 缓存子系统

    A2D中一项功能是关于Cache的,能够将判断.获取.删除cache的代码缩减到最少量,如下是Order业务逻辑的demo示范: interface IOrder { [Cachable()] str ...

  3. spark 2.3 导致driver OOM的一个SparkPlanGraphWrapper源码的bug

    背景 长话短说,我们部门一个同事找到我,说他的spark 2.3 structured streaming程序频繁报OOM,从来没有坚持过超过三四天的,叫帮看一下. 这种事情一般我是不愿意看的,因为大 ...

  4. Python遇到问题总结

    1.list的集合 循环删除一个list数据时,会遇到一丢丢问题,详情看Python的list循环遍历中,删除数据的正确方法 但是,里面说的要反转一下list集合,可以用a[::-1]这种方法. &g ...

  5. JS 深拷贝和浅拷贝概念,以及实现深拷贝的三种方式

    一.理解堆栈,基本数据类型与引用数据类型 1.堆栈 栈(stack):系统自动分配的内存空间,内存会由系统自动释放,用来存放函数的参数值,局部变量的值等,特点是先进后出. 堆(heap):系统动态分配 ...

  6. 自定义threading.local

    1.threading相关. # Author:Jesi # Time : 2018/12/28 14:21 import threading import time from threading i ...

  7. JavaScript实现文字跑马灯

    其实实现文字的跑马灯和实现图片轮播的原理是一样的. 下面是我自己实现的,文字的位置可以随便更改,效果不会变,文字的内容可以通过ajax获取,同时,可以直接用Jquery改写一下,很方便. <!D ...

  8. MySQL 高可用性—keepalived+mysql双主

    MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释) - 我的博客 - CSDN博客https://blog.csdn.net/qq_36276335/articl ...

  9. 给网站配置免费的HTTS证书

    取经自思否:https://segmentfault.com/a/1190000015231137 https 的网站 搜索引擎 会优先收录,所以就抽时间记录下配置博客的过程,各种找资料,终于给我找到 ...

  10. python爬虫之scrapy的pipeline的使用

    scrapy的pipeline是一个非常重要的模块,主要作用是将return的items写入到数据库.文件等持久化模块,下面我们就简单的了解一下pipelines的用法. 案例一: items池 cl ...