在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9463|回复: 4

紧急求助~~~感谢大家了~~~

[复制链接]
发表于 2008-9-4 20:47:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 eecsseudl 于 2013-4-29 10:07 编辑

%仿真实现QPSK在不同信噪比SNR下传输误码率
%第一步设置数据,采样频率等相关参数
Fd=1;Fs=1;modulation='psk';  
N=Fs/Fd;
M=4;                     %M元正交振幅调制参数,当M=2时为BPSK仿真
k=log2(M);
SNRpBit=0:2:10;          %设置仿真信噪比的范围
SNR=SNRpBit+10*log10(k);
symbPerIter=4096;        %设置每次迭代符号的次数
iters=3;                  %迭代次数
expSymErrs=60;            %设置预期误差符号数目
numSymbTot=symbPerIter*iters;   
%设置均匀随即数及高斯白噪产生的"随即种子"
rand('state',123456789);randn('state',987654321);   
%计算理论的比特误差和理论符号误差SER与BER曲线
expBER=0.5.*erfc(sqrt(10.^(SNRpBit(.*0.1)));
expSER=1-(1-expBER).^k;
semilogy(SNRpBit(,expSER,'k-',SNRpBit(,expBER,'k:');
legend('理论的SER','理论的BER',0);
title('基带QPSK的性能仿真');
xlabel('SNR/bit(dB)');ylabel('SER and BER');hold on;   
%产生GRAY码编码与解码序列
grayencod=bitxor([0:M-1],floor([0:M-1]/2));
[dummy graydecod]=sort(grayencod); graydecod=graydecod-1;
for(idx2=[1:length(SNR)]),     %仿真不同SNR值时的BER和SER
     idx=1;
     while ((idx<=iters)|(sum(errSym)<=expSymErrs))
          %第二步: 产生信号及GRAY编码
          msg_orig=randsrc(symbPerIter,1,[0:M-1]);
          msg_gr_orig=grayencod(msg_orig+1)';
          %第三步:数字基带调制
          msg_tx=dmodce(msg_gr_orig,Fd,Fs,modulation,M);
          %第四步:对调制信号添加高斯噪声
          msg_rx=awgn(msg_tx,SNR(idx2)-10*log10(1.*N),'measured',[],'dB');
          %第五步:解调基带调制信号
          msg_gr_demod=ddemodce(msg_rx,Fd,Fs,modulation,M);
          %第六步:Gray码解码
          msg_demod=graydecod(msg_gr_demod+1);
          %计算本次迭代的BER,SER
          [errBit(idx) ratBit(idx)] = biterr(msg_orig,msg_demod,k);
          [errSym(idx) ratSym(idx)] = symerr(msg_orig,msg_demod);
          idx=idx+1; pause(.1);
     end
     %计算各次迭代后的平均的BER,SER
     errors(idx2,:)=[sum(errBit),sum(errSym)];
     ratio(idx2,:)=[mean(ratBit),mean(ratSym)];
     %绘制仿真的SER,BER曲线
     semilogy(SNRpBit([1:size(ratio(:,2),1)]),ratio(:,2),'k*',...
         SNRpBit([1:size(radio(:,1),1)]),radio(:,1),'ko');
     legend('理论的SER','理论的BER','仿真的SER','仿真的BER',0);
     pause(.1)
end
hold off;


高手帮我看看 哪里不对, 紧急~~谢谢~~~







 楼主| 发表于 2008-9-4 20:48:28 | 显示全部楼层
那里,应该是 :  ) 冒号括号
 楼主| 发表于 2008-9-4 21:39:19 | 显示全部楼层
感谢了 各位高手~
头像被屏蔽
发表于 2008-9-5 15:31:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-9-7 13:29:43 | 显示全部楼层
LZ程序的排版好乱……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-20 13:38 , Processed in 0.033310 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表