0
$\begingroup$

Here goes the problem I faced:

Sig1= A*sin(w*n)
Sig2= B*sin(w*n+phi)

Length of both signal is L.

Then, I put them in F(1:2:2*L)=Sig1 and F(2:2:2*L)=Sig2.

Now we know what would be the frequency response of Sig1 and Sig2 but is there any way we can find frequency response of F? FFT of sinusoid is the delta function.

Thanks

$\endgroup$
0
$\begingroup$

What you ask for should rather be called a frequency spectrum or Fourier transform of the resulting signal. The term frequency response is reserved for linear time invariant systems.

Anyway, the answer to your question can be found using the z-transform of the signals involved. First let's expand the two source signals into a series of unit delays:

$$S_1(z) = \sum_{k\in\mathbb{Z}} a_k z^k$$ $$S_2(z) = \sum_{k\in\mathbb{Z}} b_k z^k$$

Your combined signal can be written as

$$F(z) = \sum_{k\in\mathbb{Z}} a_k z^{2k} + \sum_{k\in\mathbb{Z}} b_k z^{2k+1}$$

and we can plug in $z=\exp(i\omega)$ to get the Fourier transform:

$$F(\omega) = \sum_{k\in\mathbb{Z}} a_k \exp(ki2\omega)+\sum_{k\in\mathbb{Z}} b_k \exp(ki2\omega)\exp(i\omega)$$

Using the Fourier transforms from the z-transforms above we can see that this actually equals:

$$F(\omega) = S_1(2\omega) + S_2(2\omega)\exp(i\omega)$$

You can interpret this result as the additive combination of the two original signal spectra, each scaled in frequency direction by $1/2$ and one phase shifted proportionally to $\omega$.

Since your original signals are of finite length, your initial spectra are sinc-shaped, centered at the same frequency and with a constant phase shift. I'll leave working out the details to you.

| improve this answer | |
$\endgroup$
  • $\begingroup$ I forgot to mention this in my answer, but the stretching of the spectrum comes with aliasing! The negative frequency content of the original signal will be moved to the high band of the new signal. $\endgroup$ – Jazzmaniac Jun 6 '14 at 8:05
  • $\begingroup$ Its fine, i got the answer, but the problem is amplitude of the F_analytical and F_numerical is different. Here goes the code for matlab: $\endgroup$ – gman Jun 6 '14 at 16:10
  • $\begingroup$ Its fine, i got the answer, but the problem is amplitude of the F_analytical and F_numerical is different. Here goes the code for matlab: link $\endgroup$ – gman Jun 6 '14 at 16:20
  • $\begingroup$ Your code contains a few errors. The $\omega$ I use above is normalised angular frequency. It ranges from $0$ to $2\pi$. Also you can't replace the argument $2\omega$ with a doubled index into the fft output array, because $\omega=0$ is at index=1. That's what I have spotted at a quick glance. There's probably more. $\endgroup$ – Jazzmaniac Jun 6 '14 at 20:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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