ofdmmywork.m

来自「ofdma matlab simulation」· M 代码 · 共 58 行

M
58
字号

%MY OFDM PROGRAMME

clear
clc
%block=20;
n=512;           % no. of users
SNR=1:20;   %SNR with step size 1dB
M=2;        %bpsk data
m=16;                  %data length
sl=16;             %spread length
chiplen=m*sl;          %chip length
for ii=1:length(SNR)
     error_total=0;
    for iteration=1:50
% generate data
data=randint(n,m,M)
%spreading sequence producing {+1,-1,+1,-1--------}
for i=1:sl
    spreading(1,i)=1-2*rem(i-1,2);
end
%spreading sequence generation ends
for j=1:chiplen
               if spreading(1,i)<=0;
                   c1(i,j)=0;
               else
                   c1(i,j)=spreading(1,i);
               end
           end
               d1=c1
       
%transmitd data
data1=pskmod(d1,M);
transmit=ifft(data1);
%channel
 rx_data1=awgn(transmit,SNR(ii),'measured');
%received data
receive=fft(rx_data1);
rx=pskdemod(receive,M)
% error calculation
 error=0;
        for k=1:n
            if rx(k)~=d1(k)
                error=error+1;
            end
        end
        error_total=error_total+error;
    end
    ber(ii,1)=error_total/(n*50);
end
semilogy(ber,'-k*','LineWidth',2,...
                'MarkerEdgeColor','g',...
                'MarkerFaceColor','b',...
                'MarkerSize',10)            
           xlabel('Eb/No(dB)')
            ylabel('Bit Error Rate')
           grid on
           hold on 

⌨️ 快捷键说明

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