信号类型(通信)——QAM调制信号

系列文章目录

《信号类型(通信)——仿真》


文章目录

前言

一、原理图

二、仿真

2.1、QAM仿真

2.2、不同滚降系数

2.3、不同M下QAM调制对比

总结


前言

       本文主要结合仿真分析了QAM的信号处理过程,并简单分析了成型滤波器中的滚降系数对QAM的影响。


一、原理图

QAM信号调制的原理框图

      QAM信号产生过程:基带码元波形经过QAM映射(串并转换分成I、Q两路,然后再经过电平转换,以16QAM为例,00转换成-0.5,01转换成-1.5,10转换成0.5,11转换成1.5)得到QAM调制信号,再与对应的载波相乘,然后再相加完成QAM的调制。

s(t)=I(t)\cos(2\pi f_c t)-Q(t)\sin(2\pi f_c t)

其中I(t)=\sum_{n=0}^{N-1}p_{n}g\left ( t-nT_b \right ),Q(t)=\sum_{n=0}^{N-1}q_{n}g\left ( t-nT_b \right ),f_c为载频,p_{n},q_{n}为QAM调制码的IQ表示,T_b为码宽,g(t)为码波形,由成型滤波器决定。

       QAM信号解调的原理框图

       QAM信号再分为I、Q两路和对应的载波相乘,然后经过低通滤波器得到基带信号:

I_{lp}(t)=\frac{1}{2}I(t)+w_{I}\left ( t \right )

Q_{lp}(t)=\frac{1}{2}Q(t)+w_{Q}\left ( t \right )

其中r(t)=s(t)+w(t),w(t)表示接收机噪声,w_{I}\left ( t \right ),w_{Q}\left ( t \right )分别表示IQ路噪声。

       对下变频后的基带信号进行匹配滤波,并进行抽样判决,恢复出原始的码元序列。

二、仿真

        参数设置,符号速率60kHz,采样率12 Mz,载频 1.5MHz,码序列随机生成,成型滤波器采用根升余弦滤波器,滚降系数决定码波形,QAM调制,M=4,16,64。部分代码如下:

%% 信号参数
rate = 6e4;                             % 符号速率
sample = 200;                           % 每个符号的采样点数
fc = 1.5e6;                            % 载波频率
fs = rate*sample;                       % 采样频率=比特率*每个符号的采样点数
M = 4;                                 % 4,16,64
num = 100;                              % 帧数
symbol_number = 100;                   % 每帧发送数据符号个数
source_number = symbol_number*log2(M);  % 发送信号的长度,bit数
rollof_factor1 = 0.8;                   % 发射滚降因子,可调整
N1 = 8;
rollof_factor2 = 0.8;                   % 接收滚降因子,可调整
N2 = 8;
rcos_fir1 = rcosdesign(rollof_factor1,N1,sample,'sqrt'); % 默认'sqrt'
rcos_fir2 = rcosdesign(rollof_factor2,N2,sample,'sqrt');%% 随机数据流生成
[frame_bit ,ns]= data_producing(M,source_number,num);%% QAM信号生成
% QAM映射
frame_msg = reshape(frame_bit,2,round(ns*num/2));
[qam_I,qam_Q]=qam1(frame_msg,M);% 成型滤波
[It_rcos,Qt_rcos]=qam2(qam_I,qam_Q,sample,rcos_fir1);% 载波调制
st = qam3(It_rcos,Qt_rcos,fc,fs);figure;
subplot(211)
stem(frame_msg(1,1:200));
xlabel('码序列');
ylabel('I路数据流');
subplot(212);
stem(frame_msg(2,1:200));
xlabel('码序列');
ylabel('Q路数据流');figure;
subplot(211);plot(It_rcos(1:200*sample));
xlabel('时间点数')
title('发射I路通过成型滤波器的时域波形');
subplot(212);plot(Qt_rcos(1:200*sample));
xlabel('时间点数')
title('发射Q路通过成型滤波器的时域波形');figure;
subplot(211);plot(st(1:200*sample));
title('载波调制时域波形');
xlabel('时间点数')
subplot(212);plot(linspace(-fs/2,fs/2,length(st)),abs(fftshift(fft(st))));
xlabel('频率(Hz)')
title('载波调制频域波形');%% 接收信号
% 高斯白噪声信道
snr = 15;
rt = awgn(st,snr,'measured');% IQ下变频
rt1=deqam1(rt,fc,fs);% 匹配滤波
rt2=deqam2(rt1,rcos_fir2);figure;
subplot(211);plot(rt(1:200*sample));
xlabel('时间点数')
title('接收时域波形');
subplot(212);plot(linspace(-fs/2,fs/2,length(st)),abs(fftshift(fft(rt))));
xlabel('频率(Hz)')
title('接收频谱');figure;
subplot(211);plot(real(rt1(1:200*sample)));
xlabel('时间点数')
title('接收解调后I路时域波形');
subplot(212);plot(imag(rt1(1:200*sample)));
xlabel('时间点数')
title('接收解调后Q路时域波形');figure;
subplot(211);plot(real(rt2(1:200*sample)));
xlabel('时间点数')
title('接收I路通过匹配滤波器的时域波形');
subplot(212);plot(imag(rt2(1:200*sample)));
xlabel('时间点数')
title('接收Q路通过匹配滤波器的时域波形');%% 直接解码
Cd1 = deqam3(rt1,1/max(rcos_fir1),sample,M);figure;
plot(frame_msg(:)-Cd1(:));
disp(sum(frame_msg(:)-Cd1(:)~=0)/length(Cd1(:)));
scatterplot(rt1(sample/2:sample:end)/max(rcos_fir1)); %星座图
title('匹配滤波后星座图');%% 匹配滤波后解码
Cd2 = deqam3(rt2,1,sample,M);figure;
plot(frame_msg(:)-Cd2(:));
disp(sum(frame_msg(:)-Cd2(:)~=0)/length(Cd2(:)));
scatterplot(rt2(sample/2:sample:end)); %星座图
title('匹配滤波后星座图');%% 眼图
% 匹配前
figure
plot(reshape(real(rt1(sample/2+1:sample/2+sample*200*2)),sample*2,200));
xlabel('时间点数')
title('匹配滤波前眼图');% 匹配后
figure
plot(reshape(real(rt2(sample/2+1:sample/2+sample*200*2)),sample*2,200));
xlabel('时间点数')
title('匹配滤波后眼图');

