Modeling Filters and Whitening Filters
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的更多相关文章
- [转]ASP.NET Core Exception Filters and Resource Filters
本文转自:https://damienbod.com/2015/09/30/asp-net-5-exception-filters-and-resource-filters/ This article ...
- flex 4 Filters
<s:RectangularDropShadow id="dropShadow" blurX="10" blurY="10" alph ...
- Jersey(1.19.1) - Client API, Using filters
Filtering requests and responses can provide useful functionality that is hidden from the applicatio ...
- mvc Filters 过滤器
项目需要控制controller和action的访问权限. 看了下资料,发觉还是很方便的. 首先在mvc项目下创建一个文件夹 Filters, 然后在Filters中创建一个类.代码如下 namesp ...
- ASP.NET Core 2 学习笔记(十四)Filters
Filter是延续ASP.NET MVC的产物,同样保留了五种的Filter,分别是Authorization Filter.Resource Filter.Action Filter.Excepti ...
- 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 ...
- Spring Security – security none, filters none, access permitAll
1.概述 Spring Security提供了几种将请求模式配置为不安全或允许所有访问的机制.取决于这些机制中的哪一种 - 这可能意味着根本不在该路径上运行安全过滤器链,或者运行过滤器链并允许访问 2 ...
- Filters.h各种信号恢复滤波器头文件
这篇文章有部分原理:http://blog.csdn.net/u013467442/article/details/41125473 代码下载地址:http://read.pudn.com/downl ...
- Filters in ASP.NET Core
Filters in ASP.NET Core allow code to be run before or after specific stages in the request processi ...
随机推荐
- 【开源】Westore Cloud 发布- 没后端没SQL没DBA,只需 javascript 开发云端小程序
Westore Cloud - 隐形云,NoBackEnd,NoSql,HiddenDB 好的设计便是感觉不到设计的存在 开发小程序,但是:没有后端!没有运维!没有 DBA!没有域名!没有证书!没有钱 ...
- NYOJ-16-矩形嵌套 记忆化搜索
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> ...
- eclipse如何添加web dynamic project
很多eclipse版本是不能直接新建web dynamic project的,需要从网上找插件或更新. 比较方便的是在Help → Install-New-Software,点击add按钮,在Loca ...
- #Leetcode# 1016. Binary String With Substrings Representing 1 To N
https://leetcode.com/problems/binary-string-with-substrings-representing-1-to-n/ Given a binary stri ...
- Eclipse Todo Tasks 任务试图
java - Find TODO tags in Eclipse - Stack Overflowhttps://stackoverflow.com/questions/16903046/find-t ...
- Spring boot 将配置文件属性注入到一个bean中
现在要做的就是将如下配置文件中的内容注入到一个bean 名为Properties中. Redis.properties配置文件中的内容如下: Properties java bean中代码如下,注意注 ...
- sqlyog Can't connect to MySQL server on localhost (0)
https://blog.csdn.net/l1336037686/article/details/78940223
- 牛客练习赛13D 幸运数字4
题目链接:https://ac.nowcoder.com/acm/contest/70/D 题目大意: 略 分析: 注意到12! < 10^9 < 13!,于是当n > 13时,第k ...
- java使用顺序存储实现队列
详细连接 https://blog.csdn.net/ljxbbss/article/details/78135993 操作系统:当电脑卡的时候,如果不停点击,还是卡死,最后终于电脑又好了以后,操作 ...
- scala mkstring
如果你想要把集合元素转化为字符串,可能还会添加分隔符,前缀,后缀. Solution 使用mkString方法来打印一个集合内容,下面给一个简单的例子: scala> val a = Array ...