M=16 ;
k=log2(M);
n=60000; %比特序列长度
samp=1; %过采样率
x=random_binary(n);
x=x';
figure(1);
stem(x(1:50),'filled'); %画出相应的二进制比特流信号
title(' 二进制随机比特流');
xlabel('比特序列');ylabel(' 信号幅度');
x4=reshape(x,k,length(x)/k); %将原始的二进制比特序列每四个一组分组, 并排列成k行length(x)/k列的矩
xsym=bi2de(x4.','left-msb'); %将矩阵转化为相应的10进制信号序列
stem(xsym(1:50)); %画出相应的10进制信号序列
title('16 进制随机信号');
xlabel('信号序列');ylabel(' 信号幅度');
y=modulate(modem.qammod(M),xsym); %用16QAM 调制器对信号
scatterplot(y); %画出16QAM 信号的星座图
text(real(y),imag(y),dec2bin(xsym));% text(x,y,'string'):在二维图形中指定的位置(x,y)上显示字符串string
axis([-5 5 -5 5]);
EbNo=-10:1:15; %%snr_in_db
for n=1:length(EbNo);
snr(n)=EbNo(n)+10*log10(k)-10*log10(samp); % 信噪比
yn=awgn(y,snr(n),'measured'); %加入高斯白噪声
yd=demodulate(modem.qamdemod(M),yn); % 此时解调出来的是16进制信号
z=de2bi(yd,'left-msb'); %转化为对应的二进制比特流
z=reshape(z.',numel(z),1');
%[number,rate]=biterr(x,z) ; x为原信号,z 为解调之后的信号。返回错误的bit数和比率
[number_of_errors(n),bit_error_rate(n)]=biterr(x,z);
theoryPe1(n)=(1/k)*3/2*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10))));
% t=0.75*erfc(sqrt(0.4*(10.^(EbNo(n)/10))));
% theoryPe(n)=1-((1-t).^2);
end
figure(3);
semilogy(EbNo,bit_error_rate,'b-',EbNo,theoryPe1,'r*-' );
legend('16QAM 实际误码率','16QAM 理论误码率');
xlabel('EbNo/dB');
ylabel('误比特率');
h=scatterplot(yn(1:1*5e3),samp,0,'g.'); %经过信道后接收到的含白噪声的信号星座图
hold on;
figure(4);
scatterplot(y(1:1*5e3),1,0,'k+',h); %加入不含白噪声的信号星座图
title(' 接收信号星座图');
legend('含噪声接收信号','不含噪声信号');
axis([-8 8 -8 8]);
hold off
QAM.rar_16理论误码率_QAM仿真_QAM误码率对比_actionpcl_误码率
版权申诉
5星 · 超过95%的资源 177 浏览量
2022-09-15
01:28:49
上传
评论
收藏 1KB RAR 举报
APei
- 粉丝: 63
- 资源: 1万+
最新资源
- python开心麻花影视作品分析程序+源码.zip
- pythonExcel数据分析师程序+源码.zip
- PlatformUI.jar 支持RCP控件环境插件
- VB+ACCESS大型机房学生上机管理系统(源代码+系统).zip
- 基于BP神经网络的回归分析,基于优化动量因子的BP神经网络,基于优化学习率的BP神经网络,基于优化隐藏层神经元的bp神经网络
- python读取excel数据Python-file-reading-master.zip
- STC15单片机串口2使用程序例子
- 读取日志的excel生成周报 用python3开发weekplan-master.zip
- python 读取excel数据导入dbimport-data-master.zip
- K折交叉验证BP神经网络,多输入多输出BP神经网络(代码完整,数据齐全)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