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];
end
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.
//