基于PAM调制的OFDM系统架构之讯号特点分析(matlab)

基于PAM调制的OFDM系统架构之讯号特点分析(matlab)

不同于基于QAM调制的OFDM系统,通过脉冲振幅调制(PAM)并经过埃尔米特对称处理的讯号本身的特性。讯号调制方面,采用PAM调制的讯号都只会载在子载波的虚部,即都为纯虚数讯号,实部载零讯号。因此,N/2个点为一组的矢量讯号经过脉冲振幅调制变并经过埃尔米特对称处理变为N个点的复数频域讯号矢量讯号。

在matlab中编写其实就是在PAM调制出来的讯号直接变成虚数讯号,这样即使所有子载波都载讯号,在IFFT之后的时域讯号仍有对称特性。要知道,在ACO-OFDM中就是因为调制出来后的时域讯号有对称特性,所以才可以对零限幅,最后得到正实数讯号,满足采用IM/DD的光通道系统的要求。

那么,采用PAM调制的讯号是否也可以满足呢?下面是PAM调制的OFDM系统之发送端讯号之程式码。

clc
clear all;
close all;
Nt_carr=256;            %子载波数=FFT点数---256
Np_carr=Nt_carr/2-1;    %实际子载波数---127
Sig_per_carr=500;       %每子载波含符号数---500
bits_per_symbol=4;      %每符号含比特数,16PAM调制---4
CP_Ratio=1/8;
CP_length=CP_Ratio*Nt_carr;  %循环前缀长度
SNR=20;

%==================================================
%================信号产生===================================
baseband_out_length=Np_carr * Sig_per_carr * bits_per_symbol;  %所输入的比特数目  127*500*4
% rand( 'twister',0);
baseband_out=round(rand(1,baseband_out_length));%输出待调制的二进制比特流

%==============16PAM调制====================================
complex_carrier_matrix=pam16(baseband_out);%列向量

figure;
plot(complex_carrier_matrix,'*r');%16PAM调制后星座图
title('16PAM调制星座图');
axis([-20,20,-3,3]);
grid on   %显示网格线
axis square

%==============串并变换====================================
%矩阵转置时附加有取共轭
complex_carrier_matrix=complex_carrier_matrix*i;
complex_carrier_matrix1=reshape(complex_carrier_matrix',Np_carr,Sig_per_carr)';%串并变换Sig_per_carr*Nt_carr 矩阵
%complex_carrier_matrix1=conj(reshape(complex_carrier_matrix',Nt_carr,Sig_per_carr)')%两次转置
% complex_carrier_matrix1=complex_carrier_matrix1*i;
%==============埃尔米特映射====================================
carriers=(1:Np_carr)+1;%共轭对称子载波映射  复数数据对应的IFFT点坐标
conjugate_carriers=Nt_carr-carriers+2;%共轭对称子载波映射  共轭复数对应的IFFT点坐标
IFFT_modulation=zeros(Sig_per_carr,Nt_carr);%0组成IFFT_bin_length IFFT 运算
IFFT_modulation(:,carriers )=complex_carrier_matrix1 ;%未添加导频信号 ,子载波映射在此处
IFFT_modulation(:,conjugate_carriers )=conj(complex_carrier_matrix1);%共轭复数映射



%=================IFFT===========================
time_wave_matrix=ifft(IFFT_modulation,Nt_carr,2);%OFDM调制 即IFFT行变换
%时域波形矩阵,行为每载波所含符号数,列IFFT点数,N个子载波映射在其内,每一行即为一个OFDM符号


figure;
plot(0:Nt_carr-1,time_wave_matrix(1,:));%第一个OFDM符号的时域波形
axis([0,Nt_carr-1, -1.5,1.5]);
grid on;
ylabel('Amplitude');
xlabel('Time');
title('IFFT');

pam16调制函数子程序

function [complex_pam_data]=pam16(bitdate)
    X1=reshape(bitdate,4,length(bitdate)/4)';
    d=1;
    source=bi2de(X1,'left-msb')+1;
    
     mapping=[-15*d  ;         %0
              -13*d  ;         %1
              -11*d  ;         %2
               -9*d  ;         %3
               -7*d  ;         %4
               -5*d  ;         %5
               -3*d  ;         %6
               -1*d  ;         %7
                1*d  ;         %8
                3*d  ;         %9
                5*d  ;         %10
                7*d  ;         %11
                9*d  ;         %12
               11*d  ;         %13
               13*d  ;         %14
               15*d  ];        %15


    for i=1:length(bitdate)/4
    	pam_data(i,:)=mapping(source(i),:);%data mapping
    end
    complex_pam_data=complex(pam_data(:,1),0);
end

下面,我们可以对QAM调制后的IFFT之时域讯号波形图(仅在奇数子载波载讯号)和PAM调制后的IFFT之时域讯号波形图(奇数偶数子载波都载讯号,但仅为虚数讯号)的特点进行分析。

下图为PAM调制:
基于PAM调制的OFDM系统架构之讯号特点分析(matlab)_第1张图片
以及,下图为QAM调制:
基于PAM调制的OFDM系统架构之讯号特点分析(matlab)_第2张图片
仔细观察两图的对比,我们不难发现,两者皆有对称特性,只不过对称方式不一样。
QAM调制后的时域讯号对称特性为:
在这里插入图片描述
PAM调制后的时域讯号对称特性为:
在这里插入图片描述

简单来讲,就是一个沿中心点平移对称,一个是沿中心点水平旋转180度对称。

你可能感兴趣的:(仿真,PAM,OFDM,matlab,信号处理)