Power Spectral Density
对于一个特定的信号来说,有时域与频域两个表达形式,时域表现的是信号随时间的变化,频域表现的是信号在不同频率上的分量。在信号处理中,通常会对信号进行傅里叶变换得到该信号的频域表示,从而得到信号在频域上的特性,进而可以对该信号进行频域上的处理。不过对于随机过程这种不确定的信号是无法直接进行傅里叶转换的,那么是否就意味着我们无法知晓随机过程的频域特性呢?
对于随机过程,我们也是有办法得到其频域特性的,其频域特性可以用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 Density(PSD)。
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)$需要执行以下步骤
- 获取WSS process的多个realization,这些realization的有效范围为$(-T,T)$
- 对每个realization执行$\mathcal{F}\big\{ x_T(t)*x_{\overleftarrow{T}}(\tau) \big\}$以得到多个$|X_T(j\omega)|^2$
- 对这些$|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的更多相关文章
- Python power spectral 功率谱
You can also use scipy.signal.welch to estimate the power spectral density using Welch’s method. Her ...
- 【Duke-Image】Week_4 Image restoration
Chapter 5 Image Restoration and Reconstruction 图像复原与重建 5.1 A Model of the Image Defradation/Restorat ...
- 使用 FFT 进行频谱分析
下面的示例说明了如何使用 FFT 函数进行频谱分析.FFT 的一个常用场景是确定一个时域噪声信号的频率分量. 首先创建一些数据.假设是以 1000 Hz 的频率对数据进行的采样.首先为数据构造一条时间 ...
- matplotlib.mlab库的重要函数
连接地址 matplotlib.mlab¶ 与 MATLAB兼容的函数 MATLAB compatible functions¶ cohere() Coherence (normalized cros ...
- Modeling Filters and Whitening Filters
Colored and White Process White Process White Process,又称为White Noise(白噪声),其中white来源于白光,寓意着PSD的平坦分布,w ...
- PSD的单位及计算方法[转]
功率谱密度(PSD)的国际单位 功率谱密度(PSD),单位为:unit^2/Hz代表单位频率上信号的能量,所以是密度谱,幅值代表频段内的有效值平方. 如果是加速度功率谱密度,加速度的单位是m/s^ ...
- spectrogram函数做短时傅里叶分析
整理自:http://blog.sina.com.cn/s/blog_6163bdeb0102dwfw.html 今天偶人发现原来matlab自带了短时傅里叶变换的分析函数,老版本的matlab是sp ...
- 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 ...
- matplot模块中的pylab
pylab的目的 Pylab combines the functionality of pyplot with the capabilities of NumPy in a single names ...
随机推荐
- span<T>之高性能字符串操作实测
.net中的字符串操作性能问题由来已久,幸运的是微软推出了span<T>高性能指针操作封装工具类.这个类到底有多高的性能呢?网上传言反正很高,但是实际上在网上很难找到合适的测试实例,这让本 ...
- Python 学习 第十五篇:模块搜索路径和包导入
在导入自定义的模块时,除了指定模块名之外,也需要指定目录,由于Python把目录称作包,因此,这类导入被称为包导入.包导入把计算机上的目录变成Python的命名空间,而目录中所包含的子目录和模块文件则 ...
- .NetCore 资料分享
.NetCore3.0 你还不打算入手么? 这次主要是推荐一些自己学习中遇到的一些好的资料和自己的看法( 我推荐的都是我看过的 Asp.Net Core 不做介绍了,直接分享资料了 资料: .NetC ...
- 朱晔的互联网架构实践心得S2E3:品味Kubernetes的设计理念
Kubernetes(k8s)是一款开源的优秀的容器编排调度系统,其本身也是一款分布式应用程序.虽然本系列文章讨论的是互联网架构,但是k8s的一些设计理念非常值得深思和借鉴,本人并非运维专家,本文尝试 ...
- ASP.NET Core 和 ASP.NET Framework 共享 Identity 身份验证
.NET Core 已经热了好一阵子,1.1版本发布后其可用性也越来越高,开源.组件化.跨平台.性能优秀.社区活跃等等标签再加上"微软爸爸"主推和大力支持,尽管现阶段对比.net ...
- Ubuntu 18.04 根目录为啥只有 4G 大小
其实准确点儿的描述应该是:Ubuntu Server 18.04 ,设置 LVM,安装完成后根目录的容量为什么只有 4G?只有 Server 版有问题,Desktop 版没有问题,Ubuntu 16. ...
- 【内存溢出】Maven编译时内存溢出的问题解决方式
原文地址:https://www.cnblogs.com/sunny3096/p/7524635.html 编译源码时报出java.lang.OutOfMemoryError: Java heap s ...
- Go源码编译安装
参考文档1:https://www.cnblogs.com/majianguo/p/7258975.html 参考文档2:http://www.loongson.cn/news/company/456 ...
- Python学习之赋值列表
# the program aim to differentiate the defference of a=b or a=b[:] my_fruits=["apple",&quo ...
- anaconda安装win10
注意事项: 1.下载安装,双选勾勾 2.安装python3.5的版本 conda create -n tensorflow python=3.5 3.激活环境activate tensorflow 4 ...