协作通信的无码性能.docVIP

  • 7
  • 0
  • 约5.35千字
  • 约 5页
  • 2015-12-10 发布于江苏
  • 举报
协作通信的无码性能.doc

clear all;close all;clc; tic N=100; L=65; %一帧长度 BerSnrTable=zeros(20,5); for snr=0:25 BerSnrTable(snr+1,1) = snr; sig=1/sqrt(10^(snr/10)); temp=0; temp1=0; for i=1:N BitsTx = floor(rand(1,L)*2); BitsTxcrc=CrcEncode(BitsTx); BitsTxcnv=cnv(BitsTxcrc); Mod8Tx=mod_8psk(BitsTxcnv); M=length(Mod8Tx); %以下为假设信道模型和噪声模型,由于本次仿真重点不在于此,所以做以下简化 H1d=RayleighCH(); H12=RayleighCH(); H2d=RayleighCH(); Z1d=randn(1,M)+j*randn(1,M); Z12=randn(1,M)+j*randn(1,M); Z2d=randn(1,M)+j*randn(1,M); % d接收 Y1d=H1d.*Mod8Tx+sig*Z1d; %user2接收并解码 Y12=H12.*Mod8Tx+sig*Z12; R12=conj(H12).*Y12; BitR12=demod_8psk(R12); BitR12viterbi=viterbi(BitR12); BitR12viterbi=BitR12viterbi(1:length(BitR12viterbi)-1); [BitR12decrc,error]=CrcDecode(BitR12viterbi); %error=0,正确解码 error=1,错误解码 %非协作情况 if(error==1) R1d=conj(H1d).*Y1d; BitR1d=demod_8psk(R1d); BitR1dviterbi=viterbi(BitR1d); BitR1dviterbi=BitR1dviterbi(1:length(BitR1dviterbi)-1); BitR1ddecrc=CrcDecode(BitR1dviterbi); [Num,Ber] = symerr(BitR1ddecrc,BitsTx); BerSnrTable(snr+1,2)=BerSnrTable(snr+1,2)+Num; end %协作情况 if(error==0) Bits2d=BitR12decrc; Bits2dcrc=CrcEncode(Bits2d); Bits2dcnv=cnv(Bits2dcrc); Mod8_2d=mod_8psk(Bits2dcnv); Y2d=H2d.*Mod8_2d+sig*Z2d; %最大合并比在此处的简化形式 Rd=conj(H2d).*Y2d+conj(H1d).*Y1d; BitRd=demod_8psk(Rd); BitRdviterbi=viterbi(BitRd); BitRdviterbi=BitRdviterbi(1:length(BitRdviterbi)-1); BitRddecrc=CrcDecode(BitRdviterbi); [Num,Ber] = symerr(BitRddecrc,BitsTx); BerSnrTable(snr+1,2)=BerSnrTable(snr+1,2)+Num; temp=temp+1; end end BerSnrTable(s

文档评论(0)

1亿VIP精品文档

相关文档