0
$\begingroup$

I have a stationary process $w_1(t)$, white in band $B=[-2, 2] KHz$, and another process: $x(t)=w_1(t)-w_1(t+t_0)$, where $t_0=250\mu s$.

I want to re-obtain $w_1(t)$ by filtering $x(t)$ through $h(t)$: $w_1(t)=x(t)*h(t)$ (where $*$ is the convolution operator).

I know that $r_{w_1x}=r_x*h$, ($r_{w_1x}$ is cross-correlation and $r_x$ is autocorrelation)

from this one I can conclude that $S_{yx}(f)=S_x(f)\cdot H(f)$, so my filter will be $H(f)=\frac{S_{yx}(f)}{S_x(f)}$. ($S$ is the Power Spectral Density)

Is this right? Then from antitransforming I should obtain the time domain representation of my filter.

My problem occurs when I try to calculate it with Matlab:

I have already the autocorrelation of x, and its Power Spectral Density, but I can't figure out how to calculate the cross-correlation of my processes. For example $w_1=randn(8000,1000);$, then filtered, but it's still 1000 representations of a white gaussian noise, and so is $x$.

I thought about doing the mean of all 1000 crosscorrelations and then transform with fft:

Rwx=0;
for i=1:1000
    Rwx=Rwx+xcorr(w1(:,i),x(:,i));
end
Rwx=Rwx/1000;
Swx=fftshift(fft(Rwx));

But this doesn't seem to work.

Do you have an idea on how to solve this?

$\endgroup$

1 Answer 1

1
$\begingroup$

I think that (at least in general) (and if I understand your question correctly) this is not possible. As an example, assume that $w_1(t)$ contains a harmonic component of period $t_0$. The signal $x(t)$ will not contain any trace of this component. As a result no amount of filtering $x(t)$ will be able to recover the original signal.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.