2
$\begingroup$

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,

enter image description here suppose the information symbol on kth sub-carrier is s[k] (k = 1, ....., N), the ofdm symbol is given as below:

Heading

After appending the cyclic prefix "NGI" before transmission, the baseband signal at the output of the filter is given by:

enter image description here

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:

enter image description here

where h(t) is the impulse response of composite channel, enter image description here and v(t) the AWGN. For multipath channel, h(t) can be expressed in baseband form as enter image description here

where: enter image description here

Nm = assumed that channel has Nm path component.

enter image description here = the amplitude of that time invariant during one OFDM symbol.

enter image description here 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:

enter image description here

where:

enter image description here

and enter image description here 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)
L_OFDM=N_FFT+L_cp;                %length after adding GI


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%  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);
%adding wgn
% 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.

$\endgroup$
  • 1
    $\begingroup$ 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 $\endgroup$ – Zeyad_Zeyad Jun 27 '18 at 13:04
  • $\begingroup$ 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 $\endgroup$ – New_student Jun 28 '18 at 16:38

Your Answer

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

Browse other questions tagged or ask your own question.