首页 > 其他分享 >covariance matrix in signal processing

covariance matrix in signal processing

时间:2023-12-19 12:14:29浏览次数:36  
标签:random signal processing covariance YY zero complex 1i

cross-covariance

In the case of complex random variables, the covariance is defined slightly differently compared to real random variables. For complex random variables ( Z_1 ) and ( Z_2 ), the covariance is defined as:

\[\text{Cov}(Z_1, Z_2) = E[(Z_1 - E[Z_1])(Z_2 - E[Z_2])^*] \]

where ( E[Z] ) is the expected value of ( Z ), and the asterisk ((^*)) denotes the complex conjugate.

Given ( Y_1 = G_1 + N_1 ) and ( Y_2 = G_2 + N_2 ), where ( G_1 ) and ( G_2 ) are complex constants, and ( N_1 ) and ( N_2 ) are complex Gaussian random variables with zero mean and ( \sigma ) variance, we can calculate the covariance as follows:

  1. The expected values ( E[Y_1] ) and ( E[Y_2] ) are ( G_1 ) and ( G_2 ) respectively, since the expected value of ( N_1 ) and ( N_2 ) is zero.

  2. The covariance between ( Y_1 ) and ( Y_2 ) becomes:

    \[\text{Cov}(Y_1, Y_2) = E[(Y_1 - G_1)(Y_2 - G_2)^*] = E[(G_1 + N_1 - G_1)((G_2 + N_2 - G_2)^*)] = E[N_1 N_2^*] \]

  3. Since ( N_1 ) and ( N_2 ) are independent complex Gaussian random variables with zero mean, the expected value of their product ( E[N_1 N_2^*] ) is zero.

Thus, the covariance between ( Y_1 ) and ( Y_2 ) in this complex case is also zero.

auto-covariance

The expression ( E[YY^] ) represents the expected value of the magnitude squared of the complex random variable ( Y ). Given ( Y = G + N ), where ( G ) is a complex constant and ( N ) is a complex Gaussian random variable with zero mean and ( \sigma^2 ) variance, we can calculate ( E[YY^] ) as follows:

  1. Expand ( YY^* ):

    \[YY^* = (G + N)(G + N)^* = (G + N)(G^* + N^*) \]

    where ( G^* ) and ( N^* ) are the complex conjugates of ( G ) and ( N ), respectively.

  2. Expand the product:

    \[YY^* = GG^* + GN^* + NG^* + NN^* \]

  3. Calculate the expected value ( E[YY^*] ):

    \[E[YY^*] = E[GG^* + GN^* + NG^* + NN^*] \]

    Since ( G ) is a constant, ( E[GG^] = GG^ ). The terms ( E[GN^] ) and ( E[NG^] ) are zero because ( N ) has zero mean. The term ( E[NN^*] ) is the variance of ( N ), which is ( \sigma^2 ).

  4. Combine the results:

    \[E[YY^*] = GG^* + \sigma^2 \]

So, ( E[YY^*] ) is the sum of the magnitude squared of the complex constant ( G ) and the variance ( \sigma^2 ) of the complex Gaussian random variable ( N ).

codes


%% covariance

rng(100)

N = 100000;
N1 = (randn(1, N) + randn(1, N)*1i);
Y1 = (1 + 2*1i) + N1;

E1 = mean(Y1);

N2 = (randn(1, N) + randn(1, N)*1i);
Y2 = (1 + 2*1i) + N2;
E2 = mean(Y2);

cov1 = Y1 * Y2' / N;

cov2 = (1 + 2*1i) * (1 + 2*1i)';

%% auto-covariance

N = 100000;
N1 = (randn(1, N) + randn(1, N)*1i);
Y1 = (5 + 6*1i) + N1;

autocov = Y1 * Y1' / N;

autocov2 = (5 + 6*1i) * (5 + 6*1i)' + 2;

标签:random,signal,processing,covariance,YY,zero,complex,1i
From: https://www.cnblogs.com/uceec00/p/17913407.html

