⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qpsk_constellation.m

📁 qpsk constellation simulation under rayleigh fading channel
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% QPSK Constellation under Rayleigh Fading Channel
% 
%
%2006.11.31
%by robbie.Zhou
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%% Initialization %%%%%%%%%%%%%%%%%%%%%%%%%
clear;
echo off;
sr=10;       % Symbol rate
ml=2;        % ml:Number of modulation levels 
br=sr .* ml; % Bit rate
nd=2300;      % Number of symbols that simulates in each loop
ebn0=25;      % Eb/N0

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                          Rayleigh Fading Channel                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
    data1=rand(1,nd*ml)>0.5; 
    %Data mapping
    paradata2=data1.*2-1;
    k=0;
    for jj=1:nd
        isi = zeros(1,1);
        isq = zeros(1,1);
        isi = isi + paradata2((1:1),1+k);
        isq = isq + paradata2((1:1),2+k);
        iout((1:1),jj)=isi;
        qout((1:1),jj)=isq;
        k=k+2;
    end;
    ich=iout;
    qch=qout;
	
    spow=sum(ich.*ich+qch.*qch)/nd;  
	attn=0.5*spow*sr/br*10.^(-ebn0/10);
	attn=sqrt(attn); 
%***************************** Fading channel ******************************

   
   noise_i=raylrnd(0.7,1,length(ich));
   noise_q=raylrnd(0.7,1,length(qch));

   ifade=ich(1:length(ich)).*noise_i;
   qfade=qch(1:length(qch)).*noise_q;

     
%********************* Add White Gaussian Noise     **********************
    noise_w=randn(1,length(ifade)).*attn;
    noise_w=randn(1,length(qfade)).*attn;
    ich1=noise_w+ifade(1:length(ifade));
    qch1=noise_w+qfade(1:length(qfade));
        
%**************************** QPSK Demodulation *****************************

    demodata=zeros(1,ml*nd);
    demodata((1:1),(1:ml:ml*nd-1))=ich1((1:1),(1:nd))>=0;
    demodata((1:1),(2:ml:ml*nd))=qch1((1:1),(1:nd))>=0;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Caculation ends %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%% Constellation  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


    % constellation
    ss2=ich1+j*qch1;
    %Signal Constellation under Rayleigh fading channel
    plot(ss2,'green.'); 
    grid on;
    hold on;
    %Signal Constellation before Rayleigh fading channel
    ss=ich+j*qch;
    plot(ss,'black*');
    xlabel('I-channel');
    ylabel('Q-channel');
    legend('Signal under Rayleigh fading channel','Signal Constellation');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -