If I have a signal (say x[t]), and from previous studies I know the coherence function (Cxy[f]). Is there a way to simulate a coherent signal (say Y[t]) from these two? We have a process that we already have a shaping filter for. We first simulate signals x[t] and y[t] by passing Gaussian white noise through the shaping filter. However, we would like to make y[t] coherent with x[t], based on the already known coherence function, Cxy[f]. A colleague suggested that we try A_Y = Cxy*A_x + sqrt(1-Cxy^2)*A_y B_Y = Cxy*B_x + sqrt(1-Cxy^2)*B_y where A and B are the real and imaginary parts corresponding to x, y, and Y. Then we could get the coherent signal by Y = ifft(A_Y + i*B_Y) Does this seem like the right thing to do? I know it works for generating correlated Gaussian data, but wasn't too sure it's ok to do this with coherence in the frequency domain. Thanks in advance, Frank

# generating a coherent signal

Started by ●May 27, 2010

Reply by ●May 28, 20102010-05-28

On 28 Mai, 00:35, Frank <fble...@yahoo.com> wrote:> If I have a signal (say x[t]), and from previous studies I know the > coherence function (Cxy[f]). Is there a way to simulate a coherent > signal (say Y[t]) from these two? We have a process that we already > have a shaping filter for. We first simulate signals x[t] and y[t] by > passing Gaussian white noise through the shaping filter. However, we > would like to make y[t] coherent with x[t], based on the already known > coherence function, Cxy[f]. A colleague suggested that we try > > A_Y = Cxy*A_x + sqrt(1-Cxy^2)*A_y > B_Y = Cxy*B_x + sqrt(1-Cxy^2)*B_y > > where A and B are the real and imaginary parts corresponding to x, y, > and Y. Then we could get the coherent signal by > > Y = ifft(A_Y + i*B_Y) > > Does this seem like the right thing to do? I know it works for > generating correlated Gaussian data, but wasn't too sure it's ok to do > this with coherence in the frequency domain.My immediate response is that 'coherence' has to do with 'compliance to a model'. If that's correct - it needs not be - you would have to start out by specifying a model for what you would measure in the perfectly coherent case, and mess the model up gradually, in a way that somehow represents the increasing loss of coherence. I suppose that I am trying to warn you that there might be more to it than what you might think up front. Rune

Reply by ●May 28, 20102010-05-28

>On 28 Mai, 00:35, Frank <fble...@yahoo.com> wrote: >> If I have a signal (say x[t]), and from previous studies I know the >> coherence function (Cxy[f]). Is there a way to simulate a coherent >> signal (say Y[t]) from these two? We have a process that we already >> have a shaping filter for. We first simulate signals x[t] and y[t] by >> passing Gaussian white noise through the shaping filter. However, we >> would like to make y[t] coherent with x[t], based on the already known >> coherence function, Cxy[f]. A colleague suggested that we try >> >> A_Y = Cxy*A_x + sqrt(1-Cxy^2)*A_y >> B_Y = Cxy*B_x + sqrt(1-Cxy^2)*B_y >> >> where A and B are the real and imaginary parts corresponding to x, y, >> and Y. Then we could get the coherent signal by >> >> Y = ifft(A_Y + i*B_Y) >> >> Does this seem like the right thing to do? I know it works for >> generating correlated Gaussian data, but wasn't too sure it's ok to do >> this with coherence in the frequency domain. > >My immediate response is that 'coherence' has to do with >'compliance to a model'. If that's correct - it needs not >be - you would have to start out by specifying a model for >what you would measure in the perfectly coherent case, and >mess the model up gradually, in a way that somehow represents >the increasing loss of coherence. > >I suppose that I am trying to warn you that there might be >more to it than what you might think up front. > >Rune >I thought the Coherence function related to degree of correlation. I found the following definition Cxy(w) = |Rxy(w)|^2 / ( Rx(w) * Ry(w) ) where Rxy is the DFT of the cross correlation of x and y. And Rx and Ry are the DFT's of the autocorrelation of x and y respectively. So it seems that coherence is the power of the frequency components found in both signals, divided by the power of the frequency components found in the individual signals. Telling you how much of y really came from x essentially (or vise versa). Maybe I'm understanding the meaning wrong, or maybe I didn't explain it well, or maybe I have no clue what I'm talking about and need a smack with the correction stick. Jacob

Reply by ●May 28, 20102010-05-28

Rune.....yes, that's what I was thinking also. Using the equation my colleague gave me seemed to simply. My hunch is that it's more complicated. So you are saying instead of taking two incoherent signals (x and y), and trying to make y coherent with x, start with x, and "mess with it" until it has the coherence in my model? Jacob.......that is my understanding of coherence also. My first thought was to use that equation. Problem is I don't know what y is. I'm only given x and Cxy, and need to develop y. Thanks for your comments.

Reply by ●May 28, 20102010-05-28

Rune.....yes, that's what I was thinking also. Using the equation my colleague gave me seemed too simple. My hunch is that it's more complicated. So you are saying instead of taking two incoherent signals (x and y), and trying to make y coherent with x, start with x, and "mess with it" until it has the coherence in my model? Jacob.......that is my understanding of coherence also. My first thought was to use that equation. Problem is I don't know what y is. I'm only given x and Cxy, and need to develop y. Thanks for your comments.

Reply by ●May 29, 20102010-05-29

On 29 Mai, 01:50, Frank <fble...@yahoo.com> wrote:> Rune.....yes, that's what I was thinking also. Using the equation my > colleague gave me seemed too simple. My hunch is that it's more > complicated. So you are saying instead of taking two incoherent > signals (x and y), and trying to make y coherent with x, start with x, > and "mess with it" until it has the coherence in my model?I don't know. The only use of coherence I have seen, is in applications where one has some analytic model for a signal transmission channel. The real-world channel has a random component (I've worked with underwater acoustics, where the exact details of the ocanography are unknown) and the coherence function is then used as a measure to describe how well the analytic model describes what actually goes on in the data. I can't remember having seen how to generate a signal with prescribed coherence characteristics. Rune