• 大小: 0.01M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 其他  

资源简介

qpsksys.rar

资源截图

代码片段和文件信息

%  QPSK系统的仿真 文件名为:qpsksys.m
clear all
close all

M = 4;  % QPSK
EsN0dB = 3:0.5:10;
EsN0 = 10.^(EsN0dB/10);
Es = 1;
N0 = 10.^( -EsN0dB/10 );
sigma = sqrt(N0/2);

error = zeros(1length(EsN0dB));
s_data = zeros(1length(EsN0dB));

for k = 1:length(EsN0dB)
    error(k) = 0;
    s_data(k) = 0;
    while error(k)<1000
          % 产生信源1,2,3,4均匀分布
          d = ceil( rand(110000)*M );
          % 调制成QPSK信号(复基带信号形式)
          s = sqrt(Es)*exp(j*2*pi/M*(d-1));
          % 加入信道噪声(复噪声)
          r = s + sigma(k)*( randn(1length(d)) + j*randn(1length(d)) );
          % 判决
          for m = 1:M     % 计算距离
              rd(m:) = abs( r - sqrt(Es)*exp(j*2*pi/M*(m - 1)) );
          end
          for m = 1:length(s)   % 判决距离最近的点
              dd(m) = find( rd(:m) == min( rd(:m)) );
              if dd(m) ~= d(m)
                  error(k) = error(k) +1;
              end
          end
          s_data(k) = s_data(k) +10000;
    end
    % drawnow
    % semilogy(EsN0dBerror./(s_data + eps)); hold on
end

Pe = error./s_data;
% 理论计算的误码率结果
Ps = erfc(sqrt(EsN0)*sin(pi/M));
semilogy(EsN0dBPe‘b* -‘); hold on;
semilogy(EsN0dBPs‘rd -‘);
xlabel(‘Es/N0(dB)‘); ylabel(‘误码率‘);
legend(‘仿真结果‘‘理论计算结果‘);
grid on;
title(‘QPSK系统的误码率‘);
          

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      22016  2010-06-21 18:00  qpsksys\qpsksys.doc

     文件       1379  2010-06-21 18:01  qpsksys\qpsksys.m

     目录          0  2010-06-21 17:49  qpsksys

----------- ---------  ---------- -----  ----

                23395                    3


评论

共有 条评论