对于正交变换,如 DCT、DST、Haar 变换等等,我们都可以使用一个正交矩阵 A{\bf{A}}A 来表示其变换核。对于一个向量 x\bf{x}x,记我们添加的加性高斯白噪声(Additive White Gaussian Noise, AWGN)为 n\bf{n}n,得到的有噪声向量为 y\bf{y}y,即有

y=x+n,ni∼N(0,σ2).(1.1){\mathbf{y}} = {\mathbf{x}} + {\mathbf{n}},\quad {n_i} \sim \mathcal{N}(0,\;{\sigma ^2}).\tag{1.1}y=x+n,ni​∼N(0,σ2).(1.1)

那么该变换可表示为

Ty=Ay=A(x+n)=Ax+An=Tx+Tn.(1.2){{\mathbf{T}}_y} = {\mathbf{Ay}} = {\mathbf{A}}({\mathbf{x}} + {\mathbf{n}}) = {\mathbf{Ax}} + {\mathbf{An}} = {{\mathbf{T}}_x} + {{\mathbf{T}}_n}.\tag{1.2}Ty​=Ay=A(x+n)=Ax+An=Tx​+Tn​.(1.2)

所以有噪声信号 y\bf{y}y 的变换系数可以拆分为无噪声信号 x\bf{x}x 的变换系数与噪声信号 n\bf{n}n 的变换系数的和。由于这里只有噪声信号 n\bf{n}n 是随机的,我们讨论 Ty{\bf{T}}_yTy​ 的分布时只需讨论噪声信号的变换系数的分布即可。

因为

Tn(k)=Ak,0n0+Ak,1n1+…+Ak,N−1nN−1,∑i=0N−1Ak,i2=1.(1.3)T_n^{(k)} = {A_{k,0}}{n_0} + {A_{k,1}}{n_1} + \ldots + {A_{k,N - 1}}{n_{N - 1}},\quad \sum\limits_{i = 0}^{N - 1} {A_{k,i}^2} = 1.\tag{1.3}Tn(k)​=Ak,0​n0​+Ak,1​n1​+…+Ak,N−1​nN−1​,i=0∑N−1​Ak,i2​=1.(1.3)

所以很容易可得

Tn(k)∼N(0,σ2).(1.4)T_n^{(k)} \sim \mathcal{N}(0,\;{\sigma ^2}).\tag{1.4}Tn(k)​∼N(0,σ2).(1.4)

也就是说噪声信号 n\bf{n}n 的各个正交变换系数依然服从零均值的高斯分布,且方差与噪声本身一样,也就是同分布的。那么,各个系数之间的关系又是怎样的呢?从式(1.4)看来,各个变换系数都是所有噪声信号分量的线性组合,似乎这些变换系数是有一定的相关性的。但事实上,由于 A\bf{A}A 为正交矩阵,各个变换系数之间是不相关的,为此我们可以计算任意两个系数之间的协方差,可得

Cov(Tn(k),Tn(l))=E(Tn(k)⋅Tn(l))−E(Tn(k))E(Tn(l))=E(∑i=0N−1Ak,ini⋅∑i=0N−1Al,ini)=∑i=0N−1Ak,iAl,i⋅E(ni2)+∑i=0N−1∑j≠iAk,iAl,j⋅E(ni)E(nj)=∑i=0N−1Ak,iAl,i⋅σ2=0.(1.5)\begin{aligned} &Cov\left( {T_n^{(k)},\;T_n^{(l)}} \right) = E\left( {T_n^{(k)} \cdot T_n^{(l)}} \right) - E\left( {T_n^{(k)}} \right)E\left( {T_n^{(l)}} \right) \\ &= E\left( {\sum\limits_{i = 0}^{N - 1} {{A_{k,i}}{n_i}} \cdot \sum\limits_{i = 0}^{N - 1} {{A_{l,i}}{n_i}} } \right) \\ &= \sum\limits_{i = 0}^{N - 1} {{A_{k,i}}{A_{l,i}} \cdot E\left( {n_i^2} \right)} + \sum\limits_{i = 0}^{N - 1} {\sum\limits_{j \ne i} {{A_{k,i}}{A_{l,j}} \cdot E\left( {{n_i}} \right)E\left( {{n_j}} \right)} } \\ &= \sum\limits_{i = 0}^{N - 1} {{A_{k,i}}{A_{l,i}}} \cdot {\sigma ^2} = 0. \\ \end{aligned} \tag{1.5}​Cov(Tn(k)​,Tn(l)​)=E(Tn(k)​⋅Tn(l)​)−E(Tn(k)​)E(Tn(l)​)=E(i=0∑N−1​Ak,i​ni​⋅i=0∑N−1​Al,i​ni​)=i=0∑N−1​Ak,i​Al,i​⋅E(ni2​)+i=0∑N−1​j​=i∑​Ak,i​Al,j​⋅E(ni​)E(nj​)=i=0∑N−1​Ak,i​Al,i​⋅σ2=0.​(1.5)

这里用到了一些性质,即

E(nim)=σ2(m−1)(m−3)…(1),m=2,4,6,…E(ninj)=E(ni)E(nj)=0,←Independent∑i=0N−1Ak,iAl,i=0.←Orthogonal(1.6)\begin{aligned} &E\left( {n_i^m} \right) = {\sigma ^2}(m - 1)(m - 3) \ldots (1),\quad m = 2,\;4,\;6,\; \ldots \\ &E\left( {{n_i}{n_j}} \right) = E\left( {{n_i}} \right)E\left( {{n_j}} \right) = 0,\quad \leftarrow Independent \\ &\sum\limits_{i = 0}^{N - 1} {{A_{k,i}}{A_{l,i}}} = 0.\quad \leftarrow Orthogonal \\ \end{aligned} \tag{1.6}​E(nim​)=σ2(m−1)(m−3)…(1),m=2,4,6,…E(ni​nj​)=E(ni​)E(nj​)=0,←Independenti=0∑N−1​Ak,i​Al,i​=0.←Orthogonal​(1.6)

因此,噪声信号 n\bf{n}n 的任意两个正交变换系数都是不相关的。

然而,不相关并不意味着独立。但对于多维高斯分布,两个分量的相关性为零,我们就可以判定这两个分量是独立的。问题在于,多个单高斯分布变量的联合分布并不一定是多维高斯分布,所以我们不能直接认为两个不相关的高斯分布变量就是独立的。但是,如果这些高斯分布变量,如 X1,X2,...,XNX_1, X_2, ..., X_NX1​,X2​,...,XN​,的任意线性组合

Y=∑i=1NciXi,(1.7)Y = \sum\limits_{i = 1}^N {{c_i}{X_i}} ,\tag{1.7}Y=i=1∑N​ci​Xi​,(1.7)

都是一个高斯分布的随机变量,那么它们就是联合高斯的 [1]。注意这里并不要求各个随机变量 XiX_iXi​ 的协方差矩阵是非奇异的,cic_ici​ 也不禁止全部为 0,但相应地我们需要认为常量也是属于高斯分布的。那么,因为有限个相互独立的高斯随机变量的线性组合一定是高斯随机变量,所以相互独立的高斯随机变量一定是联合高斯的。

回到 AWGN 的正交变换,由于每个系数都可以表示为相互独立的高斯随机变量的线性组合,即

Tn(k)=∑i=0N−1Ak,i⋅ni.(1.8)T_n^{(k)} = \sum\limits_{i = 0}^{N - 1} {{A_{k,i}} \cdot {n_i}} .\tag{1.8}Tn(k)​=i=0∑N−1​Ak,i​⋅ni​.(1.8)

那么对于变换系数的任意线性组合,有

Z=∑k=0N−1ck⋅Tn(k)=∑k=0N−1ck⋅∑i=0N−1Ak,i⋅ni=∑i=0N−1(∑k=0N−1Ak,i⋅ck)⋅ni=(ATc)Tn.(1.9)\begin{aligned} Z &= \sum\limits_{k = 0}^{N - 1} {{c_k} \cdot T_n^{(k)}} = \sum\limits_{k = 0}^{N - 1} {{c_k} \cdot \sum\limits_{i = 0}^{N - 1} {{A_{k,i}} \cdot {n_i}} } \\ &= \sum\limits_{i = 0}^{N - 1} {\left( {\sum\limits_{k = 0}^{N - 1} {{A_{k,i}} \cdot {c_k}} } \right) \cdot {n_i}} = {\left( {{{\mathbf{A}}^T}{\mathbf{c}}} \right)^T}{\mathbf{n}}. \\ \end{aligned} \tag{1.9}Z​=k=0∑N−1​ck​⋅Tn(k)​=k=0∑N−1​ck​⋅i=0∑N−1​Ak,i​⋅ni​=i=0∑N−1​(k=0∑N−1​Ak,i​⋅ck​)⋅ni​=(ATc)Tn.​(1.9)

因此,即便矩阵 A\bf{A}A 不是正交矩阵,An\bf{An}An 所得到的高斯随机向量的各个分量也是联合高斯的,因为这些分量的任意线性组合总可以通过左乘矩阵 A\bf{A}A 的转置表示为原始独立高斯随机向量 n\bf{n}n 的线性组合。而对于 AWGN,当矩阵 A\bf{A}A 为正交时,刚好各个分量即变换系数的相关性为零,所以这些分量都是相互独立的。而又由于各个变换系数的分布与原始噪声的分布是一样的,所以我们可以证明 AWGN 经过正交变换后仍然是 AWGN,并且噪声分布与原来一致。对于可分离的正交变换,如二维乃至多维 DCT 等,其相当于先对某一维做正交变换,然后依次对所得的结果做剩下维度的正交变换,因为每一维经过正交变换后的结果依然为 AWGN,所以经过多维正交变换后最终的变换系数同样是 AWGN。

图 1 展示了均值为零,标准差为 30 高斯白噪声图像,为了便于理解,这里使用了三维作图。由于各个像素之间的噪声分布是相互独立的,所以我们几乎不能在图中找到任何有意义的纹理特征。另外,因为高斯分布两个标准差之内占据了 95.4% 的概率,所以绝大部分的噪声值都在 [-60, 60] 之间。图 2 为 DCT-II 变换的结果,可以看到,其与图 1 即原始噪声信号几乎没有差别,都是一堆杂乱没有规律的数据,并且绝大部分的变换系数同样处在 [-60, 60] 之间。所以,从这个简单的例子也可以证明,高斯白噪声的正交变换系数同样是高斯白噪声。

图1 噪声图像
图2 噪声图像的二维 DCT-II 变换

参考资料:

[1] Gubner, John A. (2006). Probability and Random Processes for Electrical and Computer Engineers. Cambridge University Press. ISBN978-0-521-86470-1. pp. 363-365.