相关文章

  • 使用JS和SignalR完成双向通信
    写在前面:看官网介绍,听开发者朋友的感受,SignalR对websocket等多个长连接协议进行了封装,提供了多种方法,能够适应很多场合和复杂情况。单纯论简单的web长连接,它确实没有js/nodejs版的websocket直观、简单。微软的风格,一来就高大上,不知道又会劝退多少人,会不会把自己玩死。我帮你简单......
  • 使用Python Multiprocessing库提升代码性能
    在现代计算机编程中,利用多核处理器的能力来提高应用程序的执行速度至关重要。Python的multiprocessing库就是为此而生的,它允许程序员创建进程,这些进程可以在多个CPU核心间并行运行,从而提高程序的性能。在这篇技术博客中,我们将探索multiprocessing库的关键概念及其在Python中的应用......
  • 智能计算与图形图像处理Intelligent Computing and Graphics and Image Processing
      智能算法IntelligenceAlgorithms图形图像处理Graphics&ImageProcessing机器视觉machinevision计算机视觉computervision 计算机视觉(computervision),用计算机来模拟人的视觉机理获取和处理信息的能力。就是是指用摄影机和电脑代替人眼对......
  • BIIP 生物信息学与智能信息处理**年学术会议(BIIP20XX)Bioinformatics and Intelligen
    生物信息学与智能信息处理2023学术年会举行发布日期:2023年06月25日14:01 点击次数:1038[本站讯]近日,中国人工智能学会生物信息学与人工生命专业委员会生物信息学与智能信息处理2023学术年会(BIIP2023)在济南举行。中国科学院院士、天津大学教授元英进出席会议。山东大学副校长......
  • 通过.NET Core+Vue3 实现SignalR即时通讯功能
    .NETCore和Vue3结合使用SignalR可以实现强大的实时通讯功能,允许实时双向通信。在这个示例中,我们将详细说明如何创建一个简单的聊天应用程序,演示如何使用.NETCoreSignalR后端和Vue3前端来实现实时通讯功能。步骤1:准备工作确保你已经安装了以下工具和环境:.NETCore......
  • Python Multiprocessing Pool's Task Scheduling
    mppool的任务调度遵循FIFO机制。对任务数组,逐个分配进程资源。如对于p0-pn,pi对应的是a[i]的资源。一般来说sizeof(a)>sizeof(p),即任务数大于进程资源数。此时,空闲的资源将进一步使用FIFO,选取任务进行执行,从而避免资源浪费。因此,在排布a[i]的时候,基本是不需要进行时长大小......
  • Fatal signal 11 (SIGSEGV) at 0x0000130f (code=1), thread xxx (Thread-xx)
    导致应用程序崩溃问题分析与解决:--复现--分析--解决最后先展示与问题相关的代码片:09-0413:26:32.826F/libc(572):Fatalsignal11(SIGSEGV)at0x0000130f(code=1),xxxx844(Thread-46)09-0413:26:32.936I/DEBUG(103):*************************......
  • On Manipulating Signals of User-Item Graph A Jacobi Polynomial-based Graph Colla
    目录概符号说明MotivationJGCF代码GuoJ.,DuL,ChenX.,MaX.,FuQ.,HanS.,ZhangD.andZhangY.Onmanipulatingsignalsofuser-itemgraph:Ajacobipolynomial-basedgraphcollaborativefiltering.KDD,2023.概利用JacobiConvolution来区分高中低频信号......
  • Qt blockSignals
    有时我们需要,控件不接收信号,可以使用blockSignals 当设置为true时,QObject对象[子类]不会发出信号1、函数原型1boolQObject::blockSignals(boolblock)2Ifblockistrue,signalsemittedbythisobjectareblocked(i.e.,emittingasignalwillnotinvokeanythin......
  • signal - 注册信号处理函数
    Unix系统提供了signal和sigaction两种改变信号处理函数的方法。signal是设置信号处理函数的原始API,比sigaction简单且功能少。signal()无法在不改变信号处理函数的同时,还能获得当前的信号处理函数,但sigaction()可以signal在UNIX实现间存在差异,对可移植性有要求的程序不能使......