# generating a coherent signal

Started by 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.

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.

```
```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.

```
```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
```