📄 ssd.asv
字号:
clear all;
EbNo = 0:1:20;
v_len=16;
d_num= 1;
error11 = zeros(1, d_num);
BER11 = zeros(1, length(EbNo));
for i = 1:length(EbNo)
disp('Eb/No is:');
display(EbNo(i));
data = randint(v_len,d_num, 2);
for index=1:d_num
h = modem.qammod('M', 16, 'SymbolOrder', 'Gray', 'InputType', 'Bit');
input_u=sqrt(1/10)*modulate(h,data(:,index)) ;
symbol1=input_u(1);
symbol2=input_u(2);
symbol3=input_u(3);
symbol4=input_u(4);
M=[1 0 1 0 1 0 1 0;
0 1 0 1 0 1 0 1;
cos(pi/8) -sin(pi/8) cos((5*pi)/8) -sin((5*pi)/8) cos((9*pi)/8) -sin((9*pi)/8) cos((13*pi)/8) -sin((13*pi)/8);
sin(pi/8) cos(pi/8) sin((5*pi)/8) cos((5*pi)/8) sin((9*pi)/8) cos((9*pi)/8) sin((13*pi)/8) cos((13*pi)/8);
cos((2*pi)/8) -sin((2*pi)/8) cos((10*pi)/8) -sin((10*pi)/8) cos((18*pi)/8) -sin((18*pi)/8) cos((26*pi)/8) -sin((26*pi)/8);
sin((2*pi)/8) cos((2*pi)/8) sin((10*pi)/8) cos((10*pi)/8) sin((18*pi)/8) cos((18*pi)/8) sin((26*pi)/8) cos((26*pi)/8);
cos((3*pi)/8) -sin((3*pi)/8) cos((15*pi)/8) -sin((15*pi)/8) cos((27*pi)/8) -sin((27*pi)/8) cos((39*pi)/8) -sin((39*pi)/8);
sin((3*pi)/8) cos((3*pi)/8) sin((15*pi)/8) cos((15*pi)/8) sin((27*pi)/8) cos((27*pi)/8) sin((39*pi)/8) cos((39*pi)/8)];
v=[real(symbol1) real(symbol2) real(symbol3) real(symbol4) imag(symbol1) imag(symbol2) imag(symbol3) imag(symbol4)];
x=v*M;
output_x=(1/sqrt(2))*x.';
H =1/sqrt(2)* raylrnd(1:8)';
r = awgn(H.*output_x, EbNo(i));
input=[conj(r)',conj(H)'];
input=conj(input)';
R=ML( input );
demodObj = modem.qamdemod('M',16, 'SymbolOrder', 'Gray', 'OutputType', 'Bit');
demod=demodulate(demodObj,sqrt(10)*R);
error11(index) = biterr(demod, data(:,index));
end
BER11(i) = sum(error11)/(v_len*d_num);
end
figure(1);hold on;grid on;
semilogy(EbNo,BER11,'r');
xlabel('Eb/No dB');
ylabel('Pe(bit)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -