If have an ofdm system with $N$ subcarriers, and sampling frequency $F_s$, that means that duration of each subcarrier is $T_s = \ {1/F_s}$ and the duration of whole symbol (which includes $N$ subcarriers) will be $T_{sym} = N/F_s$. I think till now, it's ok.

Additionally, the $F_s$ is coming from $F_s = B*a$, where $B$ is the width of baseband signal and $a$ is the upsampling factor.

My concern is, what's about if I need to transmit $2N$ instead of $N$ subcarriers within the same symbol duration, which parameters I should change? Will that be correct to change the $F_s$. however if I set $F_s = 2F_s$, in that case it's like I doubles the width of baseband signal too, which is $B$!

  • 1
    $\begingroup$ First Paragraph, first sentence is wrong. The idea of OFDM is that all symbols increase in duration by a factor of N. $\endgroup$
    – mmmm
    Jul 12, 2021 at 7:49
  • $\begingroup$ @mmmm Could you please explain it for me? I know that might be wrong for that I asked about it. However, I think the duration of symbol now is increasing by $N$, but I am not sure. thanks again $\endgroup$
    – Gze
    Jul 12, 2021 at 9:32

5 Answers 5


I'll try it this way (the other answers are right, you really have a problem with basics):

OFDM works like this:

  1. You have $N$ values. You want to put this $N$ values on $N$ subcarriers and transmit them at the same time.
  2. You take the $N$ values, and apply an IDFT to it. An IDFT always gives you as much output as you give it input. So, you get $N$ values out. This is one OFDM symbol. It has a length of $N$, as you can see. Therefore, each value on each subcarrier has a "length" of $N$, too.
  3. you transmit these $N$ values as samples¹. That means the time duration of each symbols is $N/f_s$, with $f_s$ being the sampling rate.

As you can see, length == number of subcarriers. There's no way around that. If you want $2N $ subcarriers, you will have a length of $2N$. That's how it is.

If your requirement is, as stated in your question:

My concern is, what's about if I need to transmit $2N$ instead of $N$ subcarriers within the same symbol duration, which parameters I should change?

So, you know that so, if the duration needs to stay the same, then

\begin{align} \frac{N_{old}}{f_{s,old}} &= \frac{N_{new}}{f_{s,new}}= \frac{2N_{old}}{f_{s,new}} \end{align}

So, let's figure out the value of the only thing we can change in this equation:

\begin{align} \frac{N_{old}}{f_{s,old}} &= \frac{2N_{old}}{f_{s,new}} &&\| :N_{old}\\ \frac{1}{f_{s,old}} &= \frac{2}{f_{s,new}} &&\| \cdot f_{s,new}\\ \frac{f_{s,new}}{f_{s,old}} &= 2 &&\| \cdot f_{s,old}\\ {f_{s,new}}&=2{f_{s,old}}.&&&\rule{0.5em}{0.5em} \end{align}

From that equation you can directly see that you need $f_{s,new}=2f_{s,old}$. There is no other way to keep the duration equal, but get twice as many subcarriers.

¹ there's a guard interval, typically occupied by a cyclic prefix, that you'll have to add, usually. But we're not at a point where we need to discuss that.

  • $\begingroup$ That means if I want to simulate the effect of reducing the subcarrier spacing in MATLAB, I must up-convert the signal into band-pass? $\endgroup$
    – Gze
    Jul 14, 2021 at 3:00
  • $\begingroup$ no, it doesn't mean that. That has nothing to do with each other. Seriously, grab a book that explains OFDM, and read it. You're totally confusing a lot of concepts. $\endgroup$ Jul 14, 2021 at 6:57
  • $\begingroup$ @Gze Sure, you are absolutely correct. To investigate the effect of sub-carriers spacing, you need to up-convert into pass-band to set a constant bandwidth for both systems with different number of sub-carriers. I will put the way about how doing that in MATLAB later today. $\endgroup$ Jul 17, 2021 at 23:44
  • $\begingroup$ @Zeyad_Zeyad that is absolutely not correct. You don't need to convert anything; this is all the same math in baseband. Why would the math in passband be any different? It would not; that's the whole thing why we call it equivalent baseband. $\endgroup$ Jul 18, 2021 at 10:05
  • $\begingroup$ @MarcusMüller When setting the sub-carriers spacing, you need to transmit the symbols through the same bandwidth. In order to do that, it's needed to convert into pass-band. According to my knowledge, this is the alone way to investigate the effects of sub-carriers spacing. $\endgroup$ Jul 19, 2021 at 12:36

You can decrease the subcarriers spacing which gives you longer ofdm symbol.

  • $\begingroup$ Yes, exactly, that what I need. It's to transmit $2N$ with half subcarriers spacing. So how can I decrease the subcarrier spacing ? .. what does that mean, is it increasing the $F_s$? I don't think so $\endgroup$
    – Gze
    Jul 13, 2021 at 5:47
  • $\begingroup$ Gze, in your question you want to decrease the length of symbols. Now you want to decrease the subcarrier spacing. As Am Ki says, smaller subcarrier spacing means longer symbol. Both of us can repeat that many times more. It's really not that complicated. Please have a look at how the length of the DFT, subcarrier spacing and sampling rate are related. It's not that hard, really, I promise! $\endgroup$
    – mmmm
    Jul 13, 2021 at 7:38
  • $\begingroup$ Wait, @gze, are you maybe confusing subcarrier spacing (which is a distance in frequency) with a duration (which is a distance in time)? $\endgroup$
    – mmmm
    Jul 13, 2021 at 8:04
  • $\begingroup$ @mmmm, I am not talking about the length of symbols. I mean transmitting $2N$ subcarriers in the same bandwidth of $N$; it means the subcarriers spacing will be decreased till the half. so how can I do that ? $\endgroup$
    – Gze
    Jul 13, 2021 at 8:34
  • $\begingroup$ @mmmm I think symbol duration is different about symbol length, is that correct? I tried understanding it but couldn't. If I can have a look and get it, I won't ask here. $\endgroup$
    – Gze
    Jul 13, 2021 at 9:30

With 802.11ax versus 802.11ac specification: for 20MHz bandwidth, we went from 64 to 256 FFT (X4) -- however, the frequency separation went from 312.5KHz down to 78.125 (/4) and the symbol duration (w/o CP) went from 3.2 to 12.8 usecs (x4). These constraints are ALL related to the use of the FFT for the sub-carrier separation at the receiver. Maybe we need to rethink the use of the FFT?


You can do that by decreasing the sub-carriers spacing into half which is equivalent to increasing the number of sub-carriers transmitted in the same existed bandwidth.
For example, the bandwidth will be occupied by 2N subcarriers instead of N.

you can do that by only using 2N-IDFT OFDM instead of N-DFT OFDM, but to simulate that in MATLAB, you need to use a filter to included the effect of sub-carriers spacing such that: $F_{spacing}$ = $F_s/N$, so using $2N$ will automatically decrease the sub-carriers spacing.

Just use the same sampling frequency with different number of subcarriers to investigate the performance of that effect.


Let $X$ be your OFDM signal vector after adding the guard interval. It means that you already performed the IFFT and added the CP guard interval. B is the bandwidth you want to transmit the data through it, it's a value, for example $B = 20$ x $10^6$
The signal $X$ has $N = 64$ sub-carriers and $N_g = 16 = N/4$ guard interval. (These are the paramters of WLAN standard, I think).

So, the IFFT/ FFT period is $3.2$ $us$ which is $T_{fft } = 1/(B/N)$ and the guard interval period is $T_g = T_{fft}/4$. Hence, the duration of OFDM symbol will be $T_t = T_g + T_{fft }$. I think till here, it's clear. The duration of your ofdm symbol is $T_s = T_t/(N+N_g)$.

let's have your carrier frequency $F_c = 2.412$ x $10 ^ 9$, you set the time vector by matlab e.g., t=T_s /50:T_s /50:T_s ; Then you perform your passband signal by matlab as follows:

Carr = [];
for n=1:length(X)
    Carr_real = real(X(n))*cos(2*pi*Fc*t); 
    Carr_imag = imag(X(n))*sin(2*pi*Fc*t);
    Carr = [Carr Carr_real+Carr_imag];

Or, you can use the $F_s$ to set the vector t, such as t = 0 : 1/F_s:(1/F_s)*length(S)-1 $S$ is the signal $X$ after upsampling it. (It must be upsampled following your bandwidth and upsampling factor). Finally your up-converted signal Carr will be $Carr = S.$*$exp(2*pi*F_c*t)$, $.*$ is elements wise multiplication. Then you transmit the $S_p$ via the channel. This signal Carr is called the pass-band signal.

