QAM信号调制与解调的仿真(matlab仿真)

一、实验目的

        了解QAM的工作原理,掌握QAM调制解调系统的构成,基带信号、载波和已调信号之间的关系;掌握利用matlab对QAM进行仿真的分析方法。

二、实验任务

        利用matlab实现对8QAM信号调制与解调的仿真,分别给出消息信号、8QAM信号和解调信号的波形和8QAM信号星座图。利用matlab仿真软件编写程序,完成相应实验内容。

        简述8QAM调制解调系统的工作原理和程序设计思路,分别给出消息信号、8QAM信号和解调信号的波形和8QAM信号星座图。

三、实验部分代码

clc,clear;
M=8;
k=log2(M);
n=10000;                        %比特序列长度 
samp=1;                         %过采样率 
x= randi([0,1], 90,1);          %生成随机二进制比特流
subplot(311);
stem(x(1:20),'filled');  %绘制相应的二进制比特流信号 title('二进制随机比特流0) 
xlabel('二进制比特序列');
ylabel('信号幅度');
x4= reshape(x,k,length(x)/k);   %将原始的二进制比特序列每四个一组分组,并排列成k行 
                             %length(x)/k列的矩阵
xsym = bi2de(x4.','left-msb');    %将矩阵转化为相应的八送进制信号序列 
subplot(312);
stem(xsym(1:20));             %绘制相应的八进制信号序列 title('八进制随机信号') 
xlabel('八进制信号序列');
ylabel('信号幅度');  


%8QAM调制
y= qammod(xsym,M);      %用8QAM调制器对信号进行调制
subplot(313);
stem(y(1:20));
xlabel('8QAM信号序列');
ylabel('信号幅度');
scatterplot(y);         %画出8QAM信号的星座图 
title('发射信号星座图');
text(real(y) + 0.1,imag(y),dec2bin(xsym));
axis([-5 5 -5 5]);
EbNo=10;
snr=EbNo+10*log10(k)-10*log10(samp);    %信噪比
yn = awgn(y,snr, 'measured');           %加入高斯白噪声 
h= scatterplot(yn,samp,0,'b.');         %经过信道后接收到的含白噪声的信号星座图 
hold on;
scatterplot(y,1,0,'r+ ',h);             %加入不含白噪声的信号星座图 
title('接收信号星座图');
legend('含噪声接收信号','不含噪声信号'); 
axis([-5 5 -5 5]); 
hold on;

四、实验结果

图1 随机信号序列及8QAM信号序列

 

图2  发射信号的星座图

图3  8QAM接收信号的星座图

图4  解调出来的八进制信号

图5  解调出来的二进制信号

 

图6  误码率和误比特数

        如需要完整的程序源码和实验报告,请自行付积分查看,链接如下:

8QAM信号调制与解调的仿真资源-CSDN文库

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.求

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值