Matlab通信仿真系列

您所在的位置:网站首页 仿真系列墙纸 Matlab通信仿真系列

Matlab通信仿真系列

2024-05-25 11:04| 来源: 网络整理| 查看: 265

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 在这里插入图片描述 本节目录

一、正交幅度调制(QAM)的产生 二、正交幅度调制(QAM)的解调 三、正交幅度调制(QAM)的Matlab仿真 1、QAM信号波形和星座图仿真 2、QAM信号调制解调仿真 四、Matlab源码 1、QAM信号波形和星座图仿真源码 2、QAM信号调制解调仿真源码

本节内容 正交幅度调制,又称为正交振幅键控,QAM(Quadrature Amplitude Modulation)。 多进制正交调幅MQAM,是一种既调幅又调相的数字调制,用载波的不同幅度及不同相位来表示多进制数字信息。 一、正交幅度调制(QAM)的产生 QAM信号使用两个正交载波cos(2πfct)和sin(2πfct),其中每个都被一个独立的信息比特序列所调制。波形表达式: 在这里插入图片描述

上式中Amc和Ams是承载信息的正交载波的信号幅度;g(t)是信号脉冲。 在这里插入图片描述

16QAM调制器,输入二进制数据经过串/并转化和2/4电平变换后得到两路码元宽度增大4倍的双极性四电平码,分别进行正交调制,合成后的信号即为16QAM信号。 具体功能框图: 在这里插入图片描述

QAM信号的波形可以表示成啷个标准正交信号波形φ1(t)和φ2(t)的线性组合。 在这里插入图片描述

二、正交幅度调制(QAM)的解调 在awgn信道中,一个信号区间内接收到的带通信号表达式: 在这里插入图片描述

上式中nc(t)和ns(t)是加性噪声的两个正交分量,是零均值且互不相关的高斯随机过程,方差为N0/2。 QAM的awgn信道的最佳检测计算相关度量,表达式为: 在这里插入图片描述

在矩形信号星座中,M=2^k,其中k为整数,QAM信号等价于在正交载波上的两个PAM信号。 对于M电平的QAM系统,正确判决的概率公式为: 在这里插入图片描述

当k为偶数时,一个符合差错概率公式: 在这里插入图片描述

当k为奇数时,一个符合差错概率公式: 在这里插入图片描述

三、正交幅度调制(QAM)的Matlab仿真 1、QAM信号波形和星座图仿真

matlab代码示例: 消息数据经过Gray编码后[1 4 2 0 7 5 2 6], 绘制8QAM调制信号波形和星座图,其中载波频率为1Hz。

在这里插入图片描述在这里插入图片描述

2、QAM信号调制解调仿真

matlab代码示例: 用基带等效方式仿真16-QAM载波调制信号, 在awgn信道下的误码率和误比特率性能,并与理论值比较。

在这里插入图片描述 在这里插入图片描述

四、Matlab源码 1、QAM信号波形和星座图仿真源码

clear all; clc; close all; %消息信号 msg=[1 4 3 0 7 5 2 6]; %符号周期 T=1; %每个符号的采样点数 fs=100; %采样时间间隔 ts=1/fs; %时间矢量 t=0:ts:T-ts; %所有符号的传输时间 x_t=0:ts:length(msg)-ts; %载波频率 fc=1; %载波信号 c=sqrt(2/T)*exp(j*2*pi*fc*t); %8-QAM调制 M=8; %基带QAM调制 msgmod=qammod(msg,M).'; tx=real(msgmod*c); tx=reshape(tx.',1,length(msg)*length(t)); plot(x_t,tx(1:length(x_t))); title('8QAM信号波形'); xlabel('时间'); ylabel('载波振幅'); scatterplot(msgmod); title('8QAM信号星座图'); xlabel('同相分量'); ylabel('正交分量');

2、QAM信号调制解调仿真源码

clear all; clc; close all; %采样点数 numsamp=10; %发送符合数 num_symbol=100000; %信噪比 EsN0=0:20; %信噪比转化为线性值 snrl=10.^(EsN0/10); %16-QAM M=16; %Gray编码规则 graycode=[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10]; %消息数据 msg=randi([0,M-1],1,num_symbol); %Gray映射 msg1=graycode(msg+1); %16-QAM调制 msgmod=qammod(msg1,M); %求每个符号的平均功率 spow=norm(msgmod).^2/num_symbol; for indx=1:length(EsN0) %根据符号功率求噪声功率 sigma=sqrt(spow/(2*snrl(indx))); %加入高斯白噪声 rx=msgmod+sigma*(randn(1,length(msgmod))+j*randn(1,length(msgmod))); %16-QAM解调 y1=qamdemod(rx,M); %Gray逆映射 decmsg=graycode(y1+1); %求误比特率和误符号率 [err,ber(indx)]=biterr(msg(2:end),decmsg(2:end),log2(M)); [err,ser(indx)]=symerr(msg(2:end),decmsg(2:end)); end %理论误符号率 P4=2*(1-1/sqrt(M))*qfunc(sqrt(3*snrl/(M-1))); ser1=1-(1-P4).^2; %理论误比特率 ber1=1/log2(M)*ser1; semilogy(EsN0,ber,'-ko',EsN0,ser,'-k*',EsN0,ber1,'-r',EsN0,ser1,'-b'); title('16-QAM载波信号在awgn信道下的性能'); xlabel('Es/N0'); ylabel('误比特率和误符号率'); legend('误比特率','误符号率','理论误比特率','理论误符号率');


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3