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.

 Akzeptierte Antwort

Wayne King
Wayne King am 4 Mai 2012

0 Stimmen

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.

Weitere Antworten (3)

Wayne King
Wayne King am 3 Mai 2012

0 Stimmen

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 am 4 Mai 2012

0 Stimmen

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 am 4 Mai 2012

0 Stimmen

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 Kommentar

Dr. Seis
Dr. Seis am 4 Mai 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).

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Get Started with Signal Processing Toolbox finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by