找回密码
 注册
关于网站域名变更的通知
查看: 515|回复: 1
打印 上一主题 下一主题

第一次接触matlab程序画流程图,不知道该如何按照这个程序画流程图。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-1-29 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本人菜鸟,第一次接触matlab程序画流程图,不知道该如何按照这个程序画流程图, 尤其是这个程序里用了很多for循环, 比较迷茫……麻烦大神指点一下,非常感谢!
+ \, a8 \; G& j8 C! ]) a) E$ q%MRC_scheme.m
, G) A; Z# K- Y. F7 z%接收分集-MRC
8 ~9 X! v9 ]3 }5 r# Qclear,clf, O+ p  K4 k+ F1 I' I# n4 X
L_frame=130;& A( l$ u% r0 Y* l9 Z! e& X2 P. V: I7 u
N_packet=4000;%130个编码后符号,仿真4000组
6 J% n# u7 T8 u3 kb=4;%设置为1/2/3/4对应于BPSK/QPSK/8PSK/16-QAM+ t, L; h7 `6 M
SNRdBs=[0:2:20];, _% S7 {4 Z5 {  P- [
sq2=sqrt(2);7 \, {$ J% C3 r( a) v5 i# |4 N
for iter=1:3. c& P1 M- ?* W8 n6 |' g
    if iter==1
6 [3 j# h' [3 B6 \        NT=1;0
$ f9 e. p! ]7 v, P( d) R$ e1 ?        NR=1;%SISO, T) E  C' W/ w7 B
        gs='-kx';
# \' T  S2 T2 j' v8 a    elseif iter==2
7 u2 f9 W1 `& `. w3 F        NT=1;
, u" T1 \+ H6 }+ K5 C        NR=2;% 1发2收" I/ G6 Y: {9 X& B. W) F
        gs='-^';: ]# m5 E0 z( i1 j( C4 T
    else% V4 h) I2 v6 O- e4 G) d% W
        NT=1;# J$ t3 E& @. {* `9 u# e, g" V) K
        NR=4;% 1发4收, K0 u  x6 a* p- y+ _1 }
        gs='-ro';& W. B! W+ O0 d  {" y: {( `
    end
# t0 R9 r4 C2 e, `5 A9 s# @; I    sq_NT=sqrt(NT);- s0 g  o! B6 y8 k: d$ ^( k
    for i_SNR=1:length(SNRdBs)
. x3 |/ t2 y) d        SNRdB=SNRdBs(i_SNR);: i+ E& m9 E2 b0 y- ^
        sigma=sqrt(0.5/(10^(SNRdB/10)));%瑞利分布参数,噪声标准差
5 m1 }5 {& a+ F* h8 _% N  X7 x        for i_packet=1:N_packet0 ~1 g3 V* C# _
            symbol_data=randint(L_frame*b,NT); %产生L_frame*b行NT列二进制信息
. S$ ^5 }4 x" Q- R) A, f6 y            [temp,sym_tab,P]=modulator(symbol_data.',b);%调制
& s; x. ^, z3 h' W' I$ l            X=temp.';%X为调制后序列(L_frame行1列)
2 v' e% P7 y5 `( F7 K( j- ^- [            Hr=(randn(L_frame,NR)+j*randn(L_frame,NR))/sq2;%瑞利信道衰落系数
- m5 F) @9 X0 L$ s% T0 O            H=reshape(Hr,L_frame,NR);%重置Hr行列(L_frame行NR列)% v  z7 r( Y% a- `* E3 r
            Habs=sum(abs(H).^2,2);
, ^) d' U6 S) v0 J3 d, A: {! N            Z=0;) S: ~! v% x2 j$ F1 p; I
            for i=1:NR* U6 W; t0 m/ F0 d
                R(:,i)=sum(H(:,i).*X,2)/sq_NT+...
- {- m+ M0 }  ^                    sigma*(randn(L_frame,1)+j*randn(L_frame,1)); %经过瑞利信道并加复高斯白噪声
0 ~1 v2 Y4 s8 ~3 h% B, f                Z=Z+R(:,i).*conj(H(:,i));%MRC合并,合并系数为conj(H(:,i))0 v; }1 n# i( G0 ~( d
            end
' u% W1 q8 s" _' \0 a            for m=1 %最大似然译码
1 W" j4 }& e3 b; S1 c  r- q                dl(:,m)=abs(sum(Z,2)-sym_tab(m)).^2+..." X) F4 b. k* z* ]3 O
                    (-1+sum(Habs,2))*abs(sym_tab(m))^2;) K9 P: O* d- p$ X2 i) O
            end: ^& j/ Q( @# E5 @/ Y5 g
            [y1,i1]=min(dl,[],2);+ F: g6 J- l, G0 \4 g0 ~
            Xd=sym_tab(i1).';
- Z: f1 z8 J8 q0 P6 e: e1 @            temp1=X>0;- a% }/ i4 F! P0 h! V5 O& U
            temp2=Xd>0;. R( _: ]6 s$ `, [* F, B
            noeb_p(i_packet)=sum(sum(temp1~=temp2));%累加错误比特9 E8 C7 Y( q) i0 p) n* _- ~
        end4 h1 H" ?/ T  }4 o
        BER(iter,i_SNR)=sum(noeb_p)/(N_packet*L_frame*b);%计算误比特率) @0 U1 X0 E0 P
    end+ I* _6 @: N8 q$ k) C! x3 r, w
    semilogy(SNRdBs,BER(iter,,gs),hold on
, x( `" `' c% t  Y5 u2 s    axis([SNRdBs([1 end]) 0.5*10^(-4) 1e0])2 m9 }- Y( z' H/ w: p
end
' l5 V. @! \" m* ftitle('BER peRFoemancde of MRC Scheme')
0 y* Q: c2 @* U+ Q( K  }0 q5 Fxlabel('SNR[dB]'),ylabel('BER')
. Y  t  `' H5 c# n. ~2 G) B, Egrid on,set(gca,'fontsize',9)$ x+ J% s; ?3 E+ a- Y1 {5 h
legend('SISO','MRC(Tx:1,Rx:2)','MRC(Tx:1,Rx:4)')
* |0 ^2 M- W: r5 _+ ?+ B

该用户从未签到

2#
发表于 2021-1-29 17:05 | 只看该作者
这个其实很简单。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-1 06:29 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表