## DSB-SC demodulation

Started by 6 years ago5 replieslatest reply 6 years ago285 views

Hi, i'm trying to demodulate a DSB-SC modulated received signal.

I acquire the signal without any problem

then i want to FFT the signal with 1024 point FFT (using rom routines) and shift my spectrum of Foffset hertz, then IFFT it and have the modified signal.

I have done this:

say S(w) is my FFT output. I perform on the spectrum the frequency shift by doing (this is like S(w)*exp(j*2*pi*Foffset/Fs)) where Fs is the sampling rate of my ADC.

real = Re(S)*cos(u) - Im(S)*sin(u)

imag = Re(S)*sin(u) + Im(S)*cos(u)

where Re(S), Im(S), real and imag are arrays. u = 2*pi*Foffset/Fs. sin(u) and cos(u) are in Q15 format. real and imag are used as input od IFFT.

Whee i IFFT the signal, the output on my scope is a lot of garbage without any useful meaning. I take obviously only the real part of the IFFT output.

What I should do?

Every suggestion in very appreciated.

[ - ]

a shift in the frequency domain is performed by - well - shifting - not multiplying by some complex value.

A frequency shift in the time domain, however, is performed by multiplying the time do main signal by a carrier-frequency-tone. A single tone corresponds to a shifted delta peak in the frequency domain; a multiplication corresponds to a convolution in the frequency domain. Hence, multiplying with a tone in time domain corresponds to convolving with a shifted delta peak in the frequency domain.Finally, convolution with a shifted delta peak is nothing but shifting - and that is what you want to do.

So you need to perform your multiplication in the time domain...

[ - ]
dudelsound, i thank you a lot. I'm totally out of road.

I'm developing Costas loop in order to demodulate my signal

Thanks you so much

Regards,

Paolo

[ - ]

I think you're already set, but the least computationally intensive way to shift your signal in frequency is to multiply it by a complex sinusoid in the time domain.

What you're doing appears to just be a multiplication by a constant.

[ - ]

Ok, but if i multiply a real signal by a complex signal i obtain a complex signal....so how can i get the demodulated real signal

[ - ]
If I just put my head down and bull through on my original line, you low-pass the resulting complex signal around $$\pm BW$$, then choose the real or imaginary part of the result.  Or you filter in the range $$-BW \le f < 0$$ or $$0 < f \le BW$$ to pick out one or the other sideband, and then just take the real or imaginary part.