【数字信号调制】基于matlab QAM信号产生和解调【含Matlab源码 1684期】
【摘要】
一、获取代码方式(附实验题目说明)
获取代码方式1: 完整代码已上传我的资源:【数字信号调制】基于matlab QAM信号产生和解调【含Matlab源码 1684期】
获取代码方式2: 通过订阅紫极神...
一、获取代码方式(附实验题目说明)
获取代码方式1:
完整代码已上传我的资源:【数字信号调制】基于matlab QAM信号产生和解调【含Matlab源码 1684期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、部分源代码
clc;close all
nsymbol= 100000; %随机信号长度
M=16;
SNR=1:15; %信噪比,单位db
snr1=10.^(SNR/10); %将db转为非线性的方式
graycode=[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10]; %格雷映射
data=randi([0,15],1,nsymbol); %产生随机信号
data1=graycode(data+1); %格雷映射
tx=qammod(data1,M); %16QAM调制
spow=norm(tx).^2/nsymbol; %a+bj取模的平方,即功率;功率除以整个符号得到平均功率
for i= 1:length(SNR)
rx=awgn(tx,SNR(i),spow); %加高斯白噪声
yout=qamdemod(rx,M); %16QAM解调
data_out=graycode(yout+1); %格雷逆映射
[err1,errb(i)]=biterr(data,data_out,log2(M)); %实验误比特率
[err2,errs(i)]=symerr(data,data_out); %实验误码率
end
%% 计算理论值并比较实验值
p4=2*(1-1/sqrt(M))*qfunc(sqrt(3*snr1/(M-1))); %理论误码率
terrs=1-(1-p4).^2;
terrb=1/log2(M)*terrs; %理论误比特率
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/122658972
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)