首页 > 编程知识 正文

matlab绘制流程图,计算流程图MATLAB编程

时间:2023-05-05 14:07:05 阅读:165811 作者:3245

这个帖子最后由wuchen160在2019-5-21 22:09编辑

当第一次接触matlab程序并绘制流程图时,不知道该如何根据该程序绘制流程图。 特别是在这个程序中使用了很多for循环,很迷茫……想向大人物请教

%MRC_scheme.m

%接收分集-MRC

clear,clf

L_frame=130;

N_packet=4000; 0个编码后符号,模拟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 ';

结束

sq_nt=sqrt(nt;

forI_SNR=1:length(SNRDBS ) )。

SNRdb=SNRDBS(I_SNR );

sigma=sqrt(0.5/) 10 ^ (SNR db/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(h65:I ).*X,2 )/sq_NT .

Sigma*(Randn(L_Frame,1 ) J*Randn ) L_Frame,1 ); %感动的毛衣频道和高斯白噪声

z=zr(:I ).*conj ) h ) :I ); %MRC合并,合并系数为conj(h ) :I ) )

结束

for m=1:P %最大似然解码

dl(3360,m )=ABS(sum(z,2 )-sym_tab(m ).^2 .

(-1sum(habs,2 ) ) ABS ) sym_tab ) m ) ) 2;

结束

[y1,I1]=min(dl,[],2 );

xd=sym_tab(I1 ).';

temp1=X0;

temp2=Xd0;

noeb_p(I_packet )=sum ) sum ) temp1)=temp2); %累积错误位

结束

ber(ITER,i_SNR )=sum(noeb_p )/)/(N_packet*L_frame*b ); %计算误比特率

结束

SemiLogy(SNRDBS,ber(ITER, ),gs ),hold on

axis([SNRDBS(1end ) ]0.5*10^(-4 )1E0 ) ) )。

结束

标题(berperfoemancdeofmrcscheme ) )。

xlabel(SNR[db] )、ylabel )和(ber ) )。

栅格on,set(GCA,' fontsize ',9 ) )。

legend(Siso )、) MRC ) tx:1、Rx:2 )、) MRC ) tx:1、Rx:4 )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。