您现在的位置:首页 >> ★免费资源 >> 源码下载 >> 内容

MATLAB代做-基于matlab的PTS算法的仿真

时间:2018-12-15 0:29:56 点击:

  核心提示:MATLAB代做-基于matlab的PTS算法的仿真...


% Original PTS--PAPR Simulation

%
% Reference: S. H. Müller and J. B. Huber, “OFDM with Reduced
% Peak–to–Average Power Ratio by Optimum Combination
% of Partial Transmit Sequences,” Elect. Lett., vol. 33,
% no. 5, Feb. 1997, pp. 368–69.%
% Author: Bin Jiang
% National Mobile Communication Research Laboratory
% Southeast University, 210096 Nanjing, China
% Email: bjiang@seu.edu.cn


clear all; clc; close all;

K = 128;                                                                    % SIZE OF FFT 
V = 4;                                                                      % NUMBER OF SELECTIONS
QPSK_Set  = [1 -1 j -j];
Phase_Set = [1 -1];                                                         % W = 2
% 产生的序列个数 = W ^(V-1) = 8
% 针对QPSK共有16种相位变化组合
Choose = [1 1 1 1; 1 1 1 2; 1 1 2 1; 1 2 1 1; 2 1 1 1;...                   
          1 1 2 2; 1 2 1 2; 1 2 2 1; 2 2 1 1; 2 1 2 1; 2 1 1 2;...
          2 2 2 1; 2 2 1 2; 2 1 2 2; 1 2 2 2; 2 2 2 2];
Choose_Len = 16;      

MAX_SYMBOLS  = 1e5;
PAPR_Orignal = zeros(1,MAX_SYMBOLS);
PAPR_PTS     = zeros(1,MAX_SYMBOLS);

for nSymbol=1:MAX_SYMBOLS
    nSymbol
    Index = randint(1,K,length(QPSK_Set))+1;
    X = QPSK_Set(Index(1,:));                                               % Orignal Frequency domain signal
    x = ifft(X,[],2);                                                       % Time domain signal
    Signal_Power = abs(x.^2);
    Peak_Power   = max(Signal_Power,[],2);
    Mean_Power   = mean(Signal_Power,2);
    PAPR_Orignal(nSymbol) = 10*log10(Peak_Power./Mean_Power);
    
    % PTS (交织分割/相邻分割)
    A = zeros(V,K);
    for v=1:V
%        A(v,v:V:K) = X(v:V:K);
         A(v,(1+(v-1)*K/4):1:v*K/4) = X((1+(v-1)*K/4):1:v*K/4);
    end
    a = ifft(A,[],2);
% 门限()
    min_value = 10;
% 此处为遍历寻找最优辅助信息,可以用迭代法寻求次优辅助信息,以减小计算量,以V=4为例,可以由16次减少到V次迭代;参见Paper
    for n=1:Choose_Len
        temp_phase = Phase_Set(Choose(n,:)).';
%        temp_max = max(abs(sum(a.*repmat(temp_phase,1,K))));
        b = repmat(temp_phase,1,K);
        c = a.*b;
        d = sum(c);
        e = abs(d);
        temp_max = max(e);
        if temp_max<min_value
            min_value = temp_max;
            Best_n = n;
        end
    end
    aa = sum(a.*repmat(Phase_Set(Choose(Best_n,:)).',1,K));
        
    Signal_Power = abs(aa.^2);
    Peak_Power   = max(Signal_Power,[],2);
    Mean_Power   = mean(Signal_Power,2);
    PAPR_PTS(nSymbol) = 10*log10(Peak_Power./Mean_Power);
    
end

[cdf1, PAPR1] = ecdf(PAPR_Orignal);
[cdf2, PAPR2] = ecdf(PAPR_PTS);


%--------------------------------------------------------------------------
semilogy(PAPR1(1:40:end),1-cdf1(1:40:end),'-bo',PAPR2(1:40:end),1-cdf2(1:40:end),'-rx')
legend('Orignal','O-PTS')
title('V=4')
xlabel('PAPR0 [dB]');
ylabel('CCDF (Pr[PAPR>PAPR0])');
grid on

联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:

Tags:PTS_PAPR 
作者:PTS_PAPR 来源:PTS_PAPR
  • 您是如何找到本站的?
  • 百度搜索
  • Google搜索
  • 查阅资料过程中
  • 论坛发现
  • 百度贴吧发现
  • 朋友介绍
本站最新成功开发工程项目案例
相关文章
  • 没有相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
  • matlab代做|matlab专业代做|matlab淘宝代做(www.hslogic.com) © 2019 版权所有 All Rights Reserved.
  • Email:highspeed_logic@163.com 站长QQ: 1224848052

    专业代做/代写/承接、MATLAB、SIMULINK、FPGA项目、博士/硕士/本科毕业设计、课题设计、论文,毕业论文,Coursework、Eassy、Assignment