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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本人菜鸟,第一次接触matlab程序画流程图,不知道该如何按照这个程序画流程图, 尤其是这个程序里用了很多for循环, 比较迷茫……麻烦大神指点一下,非常感谢!
% \8 e' D" \* l) d+ C. [0 b%MRC_scheme.m
  Q! ?8 p$ s5 D4 R4 [& I- L%接收分集-MRC; o# {8 [7 ^+ k3 w3 O, u
clear,clf
4 t0 D% N6 R: e2 i  xL_frame=130;9 ?, l; S0 [- D5 N1 T  w! K
N_packet=4000;%130个编码后符号,仿真4000组
* Z; M& ^0 u$ s" S0 q# }b=4;%设置为1/2/3/4对应于BPSK/QPSK/8PSK/16-QAM
7 @& V8 M8 p) {SNRdBs=[0:2:20];
( C% D3 I: u" y3 L8 l. p: lsq2=sqrt(2);
/ ?2 ^/ @3 ]0 i1 Xfor iter=1:3; M% ~9 L. u; c! X5 [
    if iter==1- n' O2 \7 M% J
        NT=1;0
0 r. G* k4 j6 t8 a/ r        NR=1;%SISO
& x+ K( I* Z! [0 f# P+ y, [        gs='-kx';
" f# S. p/ F- ?3 d    elseif iter==2
! i/ Y7 b! }1 W& p  z  Q  ?        NT=1;% i9 I" F! u$ m- ?; U: {' P
        NR=2;% 1发2收. ~3 X# L  U, P" p0 O7 T
        gs='-^';
7 T0 \# m# r! v5 B* O3 N" K6 S7 m% U    else
0 c: X0 J- O' d0 p  l        NT=1;
4 F6 ], ?  H, ?+ [: p        NR=4;% 1发4收
; O. X, G- y* ^' [+ N7 D3 f        gs='-ro';* \1 v! C9 m: j3 q' a$ _
    end9 r+ J$ J  D) V1 f
    sq_NT=sqrt(NT);
# B& |; Y9 K1 g* N  `  Y  j    for i_SNR=1:length(SNRdBs)4 z* x2 J' `# ~( {4 v
        SNRdB=SNRdBs(i_SNR);0 Z3 X9 P$ B+ ^) O& m  l. P7 D4 s. m
        sigma=sqrt(0.5/(10^(SNRdB/10)));%瑞利分布参数,噪声标准差) l5 ~0 `" p! `) ]' R) }
        for i_packet=1:N_packet
2 A# N5 y& `. b/ X% O) e: m            symbol_data=randint(L_frame*b,NT); %产生L_frame*b行NT列二进制信息
/ Z! i, @" c: f            [temp,sym_tab,P]=modulator(symbol_data.',b);%调制
8 X% c* I; w# J6 ]: S! \" `            X=temp.';%X为调制后序列(L_frame行1列)
. O( {: p4 X# _' I6 u( t            Hr=(randn(L_frame,NR)+j*randn(L_frame,NR))/sq2;%瑞利信道衰落系数
* M0 B: t- J" L2 Z9 l            H=reshape(Hr,L_frame,NR);%重置Hr行列(L_frame行NR列)1 c9 |3 n! u; Y' S0 y+ C8 z
            Habs=sum(abs(H).^2,2);  f7 Z% ], R$ I5 w
            Z=0;# N" U+ y# S1 T# B" H
            for i=1:NR
. o' `" W: ]) v                R(:,i)=sum(H(:,i).*X,2)/sq_NT+...
, f. O0 ?/ [. o8 W& g                    sigma*(randn(L_frame,1)+j*randn(L_frame,1)); %经过瑞利信道并加复高斯白噪声
3 f) d' x! h6 \7 ~% I! S/ V5 j                Z=Z+R(:,i).*conj(H(:,i));%MRC合并,合并系数为conj(H(:,i))
! y& G  ?" |# \& [            end0 N2 @: ?* A; [8 m# l+ t, a& s; s: m
            for m=1 %最大似然译码" S6 M+ t) F; n  t$ y
                dl(:,m)=abs(sum(Z,2)-sym_tab(m)).^2+...9 X5 T3 z: u; _8 W2 x$ T
                    (-1+sum(Habs,2))*abs(sym_tab(m))^2;- Z2 H( d4 r) G* m
            end( Z4 u% }: o# c5 E
            [y1,i1]=min(dl,[],2);
- F1 P' W: N1 a2 _0 c. i            Xd=sym_tab(i1).';
( d9 [  R  H2 A' [6 z8 D8 X: n            temp1=X>0;
/ v2 q. D; y# g( Y# V& e            temp2=Xd>0;. u  ?7 }+ f& O$ m0 k# \
            noeb_p(i_packet)=sum(sum(temp1~=temp2));%累加错误比特- G5 V6 C7 I% m. S( F8 U
        end
: u& c7 b6 c1 c        BER(iter,i_SNR)=sum(noeb_p)/(N_packet*L_frame*b);%计算误比特率
* P, B) m/ x& Y5 ?    end( F% f* B+ m1 B! N; z3 \/ z; S
    semilogy(SNRdBs,BER(iter,,gs),hold on7 ^% r% o) w8 w. o
    axis([SNRdBs([1 end]) 0.5*10^(-4) 1e0])
; v1 t* C! ?5 N% vend
7 R$ l, n' A  V& H* h3 ttitle('BER peRFoemancde of MRC Scheme'); R8 U' B1 Q% e# o3 D* }4 S
xlabel('SNR[dB]'),ylabel('BER')' [) o0 f& u$ T& ~
grid on,set(gca,'fontsize',9)
- n( r  ?/ r3 }  y3 X2 Wlegend('SISO','MRC(Tx:1,Rx:2)','MRC(Tx:1,Rx:4)')7 _6 a2 M, |; ^' e& R

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-13 21:36 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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