M=4;
k=log2(M);
n=100000;
samp=1;
x=randi(n,1);
stem(x(1:50),'filled');
title('二进制随机比特流');
xlabel('比特序列');
ylabel('信号幅度');
x4=reshape(x,k,length(x)/k);
xsym=bi2de(x4.','left-msb');
figure;
stem(xsym(1:50));
title('4 进制随机信号');
xlabel('信号序列');
ylabel('信号幅度');
y=modulate(modem.pskmod(M),xsym);
scatterplot(y);
text(real(y)+0.1,imag(y),dec2bin(xsym));
axis([-5 5 -5 5]);
EbN0=15;
snr=EbN0+10*log10(k)-10*log10(samp);
yn=awgn(y,snr,'measured');
h=scatterplot(yn,samp,0,'b.');
hold on;
scatterplot(y,1,0,'k+',h);
title('接收信号星座图');
legend('含噪声接受信号,','不含噪声信号');
axis([-5 5 -5 5]);
hold off;
eyediagram(yn,2);
yd=demodulate(modem.pskdemod(M),yn);
z=de2bi(yd,',left-msb');
z=reshape(z.',numel(z),1');
[number_of_errors,bit_error_rate]=biterr(x,z)
索引超出矩阵维度。
k=log2(M);
n=100000;
samp=1;
x=randi(n,1);
stem(x(1:50),'filled');
title('二进制随机比特流');
xlabel('比特序列');
ylabel('信号幅度');
x4=reshape(x,k,length(x)/k);
xsym=bi2de(x4.','left-msb');
figure;
stem(xsym(1:50));
title('4 进制随机信号');
xlabel('信号序列');
ylabel('信号幅度');
y=modulate(modem.pskmod(M),xsym);
scatterplot(y);
text(real(y)+0.1,imag(y),dec2bin(xsym));
axis([-5 5 -5 5]);
EbN0=15;
snr=EbN0+10*log10(k)-10*log10(samp);
yn=awgn(y,snr,'measured');
h=scatterplot(yn,samp,0,'b.');
hold on;
scatterplot(y,1,0,'k+',h);
title('接收信号星座图');
legend('含噪声接受信号,','不含噪声信号');
axis([-5 5 -5 5]);
hold off;
eyediagram(yn,2);
yd=demodulate(modem.pskdemod(M),yn);
z=de2bi(yd,',left-msb');
z=reshape(z.',numel(z),1');
[number_of_errors,bit_error_rate]=biterr(x,z)
索引超出矩阵维度。