?? mccdmalast.m
字號(hào):
clear all;
format long;
%c為擴(kuò)頻序列
d_num=10000;
c=[1; 1 ;1 ;1; 1 ;j; -1; -j ;1 ;-1; 1; -1; 1; j ;-1; -j];
N=16;
a=[];
d1=[];
d2=[];
Plot_Pe = [];
plot_EbNo = -20:2:10;
for EbNo = -20:2:10,
%convert back from dB
Eb_No = EbNo; %dB
Eb_No = 10.^(Eb_No/10);
%assume No = 2;
No = 2;
Eb = No * Eb_No;
%calculate power p
Tc = 1;
Ts = N * Tc;
p = Eb / Ts;
i=1;
%N =16,產(chǎn)生隨機(jī)的原始數(shù)據(jù)d,
%d=bingen(d_num);
d=rand(1,d_num);
d(find(d<0.5))=-1;
d(find(d>0.5))=1;
for k=0:1:d_num/2-1;
d1=d(2*k+1);
d2=d(2*k+2);
x1=d1*c;
x2=d2*c;
x=[x1';x2'];
mod=ifft(x);
y=reshape(mod,1,32);
%scale by appropriate power factor
y = sqrt(p)*y;
%add AWGN to signal
y = awgn(y,1);
y1=reshape(y,2,16);
demod=fft(y1);
demod1=demod(1,:);
demod2=demod(2,:);
dec1=demod1*c;
dec2=demod2*c;
dec1(find(dec1<0.5))=-1;
dec1(find(dec1>=0.5))=1;
dec2(find(dec2<0.5))=-1;
dec2(find(dec2>=0.5))=1;
recover=[dec1 dec2];
a(i:i+1)=[recover];
i=i+2;
end
a
Pe = length(find(d - a))/d_num;
Plot_Pe = [Plot_Pe Pe];
end %end for EbNo
%display the calculated Pd and Pfa
Plot_Pe
%plot Pe versus Eb/No
semilogy(plot_EbNo,Plot_Pe,'m*:')
xlabel('Eb/No (dB)')
ylabel('BER')
s=sprintf('BER versus Eb/No in AWGN');
title(s);
grid on
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -