16-QAM(binary+gray) MATLAB仿真+BER计算+星座图结果展示

一、MATLAB仿真实现步骤

1.产生二进制数据流

2.将二进制数据转换为整型数据(qammod函数默认输入整型数据)

3.16-QAM调制

4.加AWGN

5.绘制加AWGN前后的星座图

6.16-QAM解调

7.将整型输出数据转换为二进制数据

8.计算BER

二、MATLAB仿真代码

M=16
k=log2(M)
n=30000
sps=1
rng default
datain=randi([0 1],n*k,1);
datasymbolsin=bit2int(datain,k)
datamod=qammod(datasymbolsin,M,'bin')
datamodG=qammod(datasymbolsin,M)
Ebn0=5
snr=convertSNR(Ebn0,'ebno',SamplesPerSymbol=sps,BitsPerSymbol=k)
receivedsignal=awgn(datamod,snr,"measured")
receivedsignalg=awgn(datamodG,snr,"measured")
splotfig=scatterplot(receivedsignal,1,0,'y.')
hold on
scatterplot(datamod,1,0,'k*',splotfig)
title('binary consellation')
splotfig2=scatterplot(receivedsignalg,1,0,'g.')
hold on
scatterplot(datamodG,1,0,'k*',splotfig2)
title('gray consellation')
datasymbolsout=qamdemod(receivedsignal,M,'bin')
datasymbolsoutg=qamdemod(receivedsignalg,M)
dataout=int2bit(datasymbolsout,k)
dataoutg=int2bit(datasymbolsoutg,k)
[numerros,ber]=biterr(datain,dataout)
fprintf('\nThe binary coding error rate is %5.2e,based on %d errors.\n',ber,numerros)
[numerrosg,berg]=biterr(datain,dataoutg)
fprintf('\nThe gray coding error rate is %5.2e,based on %d errors.\n',berg,numerrosg)

三、MATLAB仿真结果星座图展示:

(1)当Eb/n0=5时:

(2)当Eb/n0=20时

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Simulink是一个功能强大的基于模块化设计的仿真平台,可以在Matlab环境下进行仿真和建模。使用Simulink进行16-QAM基带仿真可以通过以下步骤实现: 1. 打开Matlab软件,创建一个新的模型文件,并命名为“16-QAM_Baseband”。 2. 在模型中添加源模块(Source)来生成16-QAM调制的原始信号。可以选择使用恒定模块(Constant)来生成一串数字信号序列,代表要传输的数据。这些数据的大小应为4个比特。 3. 将生成的信号输入到QAM调制器模块(QAM Modulator)中。在模块的参数中,设置调制方式为16-QAM,并选择合适的采样率。 4. 将调制器的输出连接到信道模块(Channel)。信道可以模拟传输中的噪声、衰落和其他影响因素。可以使用高斯信道模块(AWGN Channel)来添加高斯白噪声。 5. 在信道之后,添加解调器模块(QAM Demodulator)。与调制器类似,设置解调器的参数为16-QAM,并将采样率与调制器一致。 6. 将解调器的输出连接到显示模块(Scope),以可视化接收到的信号。 7. 点击模拟按钮,开始仿真过程。可以观察到信号的传输和解调结果。 通过以上步骤,可以使用Simulink实现16-QAM基带信号的仿真。根据需要,还可以添加其他模块和功能来进一步完善仿真过程,比如加入信道编码、错误检测和纠正等模块。 ### 回答2: 要用Simulink仿真16-QAM基带,请先创建一个新的Simulink模型。接下来,按照以下步骤设置仪表。 1. 添加Sine Wave Generator模块,生成基带信号。选择合适的采样频率和幅度。 2. 将16-QAM调制器模块添加到模型中。此模块将基带信号调制为16-QAM信号。选择合适的信号映射。 3. 添加高斯白噪声模块,用于在信号上添加噪声。可以设置噪声的功率谱密度。 4. 将16-QAM解调器模块添加到模型中。此模块将接收到的16-QAM信号解调为基带信号。 5. 最后,添加一个Scope模块来显示输入和输出的波形。 设置完仪表后,可以运行仿真。可以调整不同的参数,如信号幅度、串扰比以及噪声功率谱密度。通过观察Scope输出的波形,可以评估16-QAM系统的性能。 ### 回答3: 在Simulink中进行16-QAM基带仿真的步骤如下: 1. 打开Matlab软件,点击"Simulink"选项卡,找到并点击"Library Browser"按钮。 2. 在Library Browser窗口中,搜索框中输入"16-QAM",找到并点击"16-QAM Modulator Baseband"模块。 3. 将"16-QAM Modulator Baseband"模块拖动到工作区中。 4. 在Library Browser窗口中,搜索框中输入"AWGN",找到并点击"AWGN Channel"模块。 5. 将"AWGN Channel"模块拖动到工作区中,将其连接到"16-QAM Modulator Baseband"的输出端口。 6. 在Library Browser窗口中,搜索框中输入"Error Rate Calculation",找到并点击"Error Rate Calculation"模块。 7. 将"Error Rate Calculation"模块拖动到工作区中,将其连接到"AWGN Channel"的输出端口。 8. 连接输入信号端口和误码率计算端口。 9. 点击模拟按钮,开始仿真。 10. 程序会模拟16-QAM基带信号通过AWGN信道传输并计算误码率。 11. 在Simulink窗口的Diagram窗口中,可以查看信号经过每个模块的传输过程和结果。 通过上述步骤,可以在Simulink中进行16-QAM基带信号的仿真。用户可以根据需要设置信号的参数和仿真环境的条件,例如信号的调制方式、信噪比等,以验证16-QAM基带信号在AWGN信道下的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值