Forums

generating a coherent signal

Started by Frank May 27, 2010
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
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
>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
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.
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.
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