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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本人菜鸟,第一次接触matlab程序画流程图,不知道该如何按照这个程序画流程图, 尤其是这个程序里用了很多for循环, 比较迷茫……麻烦大神指点一下,非常感谢!  Q1 h* e6 f" M9 e) Q& j
%MRC_scheme.m' c0 l, U0 G& L- D
%接收分集-MRC
+ N- R/ v' O$ N! eclear,clf
3 @2 F' q" t5 T' pL_frame=130;" F& m9 v4 k  Q- G
N_packet=4000;%130个编码后符号,仿真4000组
3 U1 B* d7 [" t! g# t! A: {b=4;%设置为1/2/3/4对应于BPSK/QPSK/8PSK/16-QAM
9 D( }# T# X; C0 B; ]2 A) SSNRdBs=[0:2:20];  K1 T9 C; L3 `! @6 r! I4 V& U
sq2=sqrt(2);5 v8 P8 C# B- T  _6 H1 g$ z
for iter=1:3
' m4 q0 O7 U) ?% a7 G' q, Q    if iter==1
% p8 I: [" V. a1 P) M$ K        NT=1;0; R) u6 P1 ?. E7 x
        NR=1;%SISO6 M" L# a+ t- a/ I4 O1 I
        gs='-kx';
- o( }- C" k/ h6 T+ U+ {6 _    elseif iter==2+ Q& Z8 u, x* e; E# n
        NT=1;# r6 J6 U$ G/ G6 i3 S$ ^1 ^0 y
        NR=2;% 1发2收
6 d( N; n" v8 n8 O) l0 q        gs='-^';. c: G/ x: ?' ^. ~3 P6 p
    else- q$ N% \: m- b2 T! a5 l
        NT=1;# V- V( z5 Z6 z( x; ^5 S" c8 x
        NR=4;% 1发4收5 ^/ ~( p) i5 v7 O  ~3 g3 F3 P
        gs='-ro';' R! {$ J1 q2 b. Z
    end1 q% E4 C1 G5 g6 S
    sq_NT=sqrt(NT);, |- I% {" _% a# h' |- Y
    for i_SNR=1:length(SNRdBs)
$ F8 b8 x/ A' f1 y( s        SNRdB=SNRdBs(i_SNR);
+ U) I6 u6 z! L        sigma=sqrt(0.5/(10^(SNRdB/10)));%瑞利分布参数,噪声标准差: t4 X9 s6 T! [, U/ V  r
        for i_packet=1:N_packet' O8 s( a* G3 ]. T/ o& X
            symbol_data=randint(L_frame*b,NT); %产生L_frame*b行NT列二进制信息
7 O* \: V/ x  q( t2 t1 m1 s            [temp,sym_tab,P]=modulator(symbol_data.',b);%调制! @$ a" o& ~! N/ k9 K
            X=temp.';%X为调制后序列(L_frame行1列)
- _8 j* D: h  |) \! {5 p            Hr=(randn(L_frame,NR)+j*randn(L_frame,NR))/sq2;%瑞利信道衰落系数- Q4 n: X8 s( G) n- S
            H=reshape(Hr,L_frame,NR);%重置Hr行列(L_frame行NR列)2 n4 w( S" D2 E+ z
            Habs=sum(abs(H).^2,2);
+ p, [; i; b* L: H# O9 H! n" W8 X            Z=0;9 @, O% D5 Z7 d) B3 J+ d
            for i=1:NR
; S$ g; r$ Q" A& `) B9 @                R(:,i)=sum(H(:,i).*X,2)/sq_NT+...) I5 D5 C/ D3 h$ c
                    sigma*(randn(L_frame,1)+j*randn(L_frame,1)); %经过瑞利信道并加复高斯白噪声) s: d  q" X8 d& `6 T% X  S
                Z=Z+R(:,i).*conj(H(:,i));%MRC合并,合并系数为conj(H(:,i))$ i% Z: X$ ]7 U. v7 C' g/ d' _
            end
6 {/ J; M0 b/ a1 l1 v  Q            for m=1 %最大似然译码
! ^# q4 C' g1 o+ ?( a! @2 l                dl(:,m)=abs(sum(Z,2)-sym_tab(m)).^2+...
4 G7 D2 [1 j- ^* F& O6 E                    (-1+sum(Habs,2))*abs(sym_tab(m))^2;. O7 |$ X, M2 Y' I4 Z8 {
            end1 @( `( k$ N: p& T; K8 l( m2 G; F
            [y1,i1]=min(dl,[],2);* m# |8 {0 {: r7 j0 [6 J
            Xd=sym_tab(i1).';, Y. r: P( ?- A+ ]6 K. E
            temp1=X>0;: ~+ }* D% [& a, O* Q/ p( i
            temp2=Xd>0;1 h& T: `9 w, i% c7 E) y" u4 k5 ]; [
            noeb_p(i_packet)=sum(sum(temp1~=temp2));%累加错误比特3 D9 H5 g" L( M: I5 c2 j6 J
        end
6 q: R$ [2 F8 h" {+ y  i        BER(iter,i_SNR)=sum(noeb_p)/(N_packet*L_frame*b);%计算误比特率' b9 @, [& j2 `! B
    end
- H! c/ D6 b/ t# q7 x- O% M* s: d    semilogy(SNRdBs,BER(iter,,gs),hold on
& k3 ~1 G  ~5 W( }    axis([SNRdBs([1 end]) 0.5*10^(-4) 1e0])
2 p  x) F1 ?  @* Oend) [- Y. N- l- x# ~, n; P+ k
title('BER peRFoemancde of MRC Scheme')# B# m. B' z! `# v' z5 }9 F
xlabel('SNR[dB]'),ylabel('BER')- O: B& s* M, f# V9 g- M) J: S, v
grid on,set(gca,'fontsize',9)
4 {" X- ?9 I% I! K* S9 X! Hlegend('SISO','MRC(Tx:1,Rx:2)','MRC(Tx:1,Rx:4)')
( T  ]/ Y+ y) n4 ^

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 00:55 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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