求高手帮忙看一个Matlab 程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求高手帮忙看一个Matlab 程序相关的知识,希望对你有一定的参考价值。
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);
以上是关于求高手帮忙看一个Matlab 程序的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB里的Toolboxes怎么使用?急求高手指点!!!
求用动态规划的方法求解简单的整数规划问题的matlab程序或者C++程序代码,高手们帮帮忙