# How can I oversample the received signal by double of sampling time and have two signals

I have a question, how can I make the sampling in Matlab for the received the signal by half of time duration of symbol (Ts), and have two copies of signal (that's the process of fractional sampling FS). . that's the question briefly. let me explain what's the process of that,

A block diagram of an OFDM system with FS is shown in the below figure, suppose the information symbol on kth sub-carrier is s[k] (k = 1, ....., N), the ofdm symbol is given as below:

## After appending the cyclic prefix "NGI" before transmission, the baseband signal at the output of the filter is given by: where p(t) is the impulse response of the baseband filter and Ts is the symbol duration. this signal is unconverted and transmitted through multipath channel with impulse response c(t), the received channel is given as:

where h(t) is the impulse response of composite channel, and v(t) the AWGN. For multipath channel, h(t) can be expressed in baseband form as Nm = assumed that channel has Nm path component. = the amplitude of that time invariant during one OFDM symbol. is the path delay.

if y(t) is sample at rate Ts/G, where G is the oversampling ratio, its polyphase components can be expressed as: where: and is the initial timing of the samples

Now, My question how can I do that sampling for the signal in matlab, and then separate y1 from y2 ...... in that case, if I have G = 2, I supposed have y1 and y2. how can I get these two signals?

I've made the below Matlab code,

function data_out = received_dat(RxDa,snr_db)
Numsymbol=128;                      % number of sending frames
N=1024;                            % FFT points
N_data=N*7/8;                     %useful data
Fb=5120;

T_symbol=N/Fb;  %period of one OFDM symbol
Fc=30000;                          %subcarrier carrier frequency
Fs=102400;                          % sampling frequency
Ts=1/Fs;                            %Period

L_cp=N/8;                          % length of CP (1/8 total)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%  Is it here to add the sampling by Ts/G %%%
G = 2;
Tg = Ts/G;
Fg = /Tg;
L_RData=L_OFDM*Numsymbol;
%% t=0:1/Fs:1/Fs*(L_RData-1);
t=0:1/Fg:1/Fg*(L_RData-1);

%%%%filter parameters
Ts = 1/Fs;
Nos = Sample_up;
rolloffFactor=0.0999;
psFilter = rrcPulse(Ts,Nos, rolloffFactor);
roll_len=length(psFilter);
fil_delay=floor(roll_len/2);

%LFM parameters
LMF_m=0:4095;
LMF_f0=20000;
LMF_deltat=-1/Fs;
LMF_deltaf=4*10^4;LMF_T=length(LMF_m)*LMF_deltat;
LMF_u=2*pi*LMF_deltaf/LMF_T;
%st is LFM signal
LMF_st=(cos(2*pi*LMF_f0*LMF_m*LMF_deltat-1/2*LMF_u*(LMF_m*LMF_deltat).*(LMF_m*LMF_deltat)));

%%
%%%%%%%%%%%%%%
%multipath channel
h=[1  0.8  0.5];
RxDa = conv(RxDa,h);
% snr = -11;
RxDa = awgn(RxDa,snr_db,'measured');

index=121;

%%%%%%%%%%%%%%%%%%data processing %get %
R_D_use=RxDa(1,index+4096+12000:index+4096+12000+L_RData-1);%1*98305
% R_D_use=RxData(1,index:index+L_RData-1);%1*98305

% Downconversion
R_D_demodu=exp(-1i*2*pi*Fc*t).*R_D_use; %(F)%second-level demodulation

data_out=[];

for isij=1:Numsymbol

R_D_fil_be=R_D_demodu(1,(isij-1)*L_perOFDM+1:isij*L_perOFDM);  %extracting a symbol data
%%filtering
u=[R_D_fil_be zeros(1,fil_delay)];
R_D_fil1=filter(psFilter,1,u);
R_D_fil=R_D_fil1(fil_delay+1:end);

%down Sampling
R_D_de=real(R_D_fil(1:Sample_up:L_perOFDM))+1i*imag(R_D_fil(1:Sample_up:L_perOFDM));
%%%%%%%%%%%%%%%%%%%%%%%removing GI
R_D_FFT_be=R_D_de(L_cp+1:end);
%%%%FFT
R_D_FFT_aft=(1/N_FFT).*fft(R_D_FFT_be,N_FFT); % (I)


So, after the line where I wrote, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Is it here to add the sampling by Ts/G %%% .. it's supposed that I sampled the signal by half of time duration of symbol and I should have two output signals. . is that right?? so how can I extract the two branches of signal?

thank you.

• I think, but i'm not sure, that you are talking about oversampling in fast way than Nyquist sampling. suppose that Nyquist sampling frequency is Fs, so the frational sampling should be double of Fs or 3Fs and so on. so that you can then extract the multiple output as you mentioned in above equations. swarthmore.edu/NatSci/echeeve1/Class/e71/E71L1/E71L1.html .. I'm not sure of that, just my point of view. Good luck – Zeyad_Zeyad Jun 27 '18 at 13:04
• Thank you very much .. Yes, according to what I read, It's true what you said, but I need also to do that simulation by matlab.. Thank you – New_student Jun 28 '18 at 16:38