• 大小: 7KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Matlab
  • 标签: QPSK  matlab仿真  

资源简介

本资源是多进制调制下的空时分组码(STBC)的matlab仿真,无需修改程序,每个m文件代表了一个调制进制,每个m文件会画出:'未采用编码','2发1收Alamouti方案','2发2收Alamouti方案','2发3收Alamouti方案','2发4收Alamouti方案'等的误码率曲线。

资源截图

代码片段和文件信息

%%仿真Alamouti 2发多收空时编码性能,调制方式为BPSK
%%
%%
clear all
datasize=100000;                    % 仿真的符号数
EbNo=0:2:20;                         % 信噪比
M=2;                                % BPSK modulation
x=randsrc(2datasize/2[0:1]);      % 数据源符号//行列不变
x1=pskmod(xMpi);       
h=randn(8datasize/2)+j*randn(8datasize/2);   %Rayleigh衰落信道
h=h./sqrt(2);                             
for indx=1:length(EbNo)
    sigma1=sqrt(1/(4*10.^(EbNo(indx)/10)));              % SISO信道高斯白噪声标准差
    n=sigma1*(randn(2datasize/2)+j*randn(2datasize/2));
    y=x1+n;                                             % 通过AWGN信道
    y1=x1+n./h(1:2:);                                         % 通过SISO瑞利衰落信道后的判决变量
    x2=pskdemod(yMpi);
    x3=pskdemod(y1Mpi);
    sigma2=sqrt(1/(2*10.^(EbNo(indx)/10)));                      % Alamouti方案每个子信道高斯白噪声标准差
    n=sigma2*(randn(8datasize/2)+j*randn(8datasize/2));
    n1(1:)=(conj(h(1:)).*n(1:)+h(2:).*conj(n(2:)))./(sum(abs(h(1:2:)).^2));    % 2发1收Alamouti方案判决变量中的噪声项
    n1(2:)=(conj(h(2:)).*n(1:)-h(1:).*conj(n(2:)))./(sum(abs(h(1:2:)).^2));
    y=x1+n1;
    x4=pskdemod(yMpi);
    n2(1:)=(conj(h(1:)).*n(1:)+h(2:).*conj(n(2:))+conj(h(3:)).*n(3:)+h(4:).*conj(n(4:)))./(sum(abs(h(1:4:)).^2));    % 2发2收Alamouti方案判决变量中的噪声项
    n2(2:)=(conj(h(2:)).*n(1:)-h(1:).*conj(n(2:))+conj(h(4:)).*n(3:)-h(3:).*conj(n(4:)))./(sum(abs(h(1:4:)).^2));    %第二时隙,
    y1=x1+n2;
    x5=pskdemod(y1Mpi);
    n3(1:)=(conj(h(1:)).*n(1:)+h(2:).*conj(n(2:))+conj(h(3:)).*n(3:)+h(4:).*conj(n(4:))+ conj(h(5:)).*n(5:)+h(6:).*conj(n(6:)))./(sum(abs(h(1:6:)).^2));    % 2发2收Alamouti方案判决变量中的噪声项
    n3(2:)=(conj(h(2:)).*n(1:)-h(1:).*conj(n(2:))+conj(h(4:)).*n(3:)-h(3:).*conj(n(4:))+ conj(h(6:)).*n(5:)-h(5:).*conj(n(6:)))./(sum(abs(h(1:6:)).^2));    %第二时隙,
    y1=x1+n3;
    x6=pskdemod(y1Mpi);
    n4(1:)=(conj(h(1:)).*n(1:)+h(2:).*conj(n(2:))+conj(h(3:)).*n(3:)+h(4:).*conj(n(4:))+ conj(h(5:)).*n(5:)+h(6:).*conj(n(6:))+conj(h(7:)).*n(7:)+h(8:).*conj(n(8:)))./(sum(abs(h).^2));    % 2发2收Alamouti方案判决变量中的噪声项
    n4(2:)=(conj(h(2:)).*n(1:)-h(1:).*conj(n(2:))+conj(h(4:)).*n(3:)-h(3:).*conj(n(4:))+ conj(h(6:)).*n(5:)-h(5:).*conj(n(6:))+conj(h(8:)).*n(7:)-h(7:).*conj(n(8:)))./(sum(abs(h).^2));    %第二时隙,
    y1=x1+n4;
    x7=pskdemod(y1Mpi);
    [tempber1(indx)]=biterr(xx2log2(M));
    [tempber2(indx)]=biterr(xx3log2(M));
    [tempber3(indx)]=biterr(xx4log2(M));
    [tempber4(indx)]=biterr(xx5log2(M));
    [tempber5(indx)]=biterr(xx6log2(M));
    [tempber6(indx)]=biterr(xx7log2(M));    
    
end

figure;
semilogy(EbNober2‘-o‘EbNober3‘-<‘EbNober4‘->‘EbNober5‘-d‘EbNober6‘-^‘)
ber4
grid on
legend(‘未采用编码‘‘2发1收Alamouti方案‘‘2发2收Alamouti方案‘‘2发3收Alamouti方案‘‘2发4收Alamouti方案‘)
xlabel(‘信噪比EbNo(dB)‘)
ylabel(‘误比特率(BER)‘)
title(‘二进制调制下的性能曲线(BPSK)‘)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-04-16 18:37  STBCv2\
     文件        3109  2016-04-14 17:56  STBCv2\BPSK.m
     文件        3134  2016-04-14 17:28  STBCv2\PSK16.m
     文件        3136  2016-04-14 17:32  STBCv2\PSK32.m
     文件        3126  2016-04-14 17:25  STBCv2\PSK8.m
     文件        3132  2016-04-14 17:57  STBCv2\QPSK.m
     文件        1992  2016-04-14 17:51  STBCv2\xPSK.m
     文件         854  2016-04-14 18:02  STBCv2\xPSK2.m

评论

共有 条评论