我有一个问题,我怎样才能在Matlab中对接收到的信号进行一半的符号持续时间(Ts)的采样,并有两个信号副本(这是分数采样FS的过程)。. 这就是简单的问题。让我解释一下它的过程是什么,
下图显示了具有 FS 的 OFDM 系统的框图,
假设第k个子载波上的信息符号为s[k] (k = 1, ....., N),则ofdm符号如下:
在传输前附加循环前缀“NGI”后,滤波器输出的基带信号由下式给出:
其中 p(t) 是基带滤波器的脉冲响应,Ts 是符号持续时间。该信号未经转换并通过具有脉冲响应 c(t) 的多径信道传输,接收信道如下:
其中 h(t) 是复合信道的脉冲响应,
v(t) 是 AWGN。对于多径信道,h(t) 可以用基带形式表示为

Nm = 假设通道具有 Nm 路径分量。
如果 y(t) 是以速率 Ts/G 进行采样,其中 G 是过采样率,则其多相分量可以表示为:
在哪里:
现在,我的问题是如何在 matlab 中对信号进行采样,然后将 y 1与 y 2分开......在这种情况下,如果我有 G = 2,我应该有 y 1和 y 2。我怎样才能得到这两个信号?
我制作了下面的 Matlab 代码,
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)
所以,在我写的那一行之后,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% %%%% 是不是在这里添加了 Ts/G 的采样 %%% .. 假设我对信号进行了一半的符号持续时间的采样,我应该有两个输出信号。. 是对的吗??那么如何提取两个信号分支呢?
谢谢你。








