2:05 , if I define a vector [c1,0,0,0...,0] , and take the IFFT do I get discrete sinusoid samples? I did it in python but got all of the IFFT elements same values . Edit: I tried to do the FFT manually in python but same outcome N=len(X) n=np.arange(0,N) multicarrier_=np.zeros(N,dtype=np.complex64) for k in range(N): subcarrier_=X[k]*np.exp(1j*2*np.pi*k*n/N) multicarrier_+=subcarrier_
Yes, you're right. I simplified the diagram, only showing the elements of the vector that relate to the data-carrying sub channels. The actual first element (as you've done) corresponds to the zero-frequency (ie. constant) waveform. Try running these lines of code in Matlab: X=zeros(1,40); % Frequency domain vector X(2)=1; % Put data into the first subcarrier (only) ... note that X(1) corresponds to f=0 x=ifft(X); % Use IFFT to generate time domain signal stem(real(x)) % plot the time domain signal
Thank you for your explanation. I have a question. Is it correct to make OFDM symbol and then go through the pulse shaping filter? If so, will the shape of the waveform change?
I can't understand what you're saying -- I hear "a cause function" (for the exponentials in the continuous waveform, which are multiplied by a rect function). Is that how you pronounce "COS"? Or is there some other term I need to look up?
Hi Iain, thanks for the detailed explanation.Will be great if you clear a doubt in details for me with 5g or lte 3gpp baseband signal generation and upconvertion. As per specs , during baseband generation , both negative and positive subcarriers are used to modulate data to symbols and the negative subcarrier will be in the left part of carrier and positive subcarrier will be on the right side of carrier frequency.from the mathematics its very clear but my doubt is how its done practically as i know say we are mudualting a -15khz subcarrier (cos2pi15t - sin2pi15t) and after upconvertion will fall on the left side of central freq while modulating with cos(2pi15t ) + sin(2pi15t) will fall on the right side of carrier. Basically the sign of SIN part decides were it falls on the side of carrier freq. But sing of the SIN part is dependent on the data withwhich its modulated. So when we add these two as shown in the specs before upconvertion , will not they interfere with each other? Could you pls throw more light on how practically its done right from baseband generation to upconvertion which will be of great help
Thanks Ian those were too wonderful videos of ofdm with lot of interesting insights.eventhough it gave more details of how those subcarriers are upconveterd but my basic query seems to be not fully addressed.below are few concepts for me to be more clear about this. As states earlier in the base band if cos leads by sin , the modulated symbol will go to the right part of spectrum while if the sin part leads the cos , then the modulated subcarrier goes to the left part of spectrum. But suppose I need to use a qpsk with 4 symbols to be used at say -15khz baseband and another +15khz baseband (like it's two different stations broadcasting) how can we ensure that both will not interfere when upconverted. How can we ensure that irrespective of whatever symbols we are modulating with -15khz always ensures that the sin component always leads and for the +15 kHz the cos component always leads by sin. As I can suppose if I take -15kz for modulating, then based on the values of modulating symbol the sin wave some times leads and sometime lags the case wave. So if the modulating symbols results in leading cos wave , after upconvertion this will go to right part of spectrum which will interfere with the symbols modulated with +15khz.how can we guarantee that whatever symbols are transmitted from +15khz and -15 kHz falls on the correct part of spectrum irrespective of the whatever the modulated data is ?can you pls throw some more light with some example say using qpsk with all 4 symbols can be trsamitted separately with +15khz and -15khz and never interfere with each other
They need to be integer, in order to maintain the orthogonality between the subcarriers. Hopefully this video explains it: "OFDM Waveforms" th-cam.com/video/F6B4Kyj2rLw/w-d-xo.html
Generally people only plot the magnitude, in the frequency domain. There is a corresponding phase plot, which flips by 180 degrees in the frequency ranges where the “amplitude” is negative.
2:04 If only the first element is nonzero, the output of IDFT has to be the DC value, not the sinusoid of fundamental frequency. The subcarriers range from C_0 to C_{N-1}. C_0 will correspond to the DC value at the output and C_1 will give the fundamental sinusoid of period = N. Please respond if I am wrong.
Try running these lines of code in Matlab: X=zeros(1,40); % Frequency domain vector X(2)=1; % Put data into the first subcarrier (only) ... note that X(1) corresponds to f=0 x=ifft(X); % Use IFFT to generate time domain signal stem(real(x)) % plot the time domain signal
2:05 , if I define a vector [c1,0,0,0...,0] , and take the IFFT do I get discrete sinusoid samples? I did it in python but got all of the IFFT elements same values .
Edit: I tried to do the FFT manually in python but same outcome
N=len(X)
n=np.arange(0,N)
multicarrier_=np.zeros(N,dtype=np.complex64)
for k in range(N):
subcarrier_=X[k]*np.exp(1j*2*np.pi*k*n/N)
multicarrier_+=subcarrier_
Yes, you're right. I simplified the diagram, only showing the elements of the vector that relate to the data-carrying sub channels. The actual first element (as you've done) corresponds to the zero-frequency (ie. constant) waveform.
Try running these lines of code in Matlab:
X=zeros(1,40); % Frequency domain vector
X(2)=1; % Put data into the first subcarrier (only) ... note that X(1) corresponds to f=0
x=ifft(X); % Use IFFT to generate time domain signal
stem(real(x)) % plot the time domain signal
Thank you for your explanation. I have a question. Is it correct to make OFDM symbol and then go through the pulse shaping filter? If so, will the shape of the waveform change?
I can't understand what you're saying -- I hear "a cause function" (for the exponentials in the continuous waveform, which are multiplied by a rect function). Is that how you pronounce "COS"? Or is there some other term I need to look up?
Yes, it's the cos function.
Hi Iain, thanks for the detailed explanation.Will be great if you clear a doubt in details for me with 5g or lte 3gpp baseband signal generation and upconvertion. As per specs , during baseband generation , both negative and positive subcarriers are used to modulate data to symbols and the negative subcarrier will be in the left part of carrier and positive subcarrier will be on the right side of carrier frequency.from the mathematics its very clear but my doubt is how its done practically as i know say we are mudualting a -15khz subcarrier (cos2pi15t - sin2pi15t) and after upconvertion will fall on the left side of central freq while modulating with cos(2pi15t ) + sin(2pi15t) will fall on the right side of carrier. Basically the sign of SIN part decides were it falls on the side of carrier freq. But sing of the SIN part is dependent on the data withwhich its modulated. So when we add these two as shown in the specs before upconvertion , will not they interfere with each other?
Could you pls throw more light on how practically its done right from baseband generation to upconvertion which will be of great help
Hopefully this video from my channel will help: "How Does a Frequency Selective Channel Affect OFDM?" th-cam.com/video/1_bM_-v4yLY/w-d-xo.html
Thanks Ian those were too wonderful videos of ofdm with lot of interesting insights.eventhough it gave more details of how those subcarriers are upconveterd but my basic query seems to be not fully addressed.below are few concepts for me to be more clear about this. As states earlier in the base band if cos leads by sin , the modulated symbol will go to the right part of spectrum while if the sin part leads the cos , then the modulated subcarrier goes to the left part of spectrum. But suppose I need to use a qpsk with 4 symbols to be used at say -15khz baseband and another +15khz baseband (like it's two different stations broadcasting) how can we ensure that both will not interfere when upconverted. How can we ensure that irrespective of whatever symbols we are modulating with -15khz always ensures that the sin component always leads and for the +15 kHz the cos component always leads by sin. As I can suppose if I take -15kz for modulating, then based on the values of modulating symbol the sin wave some times leads and sometime lags the case wave. So if the modulating symbols results in leading cos wave , after upconvertion this will go to right part of spectrum which will interfere with the symbols modulated with +15khz.how can we guarantee that whatever symbols are transmitted from +15khz and -15 kHz falls on the correct part of spectrum irrespective of the whatever the modulated data is ?can you pls throw some more light with some example say using qpsk with all 4 symbols can be trsamitted separately with +15khz and -15khz and never interfere with each other
Great!!!! Hats off
Glad you liked it.
Excellent explanation, thanks a lot sir
You are most welcome
The vector C_n represents just integer values of the base function f1 - ist that right?
Or can use other step sizes e.g. f2 = 1.5*f1; f3 = 3*f1.....
They need to be integer, in order to maintain the orthogonality between the subcarriers. Hopefully this video explains it: "OFDM Waveforms" th-cam.com/video/F6B4Kyj2rLw/w-d-xo.html
I am wondering why it ends up as the modulus of the sinc function, i.e. why there's no negative values over there in the frequency domain.
Generally people only plot the magnitude, in the frequency domain. There is a corresponding phase plot, which flips by 180 degrees in the frequency ranges where the “amplitude” is negative.
thank you very much,
You are welcome!
2:04 If only the first element is nonzero, the output of IDFT has to be the DC value, not the sinusoid of fundamental frequency. The subcarriers range from C_0 to C_{N-1}. C_0 will correspond to the DC value at the output and C_1 will give the fundamental sinusoid of period = N. Please respond if I am wrong.
Yes, you're right. I simplified the diagram, only showing the elements of the vector that relate to the data-carrying sub channels.
@@iain_explains I did not understood how output of IDFT is sinusoidal with .output of IDFT will be all of same elements for given example right.
Try running these lines of code in Matlab:
X=zeros(1,40); % Frequency domain vector
X(2)=1; % Put data into the first subcarrier (only) ... note that X(1) corresponds to f=0
x=ifft(X); % Use IFFT to generate time domain signal
stem(real(x)) % plot the time domain signal