概述
hi=Parameter0;
para=Parameter1;
f1=Parameter2;
g1=Parameter3;
leverShu=Parameter4;
%para=64; %子载波数
%f1=64; %设置FFT长度,与子载波数相同
%g1=16; %设置保护时隙的长度
%leverShu=4;
OutputPort1=InputPort1; %创建输出端口信号结构
OutputPort2=InputPort2; %创建输出端口信号结构
LengYuan=length(InputPort1.Sampled(1).Signal);
ich0=InputPort1.Sampled(1).Signal(1:leverShu:end);
qch0=InputPort2.Sampled(1).Signal(1:leverShu:end);
it0=InputPort1.Sampled(1).Time(1:leverShu:end);
qt0=InputPort2.Sampled(1).Time(1:leverShu:end);
Ax=length(ich0);
Bx=length(qch0);
Ns=Ax/f1;
%***串并变换***
ich=reshape(ich0(1:f1*Ns),f1,Ns);
qch=reshape(qch0(1:f1*Ns),f1,Ns);
kmod=1./sqrt(2);
ich1=ich.*kmod;
qch1=qch.*kmod;
x=ich1+qch1.*sqrt(-1);
xn=x;
%pcsc编码
for k=1:2:f1
for i=1:Ns
xn(k,i)=x(k,i)+x(k+1,i);
xn(k+1,i)=conj(x(k,i))-conj(x(k+1,i));
end
end
end
y=ifft(xn);
ich2=real(y);
qch2=imag(y);
%*******************插入保护间隔*******************
ich3=[ich2(f1-g1+1:f1,:);ich2];
qch3=[qch2(f1-g1+1:f1,:);qch2];
%******************并串转换*********************
ich4=reshape(ich3,1,(f1+g1)*Ns);
qch4=reshape(qch3,1,(f1+g1)*Ns);
hiLength1=length(ich4);
ich4=[ich4 ich4 ich4 ich4];
qch4=[qch4 qch4 qch4 qch4];
ich4=ich4(1:LengYuan);
qch4=qch4(1:LengYuan);
timesp=it0(2)-it0(1);
N=LengYuan;
R=arrayfun(@(x)it0(1)+timesp*(x-1),1:N);
hiLength3=length(ich4);
%*****************形成复数发射数据***************
OutputPort1.Sampled(1).Signal=ich4;
OutputPort2.Sampled(1).Signal=qch4;
OutputPort1.Sampled(1).Time=R;
OutputPort2.Sampled(1).Time=R; 这个是在optisystem中设计的一个matlab模块,运行时提示38行至少缺少一个END语句 为何啊 求解!!
那个我打错了 运行时只有2个end 不是三个
最后
以上就是长情冬日为你收集整理的matlab d(end),matlab出现至少缺少一个END语句是为什么呢的全部内容,希望文章能够帮你解决matlab d(end),matlab出现至少缺少一个END语句是为什么呢所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复