Description: Orthogonal Frequency Division Multiplex (OFDM, DMT)
First thank you very much for this tutorial.
In the OFDM tutorial, page 5 I have this question:
1- How this been found:
bits from the information: 1,1,-1,-1,1,1,1,-1,….
2- How this been calculated:
harmonics 7/4, 7/2, 21/2 Hz?
You have some really nice and intuitive tutorials. Thanks for posting!
I first met via this tutorial(OFDM) with COMPLEX TO REAL… your tutorials are very helpful and
understandable and it is very important because communication is very hard branch in engineering…so i think your web site second name must be COMPLEX TO SIMPLE… thank you very much and I wish you success…:)
i am doin project on “A low complexity MMSE for OFDM system over frequency selective fading channels”i wanted the source code n theory behind this project..
OFDM performs best when it is used in frequency selective channels. I am not quite sure what you are looking for. I don’t offer a lot of code, as one needs to understand the theory first. The tutorial hopes to make the OFDM theory understandable and hope it has achieved that goal for you.
At first thanks for really helpful tutorial. I have a question:
when we use guard interval our goal is protection, as I understood from tutorial we do it for each
sub-carrier. Imagine we have c1, c2, c3 and c4 as carriers. The issue of delay is between for example c1 and c2 inside of one composite OFDM signa? or between c1 and the delayed version of next symbol which is transmitted by c1? In tutorial you said symbol 0 and symbol 1, symbol 0 , so both of them are from same carrier?
Thanks in advance
The delay comes not between each of the symbol on the subcarriers but between adjacent composite symbols.
Assume that time is i = 1. So we have symbosl s11, s21, s31, s41, wehre first index stands for the subcarrier and the second for time. These are then multiplied by carriers and we get
s11xc1, s12xc2, s13xc3, s14xc4. We add these and we get the composite symbol for time 1.
This is where we add the time delay or the cyclic prefix.
In the next time interval, we have
or in time domain, we are transmitting;
s11c1+s12c2+s13c3+s14c4+ (1/8(s11c1+s12c2+s13c3+s14c4)) + s21c1+s22c2+s23c3+s24c4+(1/8(s21c1+s22c2+s23c3+s24c4)) + ….
So the delay is between composite symbols. IN a real system there are 2000 of these.
Many thanks for your reply. So is below conclusion true:
delay is between each of sij*cj and s(i+1)j*cj (i stands for time and j for carrier)? and in reality we add guard interval to whole composite signal and because it’s a linear comibination it goes to each of the sij*cj and s(i+1)j*cj?
Yes, that is correct. The sum is linear bcause the c
Yes, that is correct. The sum is linear because the subcarriers are orthogonal to each other. So each composite symbol is unique because it is adding about 2000 modulated (subcarriers multiplied bit).
The cyclic prefix is sualy about a 1/8 of the composite symbol, replicated and pasted at the end of the symbol.
Another question, we increase the duration of symbols to achieve less bandwidth in frequency domain(subcarriers equal frequency). Then we are able to divide main bandwidth to for example 2000 subcarriers which each of them has the same width e.g. deltaF. I faced with this formula :
Tsym=(Number of subcarriers e.g. 1024)*ld(M)* Tb(duration of one bit)
where ld(M)=logbase2(M)=m(number of bits which depends one modulation scheme)
and this Tsym should be the same for all of subcarriers and also the composite signal
two questions that I couldn’t give them answer:
1)if we use different modulation schemes(QPSK,16QAM,64QAM) for different subcarriers(like what happens in LTE)so du to this formula how can they have the same pulse duration?
2) In implementation where and how this increase in pulse duration happens?
Thanks for your attention
1. For all these modulations, the symbol time is exactly the same. Only bits per symbol are different. So lets say you have three subcarriers each with
c1 -> QPSK
c2 -> 16QAM
c3 -> 64QAM
then carrier one will have a two level signal (assuming complex carrier), c2 will have a 4 level signal and 64 will have 8 level signal. But the symbol duration for each must be the same otherwise you can not make OFDM work.
I am not sure what this formula is.
Symbol rate is determined by the subcarrier spacing. It is equal to spacing times 2, at most.
So total Rs = Num of subcarriers * 2*spacing
Bit rate if all modulation is same is the M times that.
If subcarrier spacing is 1 Khz, then Total Rs = 1024*1000*2
You would then reduce this by the cyclic prefix and pulse shaping.
All this happens in the IFFT block at the transmitter. If pulse shaping is used, it is applied after the composite symbol is created.
I wasn’t able to understand OFDM , until I came across the tutorial here. And I just can’t remain quiet without thanking you. This is the best and most clearly written resource on OFDM that I’ve come across till now. Especially the part which explains why we can use IFFT on a time domain signal cleared a lot of my confusions.
Thank you very much for this great tutorial and others. Wish you a lot of success.
Very nice tutorial
When taking a look at figure 8 I see phase shifting at points X=160 and X=190 although binary value doesn’t change – why?
Best Regards, Lukas
I think I used a QPSK signal to create these pictures. The QPSK symbols are not on the x-axis so they are not the same as a BPSK signal. I will correct this one of these days.
The bits and the transitions should line up.
This tutorial on ofdm has proved to be really really enlightening. I have read a lot of other tutorials but nothing comes close to this. I am writing a thesis on low-power wireless systems and would like to use certain explanations from your tutorial. Would you grant me the permission for the same? I would only be using it to explain OFDM while my thesis is much beyond OFDM. My work only uses the concept of OFDM and goes deep devising techniques for low power wireless communication. Since you have copyrighted your work, it is courtesy to ask you before using it.
Please get back to me soon.
thank you for these intuitive tutorials. These really help to get a clearer picture.
before my question I would to ask you very much for your tutorials , my question is about orthogonality that depends on the fundamental frequency , ex : in page 5 in the tutorial in case of fundamental frequency = .5 Hz , its harmonics are orthogonal to each other , but in case of fundamental frequency = .875 Hz , its harmonics are not orthogonal , why ?
and thank you again for your effort and waiting for you answer
Harmonics of 0.5 Hz are 1 x .5, 2x.5, 3x.5, … nx.5, all integer multiples.
.875 is not a harmonics of 0.5 Hz..
Its its harmoics are all integer multiples of it, or 2x.875, 3x.875 etc.
yes but my question was that .875 and its harmonics which is 2x.875 , .. etc are not orthogonal to each other
fc = .875;
wc = 2*pi*fc;
t = 0: .01: 1.1429;
n = 4;
m = 7;
sig = cos(m*wc*t).*cos(n*wc*t)
%sig = cos(m*wc*t);
Try this. Not sure why you are saying they are not orthogonal?
I said that because I have computed that intergral : cos((7/4)*pei*t)*cos((7/2)*pei*t) interval from 0 to 2*pei and the result was not zero but was .003
That’s because, it is using a trapezoidal approximation for integration. So the answer may not be identically 0.0.
If you solve the equation and do a closed from solution, you should get a zero for cases such as
cos(nwt) x cos(mwt) ] over a period of 1/w.
ok , I will try to understand that idea and thank you so much again for your tutorial because it is simple and very useful .
I think it is because of the approximation if you did it in Matlab.
Decrease the time resolution and see if the number gets smaller. That would be a test.
When the delay spread is less than one symbol why we get flat fading ? , and why we get frequency-selective in case of larger than one symbol ?
why intereference is minimum in orthogonal signals?
Interference is the same, just does not effect all the carriers the same. Only those that are at the same frequency will be effected.
Your email address will not be published. Required fields are marked *
You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Current month ye@r day *
Leave this field empty *