Colored and White Process

White Process

White Process,又称为White Noise(白噪声),其中white来源于白光,寓意着PSD的平坦分布,white noise指的就是在PSD上具有平坦分布(常数)的随机过程。PSD是auto-correlation的傅里叶变换,PSD上为常数意味着auto-correlation是一个位于零点上的脉冲函数。

回顾auto-correlation的定义:

$R_{xx}(\tau) = E\Big\{x(t+\tau)x(t)\Big\}$

Auto-correlation在零点上为脉冲,除此之外都是0,这表明了各个采样点之间是相互独立的,正是由于各采样点之间相互独立,才体现出了white noise的white这一特点

理想的White noise要求PSD是一个常数,不过由于传输媒介以及有限的监测能力的关系,通常我们所得到的PSD都受限于某个带宽范围之内,因此如果一个process的PSD在监测范围(或者我们所感兴趣的频率范围)表现得平坦的话,就可以称该process为white noise。比如,如果一个音频的PSD在20~20000Hz内表现平坦的话,我们就可以称该音频为white noise。

i.i.d. process就是一个最简单white noise的例子。i.i.d. process中样本的PDF常见的有Uniform、Poisson、Gaussian等分布方式,如果PDF为Gaussian,则该process称为Gaussian white noise。

Colored Process

PSD表现得平坦的就是white noise,否则就是colored process。

Modeling Filter

输入为white process,输出为colored process的LTI系统被称为Modeling filter或者shaping filter。如果我们需要某个PSD为$S_{xx}(e^{j\Omega})$的process,可以通过设计一个LTI系统,并且对该系统输入mean为0的Bernoulli process(PSD为常数1)来得到,所设计的系统需要使得输出的process的PSD为$S_{xx}(e^{j\Omega})$。根据WSS Process在LTI系统中的性质,有

$\displaystyle{ H(e^{j\Omega}) = \sqrt{S_{xx}(e^{j\Omega})} }$

我们只需要对$H(e^{j\Omega})$进行傅里叶逆变换就可以得到所需LTI系统的脉冲响应$h[n]$。

其中也可能会出现一些特殊情况,比如说所需要的process的PSD,即$S_{xx}(e^{j\Omega})$中包含脉冲,这些情况下,PSD可以表示为脉冲PSD与非脉冲PSD之和,由于傅里叶变换的线性性质,LTI系统的脉冲响应最终也可以表示为脉冲PSD的脉冲响应与非脉冲PSD的脉冲响应之和。非脉冲PSD可以按照上面的步骤求解,而脉冲PSD主要分为两种情况:

  • 脉冲在零点。那么脉冲PSD的脉冲响应是一个常数,该常数的大小与脉冲PSD的大小有关。
  • 脉冲在$\Omega = \pm \Omega_0\neq 0$上。那么脉冲PSD的脉冲响应是一个余弦函数$Acos(\Omega_0 n+\Theta)$,其中$A$以及$\Theta$都与脉冲PSD的大小有关。

※这一段只是计算时需要,不算理解时的重点,如想加深了解,请参考常用序列的DTFT

Whitening Filter

输入为colored process,输出为white process的LTI系统被称为Whitening filter。如下系统框图:

输入process为$x[n]$,其PSD为$\displaystyle{S_{xx}(e^{j\Omega}) = \mathcal{F}R_{xx}[m]}$,输出为白噪声,该白噪声的variance为$\sigma_{w}^2$,mean为0。

那么根据WSS Process在LTI系统中的性质,有

$\displaystyle{S_{ww}(e^{j\Omega}) = |H(e^{j\Omega})|^2S_{xx}(e^{j\Omega})}$

进一步可以推导出(详情请查看Reference的第二条链接)

$\displaystyle{|H(e^{j\Omega})|^2 = \frac{\sigma_w^2}{S_{xx}(e^{j\Omega})}}$

Reference:

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

Where does the delta function come from if we derive autocorrelation directly?

