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.

 Accepted Answer

Wayne King
Wayne King on 4 May 2012

0 votes

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.

More Answers (3)

Wayne King
Wayne King on 3 May 2012

0 votes

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 on 4 May 2012

0 votes

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 on 4 May 2012

0 votes

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 Comment

Dr. Seis
Dr. Seis on 4 May 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).

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!