首页 > 编程语言 >(84)QPSK频带调制(载波调制)解调与性能仿真的MATLAB实现源码

(84)QPSK频带调制(载波调制)解调与性能仿真的MATLAB实现源码

时间:2024-12-17 14:57:31浏览次数:9  
标签:仿真 QPSK EbN0dB 源码 信号 载波 调制

文章目录


前言

本文给出QPSK频带调制传输通信系统建模与传输性能仿真的MATLAB源码,给出仿真结果。


一、QPSK调制简介

QPSK(Quadrature Phase Shift Keying,正交相移键控)是一种数字调制技术,它通过改变载波信号的相位来传输信息。QPSK能够在一个符号周期内传输2比特的信息,相比BPSK(Binary Phase Shift Keying,二进制相移键控)每个符号周期只能传输1比特信息,QPSK的数据传输效率更高。

1. QPSK调制的原理

以下是QPSK调制的基本原理:

  1. 符号映射
    在QPSK中,每2比特被映射到一个复平面上的四个点之一。这些点通常位于单位圆上,并且彼此之间的相位差为90度。常见的映射方式如下:

• 00 → 1 + 0j(或者cos(0) + jsin(0))
• 01 → 0 + 1j(或者cos(π/2) + jsin(π/2))
• 10 → -1 + 0j(或者cos(π) + jsin(π))
• 11 → 0 - 1j(或者cos(3π/2) + jsin(3π/2))

  1. 调制过程
    调制过程涉及将数字比特流转换为模拟信号。对于QPSK调制,这个过程包括以下步骤:

• 串并转换:将连续的比特流分成两个并行流,每个流包含一个比特。

• 符号形成:每对比特被映射到上述的四个相位之一。

• 载波调制:将映射后的符号与两个正交(相位差90度)的载波信号相乘,通常这两个载波是cos(ωt)和sin(ωt)。

  1. 信号传输
    调制后的信号通过信道传输。在实际应用中,为了提高传输的可靠性,通常会在调制之前进行一些预处理,如符号交错、滤波等。
  2. 解调过程
    接收端进行相反的操作来恢复原始比特流:

• 载波同步:接收端需要恢复出与发送端同频同相的载波,以便正确地解调信号。

• 符号检测:通过比较接收到的信号与可能的符号相位,确定最接近的相位,从而恢复出原始的比特对。

  1. 并串转换
    最后,将恢复出的并行比特流转换成串行比特流,以供后续处理。

2. QPSK调制的特点与应用

QPSK调制由于其较高的频谱效率和良好的抗噪声性能,在无线通信系统中得到了广泛应用,如卫星通信、蜂窝移动通信等。随着技术的发展,QPSK也被进一步扩展为更高阶的调制方式,如16-QAM、64-QAM等,以支持更高的数据传输速率。

二、MATLAB仿真源码

% 设置仿真参数
N = 1e5;                        % 仿真符号个数
EbN0dB = -4:2:12;               % 每比特能量与噪声功率谱密度之比,单位dB
OSF = 8;                        % 过采样因子
fc = 1e3;                       % 载波频率
BER = zeros(1,length(EbN0dB));  % 每个Eb/N0对应一个仿真BER值
%% 发射机
a = randi([0 1],1,N);           % 生成均匀分布的随机0、1符号

% QPSK基带调制,调制输出为基带波形
s_t = qpsk_modulator(a, fc, OSF);
%% 接收机
for i = 1:length(EbN0dB)
    % AWGN信道
    L = 2 * OSF;
    SNRdB = EbN0dB(i) + 10*log10(2);
    r = add_awgn_noise(s_t,SNRdB,L);
    
    % QPSK解调
    [a_hat,samp_for_decision_I,samp_for_decision_Q] = qpsk_demodulator(r, fc, OSF);

    BER(i) = sum(a ~= a_hat) / N;    % 计算误比特率
    
   % 观察接收信号
    if i == length(EbN0dB)
        s = complex(samp_for_decision_I, samp_for_decision_Q);
        figure()
        plot(s, '*');
        grid on
        title('接收QPSK信号的星座图')
    end
end
%% BPSK的理论误码率
EbN0_line = 10.^(EbN0dB/10);
theoreticalBER = theoreticalBER_qpsk(EbN0_line);
%% 画图:性能曲线
figure()
semilogy(EbN0dB, BER, 'bo','linewidth',1);
hold on
semilogy(EbN0dB, theoreticalBER, 'r-','linewidth',1);
grid on;
legend('Simulated', 'Theoretical')
title('Probability of Bit Error for QPSK modulation');
xlabel('E_b/N_0 (dB)')
ylabel('Probability of Bit Error - P_b');

三、仿真结果

1.QPSK基带调制信号与频带调制信号的波形图

在这里插入图片描述

2. 接收机QPSK星座图

在这里插入图片描述

3. QPSK频带调制系统的性能仿真曲线

在这里插入图片描述

四、子函数与完整代码

子函数与完整代码列表如下:
在这里插入图片描述

完整代码,已上传至我的资源(欢迎下载):

https://download.csdn.net/download/weixin_45333185/90141109?spm=1001.2014.3001.5503

总结

暂无。



标签:仿真,QPSK,EbN0dB,源码,信号,载波,调制
From: https://blog.csdn.net/weixin_45333185/article/details/144520614

相关文章

  • SSM高校社团学生会管理系统--47676(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP
    摘  要本论文基于SSM框架,设计和实现了一个高校社团学生会管理系统。该系统旨在提供一个全面、高效、智能的高校社团学生会管理平台,以便管理者可以迅速且便捷地进行各项管理工作,并及时向社团成员提供准确的社团信息。  该系统通过角色划分为社团成员、社团社长和管理员......
  • springboot网络文学交流分享平台-毕业设计源码31754
    springboot网络文学交流分享平台 摘  要随着互联网的快速发展,网络文学交流和分享变得越来越受欢迎。为了满足作者和读者的需求,基于SpringBoot框架的网络文学交流分享平台的设计和实现。该平台旨在为作者和读者提供一个方便的交流和分享作品的平台。通过系统,作者可以上传......
  • Element Plus 源码:实现 Icon 组件的详细过程
    一、前言ElementPlus组件最简单入手的就是icon组件,所以先从icon组件来大概了解整个项目处理组件的基本原理,由浅入深,能让你了解到ELementPlus的bem命名规范,themechalk文件中的scss,组件如何定义类型和基本实现思路以及部分在icon组件中使用到的hooks和utils......
  • 云记账平台源码的好处
     云记账平台源码具有以下几个好处:定制化开发:云记账平台源码可以根据用户的需求进行定制化开发,满足不同用户的特定需求。独立运行:使用云记账平台源码可以搭建一个独立的记账平台,不依赖于第三方服务商,用户可以完全掌控数据和功能。安全性:云记账平台源码可以自行部署在本地......
  • 抖音SEO矩阵源码搭建:一键霸屏秘诀揭秘
    抖音SEO系统,也称为抖音SEO矩阵或抖音搜索优化排名系统,是一个集成了多种功能的平台。它的核心功能包括AI视频混剪、视频产出、AI视频制作、多账号多平台管理、内部分发以及站内搜索排名优化等。该系统还提供了会员爆客和企业号管理等功能。虽然每个功能都经过深度开发,但抖音作为......
  • springboot校园美食推荐小程序-计算机毕业设计源码25817
    摘 要本文旨在介绍基于SpringBoot后端框架和Vue前端框架的校园美食推荐小程序的设计与实现。该小程序旨在帮助学生和教职员工在校园内快速发现美食推荐和餐厅信息,提升校园饮食体验。通过整合用户偏好和餐厅评价等数据,实现个性化推荐和用户互动,为校园内的美食文化和餐饮服......
  • 知识付费源码-知识付费平台全面升级
    来自www.tuzhi.ltd在当今社会快速发展的背景下,教育和软件行业正经历一次巨大的革新。随着数字化转型浪潮推动下,在线教育和知识付费模式的广泛应用已经成为推动教育资源分配均衡和个性化学习需求满足的重要力量。其中,知识付费在线教育系统的崛起不仅优化了传统教学的组织和交付方式......
  • OKHttp的源码解读
    OKHttp的源码解读使用实例主要对象分析拦截器使用实例OkHttpClientclient=newOkHttpClient();Requestrequest=newRequest.Builder().url("").build();Responseresponse;//同步请求response=client.newCall(re......
  • 追踪数字足迹:通过API和离线库查询IP地址的解决方案(详解带源码)
    目录追踪数字足迹:通过API和离线库查询IP地址的解决方案(详解带源码)一、IP地址查询能获取哪些信息1、地理位置信息2、网络信息3、网络类型二、IP地址查询方法,附代码1、在线查询IP地址方法2、使用API进行IP地址查询三、使用离线库进行IP地址查询四、总结作者:watermel......
  • 计算机毕业设计原创定制(免费送源码):Java+Thinkphp+MySQL PHP心理咨询预约平台的设计
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对心理健康咨询等问题,对其进行研究分析,然后开发设计出心理咨询预约平台以解决问题。心理咨询......