证明:高斯白噪声的正交变换仍然是高斯白噪声相关推荐

  1. linux中计算高斯的进程,linux下运行高斯比windows的优势

    转引自GaussianFAQ第一章第四节 (1.4) 难道非要用Linux算高斯吗?Windows算高斯的缺陷是什么? 后续问题:听说Linux很难的.我是电脑小白,在Windows上都不太懂,只会最 ...

  2. matlab中求积函数,MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式.doc...

    MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式 数 值 分 析 课 程 实 验 报 告 2012-2013学年度 第二学期 系别:数学与计算机科学学院 实验课程数值分析班 级 ...

  3. 高斯滤波/高斯模糊(Gaussian blur)和高斯噪声(Gaussian noise)

    在看CV方面的论文的时候很多时候都会出现高斯滤波/高斯模糊(Gaussian blur)和高斯噪声.所以需要把他们弄清楚. 1 首先搞清楚什么是高斯分布 1.1 一维高斯分布 在这些操作前都加了高斯两 ...

  4. 【光学】基于matlab GS算法高斯光转换成高阶高斯光+一阶空心高斯光+贝塞尔高斯光【含Matlab源码 2166期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GS算法高斯光转换成高阶高斯光+一阶空心高斯光+贝塞尔高斯光[含Matlab源码 2166期] 点击上面蓝色字体 ...

  5. 高斯赛尔德c语言算法,高斯-赛德尔迭代法的算法及程序设计.doc

    PAGE 题 目:高斯-赛德尔迭代法的算法及程序设计 摘要 本文通过理论与实例对线性方程组的解法.收敛性及误差分析进行了探讨.在对线性方程组数值解法的讨论下用到了高斯-赛德尔迭代法,进一步研究和总结了 ...

  6. python中添加高斯噪声_关于python:高斯噪声与高斯白噪声

    高斯噪声与白高斯噪声有何不同? 在我阅读高斯噪声时,PDF具有正态分布. 白高斯噪声也有吗? 如何使用Python手动(没有内置函数)为图像生成每种噪声? 我需要考虑哪些参数? 让我们从头开始研究短语 ...

  7. matlab高斯白噪声功率谱密度,matlab-正弦波-高斯白噪声-均匀白噪声-功率谱密度-自相关函数.doc...

    现代通信原理 作业一 利用matlab完成: 产生正弦波信号.均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦波信号上,绘出波形. 分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波 ...

  8. 【老生谈算法】matlab实现高斯白噪声仿真算法源码——高斯白噪声

    高斯白噪声的建模与仿真matlab实现 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]高斯白噪声的matlab实现.doc ...

  9. matlab如何造带限高斯白噪声,如何用Matlab产生高斯白噪?

    MATLAB中产生高斯白噪声的两个函数 MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声. ...

最新文章

  1. 编译OpenSSH8.4的RPM包及升级
  2. jquery中的each各种神奇遍历用法
  3. html注册栏网页练习代码
  4. Handler与多线程
  5. oracle to pgsql,PostgresToOracle
  6. python入门(5)使用文件编辑器编写代码并保存执行
  7. jQuery Ajax
  8. 百度景鲲:9月15日发布小度真无线智能耳机
  9. java编程算法出现在窗口_Java实现轨迹压缩算法开放窗口代码编程实例分享
  10. java web项目自动部署到Tomcat的原因
  11. 因中间件问题重重,谷歌暂停Chrome的量子安全功能
  12. 成立了汽车与智能出行事业部的阿里云,如何建立云上行业生态?
  13. Matlab 均值滤波与中值滤波
  14. gridview 实现排序
  15. CKEditor5安装LaTeX数学公式插件
  16. 060 steam挂卡
  17. mysql frm怎么打开_frm 文件怎么打开?
  18. 【docker】docker容器端口如何暴漏出来?
  19. 转----一个图形爱好者的书架.-也来介绍一下我的藏书.
  20. C4D中使用Redshift渲染器翻转贴图

热门文章

  1. 少儿编程启蒙课程1:方格纸编程 揭秘算法
  2. 最小二乘法直线拟合计算
  3. 读书笔记--室内配电
  4. 铺砖 动态规划 DP
  5. 【转】Yii2开源电商系统 fecshop
  6. 怎样把截图转换成文字?三分钟教会你如何截图转文字
  7. CS61A Proj 2
  8. MCDM方法及matlab应用四:COPRAS 方法、案例及matlab应用
  9. 血杀英雄为什么不显示服务器,《血杀英雄》新服开启后 这些地方你去过吗?...
  10. 国庆期间试用CodeGear C++ Builder 2007的感受