OFDM同步 ML算法 MATLAB仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);
%