UF-OFDM以及OFDM 传输过程及功率谱密度的仿真

11人阅读 评论(0) 收藏 举报
分类:

关于UF-OFDM原理请见我所翻译的《用于长延迟多径衰落环境的eUF-DM》一文

参数设置见matlab代码,采用16QAM调制,SNR为10的信道传输,适当改变SNR数值可以清楚看到理想情况以及恶劣情况下该技术的信号传输情况

根据仿真结果可以清晰看到,相对于4G主流技术来说,UF-OFDM可以更好的抑制带外功率谱密度。

s = rng(211);       % Set RNG state for repeatability
numFFT = 512;        % FFT点数
subbandSize = 20;    %  > 1
numSubbands = 10;    % numSubbands*subbandSize <= numFFT
subbandOffset = 156; % 频带中心 numFFT/2-subbandSize*numSubbands/2 

% 切比雪夫窗
filterLen = 43;      % 滤波器长
slobeAtten = 40;     %  旁瓣衰减(dB)

bitsPerSubCarrier = 4;   % 2代表4QAM, 4代表16QAM, 6代表64QAM, 8代表256QAM
snrdB = 15;              % SNR(dB)

% 设计滤波器
prototypeFilter = chebwin(filterLen, slobeAtten);

% QAM调制器
%ModulationOrder星座图中点数,默认为16    BitInput输入,true -- bit ,false -- int
qamMapper = comm.RectangularQAMModulator('ModulationOrder', 2^bitsPerSubCarrier, 'BitInput', true , 'NormalizationMethod', 'Average power');

% Transmit-end processing
% 初始化数组
inpData = zeros(bitsPerSubCarrier*subbandSize, numSubbands);%80*10,10个子带,每个子带80个数据
%txSig = complex(zeros(numFFT+filterLen-1, 1));

hFig = figure;
axis([-0.5 0.5 -100 20]);
hold on;
grid on

xlabel('归一化频率');
ylabel('功率谱密度(dBW/Hz)')
title(['UFMC, ' num2str(numSubbands) ' Subbands, '  num2str(subbandSize) ' Subcarriers each'])

%  循环计算每个子带
for bandIdx = 1:numSubbands
    %生成m*n矩阵
    bitsIn = randi([0 1], bitsPerSubCarrier*subbandSize, 1);
    
    %阶跃响应,inpData(:, bandIdx)取第bandIdx列
    symbolsIn = step(qamMapper,inpData(:, bandIdx));
    inpData(:,bandIdx) = bitsIn; % log bits for comparison
    
    %加高斯白噪声,SNR=10
    symbolsIn = awgn(symbolsIn,10);
    
    % 将子带数据打包到ofdm符号中
    %计算偏移
    offset = subbandOffset+(bandIdx-1)*subbandSize;
    
    %输入信号[0 0 0 ... symbolsIn ... 0 0 0]
    symbolsInOFDM = [zeros(offset,1); symbolsIn; zeros(numFFT-offset-subbandSize, 1)];
    
    %ifft结果
    ifftOut = ifft(ifftshift(symbolsInOFDM));

    % 频移滤波器(对齐中心频率)
    bandFilter = prototypeFilter.*exp( 1i*2*pi*(0:filterLen-1)'/numFFT*((bandIdx-1/2)*subbandSize+0.5+subbandOffset+numFFT/2) );
             
    filterOut = conv(bandFilter,ifftOut);

    % 画功率谱密度
    % periodogram[x,window,nfft,fs]求功率谱密度,2-N点FFT
    [psd,f] = periodogram(filterOut, rectwin(length(filterOut)),  numFFT*2, 1, 'centered');
    
    plot(f,10*log10(psd),'Color',[rand(1,1) rand(1,1) rand(1,1)]);

    % Sum the filtered subband responses to form the aggregate transmit
    % signal
    %txSig = txSig + filterOut;
end
hold off;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%具有相应参数的ofdm调制
figure;
symbolsIn = step(qamMapper,inpData(:, bandIdx));
symbolsIn = awgn(symbolsIn,10);


offset = subbandOffset;

symbolsInOFDM = [zeros(offset, 1); symbolsIn; zeros(numFFT-offset-subbandSize*numSubbands, 1)];

ifftOut = sqrt(numFFT).*ifft(ifftshift(symbolsInOFDM));

[psd,f] = periodogram(ifftOut, rectwin(length(ifftOut)), numFFT*2, 1, 'centered');

plot(f,10*log10(psd));
grid on
axis([-0.3 0.3 -100 20]);
xlabel('归一化频率');
ylabel('功率谱密度(dBW/Hz)')
title(['OFDM, ' num2str(numSubbands*subbandSize) ' Subcarriers'])



查看评论

BPSK功率谱的MATLAB程序

  • 2013年12月10日 10:46
  • 713B
  • 下载

[6] OFDM链路的误码率和OFDM符号的功率谱密度

2016.04.26 – 05.03 个人理解笔记。(无通信基础且急躁,片面/错误概率大大的。已待纠正) 相应的word版笔记保存地址:[6] OFDM链路的误码率和OFDM符号的功率谱密度。04...
  • misskissC
  • misskissC
  • 2016-05-02 20:46:26
  • 2925

基于MATLAB软件仿真分析输出信号的自相关函数,功率谱密度

  • 2014年11月12日 20:52
  • 48KB
  • 下载

随机信号及其自相关函数和功率谱密度的MATLAB实现

  • 2013年03月25日 15:47
  • 104KB
  • 下载

功率谱和功率谱密度的区别,相干时间与相干带宽 (

[转载]功率谱和功率谱密度的区别,相干时间与相干带宽  (2010-06-23 10:40:29) 转载▼ 标签:  转载 分类: 无线通信 ...
  • pengbinyt
  • pengbinyt
  • 2016-07-06 18:59:59
  • 2648

详解功率谱密度和频谱

功率谱:信号先自相关再作FFT。 频 谱:信号直接作FFT。 区别: 1、 一个信号的频谱,只是这个信号从时域表示转变为频域表示,只是同一种信号的不同的表示方式而已, 而功率谱是从能量的观点对信...
  • liusandian
  • liusandian
  • 2016-11-29 00:16:08
  • 2082

求功率谱密度的几种方法

  • 2013年09月06日 10:13
  • 9KB
  • 下载

功率谱密度(功率信号)、能量谱密度(能量信号)详解

一、能量信号和功率信号     根据信号可以用能量式或功率式表示可分为能量信号和功率信号。 能量信号,如各类瞬变信号。 在非电量测量中,常将被测信号转换为电压或电流信号来处理。显然,...
  • wordwarwordwar
  • wordwarwordwar
  • 2016-09-28 23:45:44
  • 7759

ofdm仿真matlab程序

  • 2014年10月30日 17:44
  • 901KB
  • 下载

基于MATLAB的OFDM系统性能仿…

原文地址:基于MATLAB的OFDM系统性能仿真作者:wxwxwx0 基于MATLAB的OFDM系统性能仿真 王  骁 (班级:010891,学号:01089051) 摘  要:正交频分复用(OF...
  • lee244868149
  • lee244868149
  • 2014-07-31 11:36:55
  • 2942
    个人资料
    等级:
    访问量: 3838
    积分: 158
    排名: 110万+
    最新评论