Hi All,
I have 3 different separate I and Q signals at 48K. Can any one explain how to do a weighted complex FFT on the three different I and Q Signals.

 Respuesta aceptada

Wayne King
Wayne King el 4 de Mayo de 2012

0 votos

Then you just do
t = 0:0.001:1-0.001;
I = cos(2*pi*100*t);
Q = sin(2*pi*100*t);
sig1 = I+1j*Q;
dftsig1 = fft(sig1);
Do the same for I2 and Q2, etc.

Más respuestas (3)

Wayne King
Wayne King el 3 de Mayo de 2012

0 votos

Why do you want to weight them? And by weight, do you simply mean window the signals?
fft() accepts a complex-valued input with no problem
t = (0:0.001:1-0.001)';
x = exp(1j*2*pi*100*t)+complex(randn(size(t)),randn(size(t)));
% and if by weight, you mean window the I and Q channels
x = x.*complex(hamming(length(x)),hamming(length(x)));
xdft = fft(x);
Vivekanandh
Vivekanandh el 4 de Mayo de 2012

0 votos

Hi Wayne,
Thanks for your reply. I think my question is not clear. I am doing I and Q modulation and i have the I signal and Q signal separately (which is a sine wave). Let's say I1 = {0,1,2,1,0,-1,-2,-1,0} and Q1 = {-2,-1,0,1,2,1,0,-1,-2}. And similarly i have I2,Q2 and I3 and Q3 (all are sine wave). I need to combine I1 and Q1 signals and create a complex FFT. Similarly for I2,Q2 and I3 and Q3 signals.
Vivekanandh
Vivekanandh el 4 de Mayo de 2012

0 votos

Hi Wayne,
Thank you very much. This helps a lot. Is that possible to look for a DC component in FFT. If so how is it possible? Is that possible to remove the DC component from FFT and compare the result with the FFT image?

1 comentario

Dr. Seis
Dr. Seis el 4 de Mayo de 2012
The DC will just be your dftsig1(1) value. You can remove the DC component by removing the mean of your input signal to the FFT (i.e., sig1).

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Signal Processing Toolbox en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by