In that way, you will transmit different signals with different number of sub-carriers through the same bandwidth. You see? everything is related to each other and all parameters must be set following the system structures. Practically, all signals must be up-converted into passband before transmission, but baseband is usally used for simulation only. I don' think that you can do this procedure using other methods !!

if you got difficulties to implement that in MATLAB, let me know.


  • 2
    $\begingroup$ decreasing the sub-carriers spacing into half which is equivalent to decreasing the time-domain sub-carriers transmission duration to the half too Sorry, this is wrong. The spacing of subcarriers is inversely proportional to the duration, not proportional! $\endgroup$ Jul 15, 2021 at 7:59
  • $\begingroup$ @MarcusMüller It's ok, to avoid that endless discussion, I modified it. What is required is how to occupy the same bandwidth with different number of sub-carriers. $\endgroup$ Jul 15, 2021 at 10:25
  • 2
    $\begingroup$ This answer does not answer the question as the OP asked for "the same symbol duration". Reducing subcarrier spacing increases the OFDM symbol duration. $\endgroup$
    – AlexTP
    Jul 15, 2021 at 13:48
  • 1
    $\begingroup$ ... That's what everyone keeps saying. Then one wrong answer comes along, and gets accepted, then corrected, but still, unlike the other answers doesn't address the question. It's a bit frustrating to try and earn reputation with factually correct answers in this scenario :( $\endgroup$
    – mmmm
    Jul 16, 2021 at 1:40
  • 1
    $\begingroup$ @gze your question is still "how can I have 2N subcarrier in the same duration", and as all others have told you, there's no way to do that but double sampling rate. this answer has nothing speciifically to do with answering your question, so we really don't know how to help you. This answer does not keep the duration constant, it is not what you demand in the question. As Zeyad has explained, you must use 2N samples instead of N. That's twice the length in samples. Twice the length in samples means twice the duration, unless you double your sampling rate - and hence the bandwidth. $\endgroup$ Jul 21, 2021 at 16:40

Per definition of how OFDM works, you take a vector of input symbols, and interpret them as parallel sub carrier data. You then do an N-IDFT. That directly says the length of a symbol on a subcarrier is N samples. Always.

Of course, there might be cyclic prefixing, which increases the length of the OFDM symbol further.

what's about if I need to transmit 2N instead of N subcarriers within the same symbol duration,

Since 2N is twice as many as N samples, if the duration needs to remain the same, you will have to double your sampling rate - and thus your bandwidth. As the saying goes, there is no free lunch.

That's all very good and consistent: OFDM isn't magic - it can't produce spectrum out of nowhere. It's just a clever way of dividing the spectrum to make it easier to use. Nothing more, nothing less. You can't transport more symbols per second in the same bandwidth with OFDM than with a single carrier system; all you achieve is easier/better equalization.

  • $\begingroup$ Thank you for your response. Yes I know about OFDM, but What I am asking about is to transmit $2N$ instead of $N$ subcarriers with same duration; it means decreasing the subcarrier duration to be half. You said that I should double my bandwidth too; so in that case it's like I didn't decrease the symbol duration to the half. Decreasing the symbol or subcarriers duration to the half means transmitting $2N$ subcarriers instead of $N$ subcarriers with same symbol duration and utilized bandwidth. Is that correct?? $\endgroup$
    – Gze
    Jul 13, 2021 at 2:01
  • $\begingroup$ Re-read my answer, please. You cannot have more sub carriers with the same sampling rate and the same duration. That is very simply not possible. The number of subcarriers is the number of samples in your dft, N. The length of the symbol is the number of samples in your DFT, N. These two numbers are always the same. they can't be different. A DFT is a transform between vectors of length N and vectors of length N. $\endgroup$
    – mmmm
    Jul 13, 2021 at 2:16
  • $\begingroup$ Maybe, I couldn't get what you mean in your answer, .. is it must to double to bandwidth in that case?? What I am asking is about the possibility to divide the bandwidth into $2N$ narrow subcarriers instead of $N$ wider subcarriers. in other words, to have each subcarrier with duration half of the original one. . That's what I am asking about. I hope it's clear now. $\endgroup$
    – Gze
    Jul 13, 2021 at 2:47
  • $\begingroup$ I repeat: when you divide into 2N sub-channels, that means that your symbol is 2N samples long. Always. You get a twice as long symbol, not a half as long symbol. $\endgroup$
    – mmmm
    Jul 13, 2021 at 7:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.