如何利用matlab绘制流程图,matlab程序该如何画程序流程图
本帖最后由 wuchen160 于 2019-5-21 22:09 编辑第一次接触matlab程序画流程图 不知道该如何按照这个程序画流程图 尤其是这个程序里用了很多for循环 比较迷茫……求大佬指点%MRC_scheme.m%接收分集-MRCclear,clfL_frame=130;N_packet=4000;%130个编码后符号,仿真4000组b=4;%设置为1/2/3/4对应于BPSK/QP
本帖最后由 wuchen160 于 2019-5-21 22:09 编辑
第一次接触matlab程序画流程图 不知道该如何按照这个程序画流程图 尤其是这个程序里用了很多for循环 比较迷茫……求大佬指点
%MRC_scheme.m
%接收分集-MRC
clear,clf
L_frame=130;
N_packet=4000;%130个编码后符号,仿真4000组
b=4;%设置为1/2/3/4对应于BPSK/QPSK/8PSK/16-QAM
SNRdBs=[0:2:20];
sq2=sqrt(2);
for iter=1:3
if iter==1
NT=1;0
NR=1;%SISO
gs='-kx';
elseif iter==2
NT=1;
NR=2;% 1发2收
gs='-^';
else
NT=1;
NR=4;% 1发4收
gs='-ro';
end
sq_NT=sqrt(NT);
for i_SNR=1:length(SNRdBs)
SNRdB=SNRdBs(i_SNR);
sigma=sqrt(0.5/(10^(SNRdB/10)));%瑞利分布参数,噪声标准差
for i_packet=1:N_packet
symbol_data=randint(L_frame*b,NT); %产生L_frame*b行NT列二进制信息
[temp,sym_tab,P]=modulator(symbol_data.',b);%调制
X=temp.';%X为调制后序列(L_frame行1列)
Hr=(randn(L_frame,NR)+j*randn(L_frame,NR))/sq2;%瑞利信道衰落系数
H=reshape(Hr,L_frame,NR);%重置Hr行列(L_frame行NR列)
Habs=sum(abs(H).^2,2);
Z=0;
for i=1:NR
R(:,i)=sum(H(:,i).*X,2)/sq_NT+...
sigma*(randn(L_frame,1)+j*randn(L_frame,1)); %经过瑞利信道并加复高斯白噪声
Z=Z+R(:,i).*conj(H(:,i));%MRC合并,合并系数为conj(H(:,i))
end
for m=1:P %最大似然译码
dl(:,m)=abs(sum(Z,2)-sym_tab(m)).^2+...
(-1+sum(Habs,2))*abs(sym_tab(m))^2;
end
[y1,i1]=min(dl,[],2);
Xd=sym_tab(i1).';
temp1=X>0;
temp2=Xd>0;
noeb_p(i_packet)=sum(sum(temp1~=temp2));%累加错误比特
end
BER(iter,i_SNR)=sum(noeb_p)/(N_packet*L_frame*b);%计算误比特率
end
semilogy(SNRdBs,BER(iter,:),gs),hold on
axis([SNRdBs([1 end]) 0.5*10^(-4) 1e0])
end
title('BER perfoemancde of MRC Scheme')
xlabel('SNR[dB]'),ylabel('BER')
grid on,set(gca,'fontsize',9)
legend('SISO','MRC(Tx:1,Rx:2)','MRC(Tx:1,Rx:4)')
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)