求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/02 20:11:16
求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!
xX[OG+)4wv=-B)yKSkfwOD ET4PPHSR%$˿YY@Nwx wGG*{n R"|{{hrϞ]y]n.<_}vh1(] q#[G5{. '[CEz?y1,VY)ZxѰLʏ Uw?د lE{i]fOj,ז8͢cPÌkwK*+ Kwb۠n/ncb:1rտW|tJRt.Oth2J^$O]廙#]ވx[l)x )\Li,յ!'GfRtW}UJ ;cl)IVu#*W{sQ3f-lGpmS'%(AkV:ZX8O0ױ^g5LC`Mn1b\Mb"Rxvt엣W3'%Za 棉+B'\~ƨ3v<P5Ѽj=kDŽ((489.(@XïH<1հeR%Rч^e*l"Svaq{ l4uޗIy (7bS }^<,v`(QoϜ>D5ȷPupso.tp7*DXM'!2;άw烗aDY''GcqaX$?uNRe 7QY4Ԗy9#FNDIIrD:?k.~ PI(iCiR$^-,!3A0QDAto$%#2ItqI.3)AX}PF DpB. oPsiGC

求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!
求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序
只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!

求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!

你也没说系统子载波数是多少,调试方式是QPSK呢,还是更高阶,很多参数都不知道.

我写了个小程序,调制方式是4QAM,子载波数是256,统计了10个OFDM符号.

clc;

clear;

LOOP = 10;      %   Simulation times

Symbol_peak = 0;

Symbol_average = 0;

data = [];

num_tone = 256;

bit_alloc = 2 * ones(1, num_tone);

%   Simulation begin

for i_loop = 1 : LOOP

    Tx_f = zeros(1, num_tone);

    for idx = 1 : num_tone

        bit_len = bit_alloc(idx);

        if 0 == bit_len         %   Do not carry any bit on this tone

            continue;

        else                    %   Bit Allocation and QAM mapping

            bits = randint(1, bit_len);

            bits = dec2bin(bits)';

            switch bits

                case '00'

                    signal = 1+i;

                case '01'

                    signal = 1-i;

                case '10'

                    signal = -1+i;

                case '11'

                    signal = -1-i;

            end

            

            Tx_f(idx) = signal;

        end

    end

    %   IFFT to time domain

    tmp = conj(Tx_f(2:end));

    tmp = fliplr(tmp);

    Symbol_f = [Tx_f 0 tmp];

    Symbol_t = ifft(Symbol_f);

    Symbol_t = real(Symbol_t);

    data = [data Symbol_t];

    %   PARA statistics

    if Symbol_peak < max(abs(Symbol_t))

        Symbol_peak = max(abs(Symbol_t));

    end

    Symbol_average = Symbol_average + sqrt(mean(abs(Symbol_t).^2));

end

Symbol_average = Symbol_average / LOOP;

PAR = Symbol_peak/Symbol_average;

%   Show result 

plot(data,'-b.');

xlabel('time');

ylabel('signal')

fprintf('PAP: %f\n', PAR);