OFDM同步 ML算法 MATLAB仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

m1=3;c1=zeros(m1,2048);

for zhen1=1:m1

M1=1992;

a1=rand(1,7968);

a1=sign(a1-0.5);

b1=reshape(a1,1992,4);

xxx1=2*b1(:,1)+b1(:,2)+j*(2*b1(:,3)+b1(:,4));

xx1=ifft(xxx1')*1992;

geshu1=length(xx1);

s11=1;s21=56;s31=1;

w11=s11:s31:s21;

addcp1=ones(1,geshu1+s21);

for i1=w11

addcp1(1,i1)=xx1(1992-s21+i1);

end

w21=1:1:geshu1;

for k1=w21

addcp1(1,s21+k1)=xx1(k1);

end

c1(zhen1,1:2048)=addcp1;

c11=c1';

addcp11=reshape(c11,1,6144);

end

for n=1:3

for m=1:2048

addcp11((n-1)*2048+m)=addcp11((n-1)*2048+m)*exp(i*2*pi*0.5*m/2048);

%加入频偏V以后的各样点值

end

end

%信道模型:带多普勒频移的瑞利衰落信道

fade=[0 0 0.2 0.3]; %多径的幅度

Len=length(addcp11);

f_Len=length(fade);

sch=addcp11;

for m=1:f_Len

sch(1+m:Len)=sch(1+m:Len)+fade(m)*addcp11(1:Len-m);

end

fd=0.25;%多普勒频移

for m=1:length(sch)

addcp11(m)=sch(m)*exp(i*2*pi*fd*m/2048);

%加入频偏V以后的各样点值end

SNR=15;

noise=awgn(addcp11,SNR);

addcp11=addcp11+noise;

n1=length(addcp11);

for h1=1:n1-1992

as1=0;

if h1<4098

for l1=h1:h1+s21-1

as1=as1+abs(addcp11(l1)*conj(addcp11(l1+M1)))-0.5*(abs(addcp 11(l1))^2+abs(addcp11(l1+M1))^2);

div1=-1./(2*pi)*angle(addcp11(l1)*conj(addcp11(l1+M1)));

end

else

for y1=h1:s21+4096

as1=as1+abs(addcp11(y1)*conj(addcp11(y1+M1)))-0.5*(abs(addcp11(y1) )^2+abs(addcp11(y1+M1))^2);

div1=-1./(2*pi)*angle(addcp11(y1)*conj(addcp11(y1+M1)));

end

end

p1(h1)=as1;

ff(h1)=div1;

end

figure(1)

plot(p1);

figure(2)

t=1:30:4096;

plot(t,ff(t));

%寻找定时同步的准确位置

% max1=0;

% for m=1:2000

% if p1(m)>max1 %条件判断,如果数组前面的数比其后的小,执行以下语句% max1=p1(m);

% dml=m;

% end

% end

% fprintf('定时偏差d1的估计值为:%f\n',dml);

%

相关文档
最新文档