Modeling Filters and Whitening Filters的更多相关文章

  1. [转]ASP.NET Core Exception Filters and Resource Filters

    本文转自:https://damienbod.com/2015/09/30/asp-net-5-exception-filters-and-resource-filters/ This article ...

  2. flex 4 Filters

    <s:RectangularDropShadow id="dropShadow" blurX="10" blurY="10" alph ...

  3. Jersey(1.19.1) - Client API, Using filters

    Filtering requests and responses can provide useful functionality that is hidden from the applicatio ...

  4. mvc Filters 过滤器

    项目需要控制controller和action的访问权限. 看了下资料,发觉还是很方便的. 首先在mvc项目下创建一个文件夹 Filters, 然后在Filters中创建一个类.代码如下 namesp ...

  5. ASP.NET Core 2 学习笔记(十四)Filters

    Filter是延续ASP.NET MVC的产物,同样保留了五种的Filter,分别是Authorization Filter.Resource Filter.Action Filter.Excepti ...

  6. Filters in ASP.NET Core (转自MSDN)

    Filters in ASP.NET Core MVC allow you to run code before or after specific stages in the request pro ...

  7. Spring Security – security none, filters none, access permitAll

    1.概述 Spring Security提供了几种将请求模式配置为不安全或允许所有访问的机制.取决于这些机制中的哪一种 - 这可能意味着根本不在该路径上运行安全过滤器链,或者运行过滤器链并允许访问 2 ...

  8. Filters.h各种信号恢复滤波器头文件

    这篇文章有部分原理:http://blog.csdn.net/u013467442/article/details/41125473 代码下载地址:http://read.pudn.com/downl ...

  9. Filters in ASP.NET Core

    Filters in ASP.NET Core allow code to be run before or after specific stages in the request processi ...

随机推荐

  1. object detection[faster rcnn]

    这部分,写一写faster rcnn 0. faster rcnn 经过了rcnn,spp,fast rcnn,又到了faster rcnn,作者在对前面的模型回顾中发现,fast rcnn提出的ro ...

  2. Python 中的 10 个常见安全漏洞,以及如何避免(上)

    简评:编写安全代码很困难,当你学习一个编程语言.模块或框架时,你会学习其使用方法. 在考虑安全性时,你需要考虑如何避免被滥用,Python 也不例外,即使在标准库中,也存在用于编写应用的不良实践.然而 ...

  3. Android如果有一个任意写入的漏洞,如何将写权限转成执行权限

    这个题目我以为是考的怎么进行提权,结果原来是这样的: . DexClassLoader 动态载入应用可写入的 dex 可执行文件 . java.lang.Runtime.exec 方法执行应用可写入的 ...

  4. zookeepeer使用java api

    一.引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper --> <dependen ...

  5. Java Statement PK PrepareStatement

    PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement.PreparedStatement 和 CallableStatement三种方式来执行查询 ...

  6. 前端自动化 shell 脚本命令 与 shell-node 脚本命令 简单使用 之 es6 转译

    (背景: 先用 babel 转译 es6 再 用 browserify 打包 模块化文件,来解决浏览器不支持模块化 )(Browserify是一个让node模块可以用在浏览器中的神奇工具) 今天折腾了 ...

  7. 亲测可以永久破解2018版本的pycharm

    pycharm是很强大的开发工具,但是每次注册着实让人头疼.网络上很多注册码.注册服务器等等.但都只是一年或者不能用:为次有如下解决方案.亲测有效!!! 如果想让pycharm永久被激活,比如截止日到 ...

  8. stark组件之展示数据(查)

      1.编辑按钮构建完成 2.构造表头,删除,checkbox,links编辑 3.代码+总结   1.编辑按钮构建完成 1.必备知识预习 第一个会打印5. 第二个输出alex alex是person ...

  9. 福州大学软件工程1816 | W班 第10次作业[软件工程实践总结]

    作业链接 个人作业--软件工程实践总结 评分细则 本次由五个问题(每个十分)+创意照片(五分)+附加题(十分)组成 评分统计图 千帆竞发图 汇总成绩排名链接 汇总链接

  10. 【Python3练习题 012】 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

    ASCII 码表的对应值,知道 ord('a') 能将字符 'a' 转化为 ASCII 码表上对应的数值,就可以了.其中,数字 0-9 对应的码值为 48-57,大写字母 A-Z 对应 65-90,小 ...