2.1、QAM仿真

码序列                        成型滤波后基带信号

       帧信号由帧头,帧体和帧尾构成,帧头和帧尾固定,帧体数据随机生成,生成的码序列如左上图所示。成型滤波器滚降系数0.8,码长8,对码脉冲信号进行成型滤波,得到右上图所示的基带信号。最后载频调制得到最终发射信号,如下图所示。

发射的射频信号波形以及频谱

只考虑接收机的热噪声影响,得到如下所示接收信号。与发射信号相比,信号波形存在随机波动。

接收的射频信号波形以及频谱

       对接收的信号进行下变频至基带得到左下1图的基带信号,通过对信号进行截断得到左下2图所示的眼图,并基于最佳点得到左下3图所示的眼图。

下变频后基带信号的波形,眼图以及基于最佳点的星座图

        对下变频后的基带信号进行匹配滤波得到左下1图的基带信号,通过对信号进行截断得到左下2图所示的眼图,并基于最佳点得到左下3图所示的眼图。与匹配滤波前相比,信号的眼图以及星座图得到明显改善。

匹配滤波后基带信号的波形,眼图以及基于最佳点的星座图

2.2、不同滚降系数

0.05                                          0.5                                  0.8

发射的射频信号波形以及频谱

       上图分别不同滚降系数下的发射信号波形以及对应的单边谱,可以看出随着滚降系数增加,信号波形越窄。

0.05                                          0.5                                  0.8

匹配滤波后基于最佳点的星座图

       在不知道发射端的成型滤波器时,直接对下变频的接收信号进行检测,得到上图所示星座图,可以看出,滚降系数增加,对应的星座图逐渐恶化。

0.05                                          0.5                                  0.8

匹配滤波后基于最佳点的星座图

      在发射端的成型滤波器已知情况时,可以对接收的基带信号进行匹配滤波,由此可以得到上图所示星座图,可以看出,滚降系数很小时,匹配滤波并没有改善星座图,但随着滚降系数的增肌,匹配滤波的效果也逐渐显现。

2.3、不同M下QAM调制对比

M=4                                          M=16                                  M=64

发射的射频信号波形以及频谱

       上图分别维4QAM,16QAM以及64QAM调制的发射信号波形以及对应的单边谱,可以看出随着M增加,信号包络越加复杂,这种复杂的包络也意味着有着更多的信息被传递。

M=4                                          M=16                                  M=64

匹配滤波后基于最佳点的星座图

       在不知道发射端的成型滤波器时,直接对下变频的接收信号进行检测,得到上图所示星座图,可以看出,随着M增加,对应的星座图逐渐恶化。

M=4                                          M=16                                  M=64

匹配滤波后基于最佳点的星座图

      在发射端的成型滤波器已知情况时,可以对接收的基带信号进行匹配滤波,由此可以得到上图所示星座图,可以看出,匹配滤波能够明显改善星座图。

代码链接《通信+数字通信+QAM调制解调分析》;


总结

 本文主要从仿真的角度简单分析了QAM调制解调过程,实际环境中的多普勒效应以及多径效应等并没有考虑。有更好的内容欢迎在评论区放置链接,另外有问题也欢迎评论区留言。转载请附链接【杨(_> <_)】的博客_CSDN博客-信号处理,SAR,代码实现领域博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/125361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云创始人王坚:云计算和GPT的关系,就是电和电机的关系

10月31日&#xff0c;在2023云栖大会&#xff0c;中国工程院院士、阿里云创始人王坚以《云计算的第三次浪潮》为主题发表演讲&#xff0c;他认为人工智能和云计算的结合&#xff0c;带来云计算的第三次浪潮&#xff0c;它不会在一年、两年完成&#xff0c;它可能会给我们十年、…

目标URL启用了不安全的HTTP方法

修复中危web项目漏洞&#xff08;目标URL启用了不安全的HTTP方法&#xff09; 漏洞名 &#xff1a;目标URL启用了不安全的HTTP方法 等级&#xff1a; 中危 漏洞位置&#xff1a; PUT DELETE 描述&#xff1a; Web服务器配置为允许使用危险的HTTP方法&#xff0c;如PUT、MOVE、…

基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类 计算机竞赛

文章目录 1 前言2 情感文本分类2.1 参考论文2.2 输入层2.3 第一层卷积层&#xff1a;2.4 池化层&#xff1a;2.5 全连接softmax层&#xff1a;2.6 训练方案 3 实现3.1 sentence部分3.2 filters部分3.3 featuremaps部分3.4 1max部分3.5 concat1max部分3.6 关键代码 4 实现效果4.…

【Proteus仿真】【Arduino单片机】简易电子琴

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用无源蜂鸣器、按键等。 主要功能&#xff1a; 系统运行后&#xff0c;按下K1-K7键发出不同音调。 二、软件设计 /* 作者&#xff1a;嗨小易&a…

基于 Center 的 3D 目标检测和跟踪

论文地址&#xff1a;https://arxiv.org/abs/2006.11275 论文代码&#xff1a;https://github.com/tianweiy/CenterPoint 3D 目标通常表示为点云中的 3D Boxes。 CenterPoint 在第一阶段&#xff0c;使用关键点检测器检测对象的中心&#xff0c;然后回归到其他属性&#xff0…

CSAPP BOMB LAB

BOMB LAB lab phase1 bomb.c phase1 code: bomb.s phase1 code: 401338 对应 string_not_equal函数: 工具介绍 objdump 使用 objdump是一个用于分析可执行文件、目标文件和共享库的工具。它可以显示这些文件的二进制指令、符号表、段信息、重定位表等内容&#xff0c;帮…

Mybatis-Plus 逻辑删除

目录 引言准备工作方式一&#xff1a;局部注解方式二&#xff1a;全局配置结语开源项目 引言 MyBatis-Plus&#xff0c;作为 MyBatis 的增强版本&#xff0c;提供了丰富的功能和选项&#xff0c;以简化数据库操作和提高开发效率。在众多功能中&#xff0c;逻辑删除是一个常见的…

C++的拷贝构造函数

目录 拷贝构造函数一、为什么用拷贝构造二、拷贝构造函数1、概念2、特征1. 拷贝构造函数是构造函数的一个重载形式。2. 拷贝构造函数的参数3. 若未显式定义&#xff0c;编译器会生成默认的拷贝构造函数。4. 拷贝构造函数典型调用场景 拷贝构造函数 一、为什么用拷贝构造 日期…

数据结构-二分查找Java实现

目录 一、引言二、算法步骤三、原理演示四、代码实战五、结论 一、引言 二分查找&#xff0c;也被称为二分搜索或折半查找&#xff0c;是一种用于在有序数组或列表中查找特定元素的高效算法。其基本思想是将查找范围逐步缩小&#xff0c;直到找到目标元素或确定目标元素不存在。…

分布式存储系统Ceph应用组件介绍

1、 无中心架构分布式存储Ceph Ceph是一套开源的分布式存储系统。具有可靠性高&#xff0c;性能优良&#xff0c;可伸缩&#xff0c;与HDFS不同的地方在于&#xff0c;该架构中没有中心节点。 Ceph优点在于它不单单是存储&#xff0c;同时还充分利用了存储节点上的计算能…

赛宁网安多领域创新成果亮相第五届“纵横”论坛

10月27日&#xff0c;第五届“纵横”网络空间安全创新论坛在安徽合肥举办&#xff0c;来自中央国家机关、地方政府、军队有关单位、高校、科研院所和部分高新技术企业的领导、专家和代表500余人参加。 本届论坛由军事科学院和国防科技大学等单位共同主办&#xff0c;国防科技大…

JavaScript开发技巧(上篇)

JavaScript开发技巧&#xff08;上篇&#xff09; 1、前言2、从数组中删除假值3、数组搜索4、空值合并运算符5、逻辑或赋值运算符6、多值匹配7、三元表达式8、短路评估9、科学计数法10、位运算符11、指数求幂 1、前言 JavaScript中有很多速记技巧&#xff0c;可以缩短代码长度…

【原创】java+swing+mysql个人理财管理系统设计与实现

摘要&#xff1a; 个人理财管理系统是一款帮助用户有效管理个人财务的软件&#xff0c;本文将详细介绍该系统的设计过程&#xff0c;包括功能模块、数据库设计、界面设计等&#xff0c;系统采用javaswingmysql技术组合。 功能分析&#xff1a; 系统主要提供给管理员、用户使…

金蝶云星空创建自动下推并保存公共服务

文章目录 金蝶云星空创建自动下推并保存公共服务创建公共方法按单下推数据按明细行下推数据调用下推操作 调用公共方法 金蝶云星空创建自动下推并保存公共服务 创建公共方法 按单下推数据 /// <summary>/// 获取单据转换数据包/// </summary>public DynamicObjec…

M3重磅来袭 苹果多款新品上架

10月31日早上8点&#xff0c;苹果举行了新品发布会&#xff0c;正式发布了M3、M3 Pro、 M3 Max芯片&#xff0c;以及基于新款芯片打造的14英寸和16英寸MacBook Pro、新款iMac。 我们现在花一分钟&#xff0c;简单了解一下这次的新品。 M3、M3 Pro、M3 Max M3系列芯片就是M2系…

关于测试组件junit切换testng的示例以及切换方式分享

文章目录 概要首先看看junit和testng的区别实践篇摸拟业务逻辑代码简单对象数据层摸拟类业务逻辑层摸拟类后台任务摸拟类 基于springmockjunit基于springmocktestng 示例的差异点junit与testng的主要变动不大,有以下几个点需要注意注解部分在before,after中testng多出按配置执行…

Spring 事务不生效的几种场景

Spring 事务不生效的几种场景 详细内容参考以下链接&#xff0c;这个链接是原文&#xff1a; spring 事务不生效的15中场景 非原创。 以下内容只是为了学习&#xff0c;加深印象&#xff0c;仅作为个人学习笔记&#xff0c; 请支持原创&#xff0c;内容请点击 spring 事务不生效…

链动2+1模式:白酒产品的营销新策略

链动21模式是一种创新的营销模式&#xff0c;结合白酒产品更能发挥其优势。该模式通过独特的身份晋升和奖励机制&#xff0c;快速建立销售渠道&#xff0c;提高用户粘性。 一、核心机制 身份晋升机制&#xff1a;用户购买指定499白酒产品后成为代理&#xff0c;再邀请两位用户…

新风机如何联动?

数据中心的运行会产生大量的热量&#xff0c;因为其中包含了大量的服务器、存储设备以及网络设备等&#xff0c;它们需要消耗大量的电力来进行计算和数据处理。为了保证这些设备运行的稳定性和性能&#xff0c;数据中心必须维持适宜的温度和湿度。 新风系统可以在数据中心中起到…

小米澎湃OS发布,雷军小米的“统一”大棋局

千呼万唤始出来。2023年10月26日&#xff0c;小米澎湃OS终于揭开面纱。 雷军在主题为“跨越时刻”的发布会上&#xff0c;正式发布了小米澎湃OS。面对这款历时七年打造的全新操作系统&#xff0c;雷军难掩兴奋&#xff0c;他感慨道&#xff1a;“我心澎湃”。 小米新操作系统取…