基于MATLAB的QPSK系统仿真设计与实现
基于Matlab的QPSK系统设计仿真

[ 2 ]樊昌信. 通信原理 [M ]. 北京 : 国防工业出版社 ,
2000 [ 3 ]黄正. BPSK, QPSK及其解调 [ J ]. 电光系统 , 2003,
103 (1) : 43~47 [ 4 ]王立宁等. M atlab与通信仿真 [M ]. 北京 : 人民邮
电出版社 , 2000
参考文献
S im ula tion of QPSK System D esign ing Ba sed on
M a tlab
by X iao Kuang lin
Abstract The p a s sage s im u la te s the co nc re te ac tua liza2 tio n o f Q PSK com m un ica tio n sys tem ’s em is s io n and re 2 ce iving co u rse by com p iling sc rip t p ro g ram m e w ith M a t2
关键词 数字通信 ; QPSK;仿真 中图分类号 TN911. 7
1 引言
四相相移键控 (QPSK)是一种性能优良 ,应用 十分广泛的数字调制方式 ,它的频带利用率高 ,是 二相相移键控 (B PSK)的 2倍 。且 QPSK调制技术 的抗干扰性能强 ,采用相干检测时其误码率性能与 BPSK相同 。本文用 M atlab软件对 QPSK通信系统 的发射和接收过程的具体实现进行了模拟仿真 ,并 对各模块进行了频谱分析 。系统设计的具体参数 为 :二进制码元的符号速率为 5M sp s,给定的信道 容量为 7MHz, 脉冲成形滤波器采用升余弦滤波 器 ,采样频率为 25MHz。
3 收稿日期 : 2006年 9月 8日 ,修回日期 : 2006年 11月 30日 作者简介 :肖旷林 ,男 ,工程师 。唐唐 ,男 ,硕士研究生 ,研究方向为通信网络仿真 。
QPSK通信系统性能分析与MATLAB仿真讲解

QPSK通信系统性能分析与MATLAB仿真讲解QPSK(Quadrature Phase Shift Keying)是一种调制方式,常用于数字通信中的短波通信和卫星通信等场景。
在QPSK通信系统中,将每个二进制位编码为相位不同的信号,通常使用正交载波来实现。
为了分析和评估QPSK通信系统的性能,可以使用MATLAB进行仿真。
下面将具体讲解如何进行QPSK通信系统性能分析和MATLAB仿真。
首先,我们需要定义一些基本参数。
QPSK调制是基于二进制编码的,因此将要发送的数据转换为二进制比特流。
可以使用MATLAB中的函数来生成二进制比特流,如`randi([0,1],1,N)`,其中N是比特流的长度。
在这里,可以自行选择比特流的长度。
接下来,需要将二进制比特流分组为2比特一组,以便编码为相位信息。
可以使用MATLAB中的函数来进行分组,如`reshape(bit_stream,2,length(bit_stream)/2)'`,其中bit_stream是二进制比特流。
这里的重点是要确保二进制比特流的长度为2的倍数。
然后,将每组2比特编码为相位信息。
QPSK调制使用4个相位点来表示4种可能的组合,通常用0、π/2、π和3π/2来表示这些相位点。
可以使用MATLAB中的函数生成这些相位信息,如`phase_data =[0,pi/2,pi,3*pi/2]`。
接下来,通过幅度和相位信息生成QPSK信号。
可以使用MATLAB中的函数来生成QPSK信号,如`qpsk_signal = cos(2*pi*f*t+phase)`,其中f是载波频率,t是时间,phase是相位信息。
然后,添加噪声到QPSK信号中以模拟实际通信环境。
可以使用MATLAB中的函数来添加噪声,如`noisy_signal =awgn(qpsk_signal,SNR)`,其中SNR是信噪比。
最后,解调接收到的信号以恢复原始数据。
可以使用MATLAB中的函数来解调信号,如`received_bits = reshape(received_signal,[],2) > 0`。
基于Matlab-的QPSK调制解调仿真设计与研究

天津理工大学计算机与通信工程学院通信工程专业设计说明书基于Matlab/Simulink的QPSK调制解调仿真设计与研究姓名韩双年学号 20092226班级 09通信3班指导老师白媛日期 2012-12-16目录摘要 (2)第一章前言 (2)1.1 专业设计任务及要求 (2)1.2 Matlab简介 (2)1.3 Matlab下的simulink简介 (3)1.4 通信系统模型 (3)第二章QPSK调制 (4)2.1 QPSK介绍 (4)2.2 QPSK调制原理 (4)2.2.1 相乘法 (4)2.2.2 选择法 (5)2.3 QPSK调制原理框图 (6)2.4 QPSK调制方式的Matlab仿真 (6)2.5 QPSK调制方式Matlab-simulink仿真 (7)2.5.1 simulink调制建模 (7)2.5.2 simulink调制仿真结果 (8)第三章QPSK解调 (13)3.1 QPSK解调原理 (13)3.2 QPSK解调原理框图 (13)3.3 QPSK解调方式Matlab仿真 (13)3.4 QPSK解调方式的Matlab-simulink仿真 (14)3.4.1 QPSK解调建模 (14)3.4.2 传输信道 (16)3.4.3仿真结果 (16)3.5 仿真结果分析 (18)第四章QPSK通信系统性能分析 (19)第五章结论 (19)参考文献 (20)附录 (20)摘要正交相移键控(QPSK),是一种数字调制方式。
QPSK技术具有抗干扰能力好、误码率低、频谱利用效率高等一系列优点。
论文主要介绍了正交相移键控(QPSK)的概况,以及正交相移键控QPSK的调制解调概念和原理,利用Matlab中M文件和Simulink模块对QPSK的调制解调系统进行了仿真,对QPSK在高斯白噪声信道中的性能进行了,分析了解Simulink中涉及到QPSK的各种模块的功能。
【关键词】Matlab QPSK Simulnk 仿真第一章前言1.1专业设计任务及要求1了解并掌握QPSK调制与解调的基本原理;2在通信原理课程的基础上设计与分析简单的通信系统;3学会利用MATLAB7.0编写程序进行仿真,根据实验结果能分析所设计系统的性能。
基于-MATLAB-的QPSK系统仿真设计与实现

通信系统仿真设计实训报告1. 课题名称:—基于MATLAB的QPSK系统仿真设计与实现学生学号: ____________________学生姓名: ____________________所在班级: ____________________任课教师: ____________________2016年10月25日目录1.1QPSK 系统的应用背景简介1.2 QPSK 实验仿真的意义 1.3 实验平台和实验内容 1.3.1 实验平台 ........ 1.3.2 实验内容 ........二、 系统实现框图和分析 ...2.1、 QPSK 调制部分,... 2.2、 QPSKS 调部分 ....三、 实验结果及分析 .....3.1 、理想信道下的仿真 3.2 、高斯信道下的仿真3.3 、先通过瑞利衰落信道再通过高斯信道的仿真 (8)总结: ......................... 10 参考文献: ....................... 11 附录 . (3)..... 3 .. (3)3 3 (4).... 4 (5)6..... 6 .. (7)121.1QPSK系统的应用背景简介QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。
在19 世纪80 年代初期, 人们选用恒定包络数字调制。
这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。
19世纪80 年代中期以后,四相绝对移相键控(QPSK技术以其抗干扰性能强、误码性能好、频谱利用率高等优点, 广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
1.2 QPSK实验仿真的意义通过完成设计内容,复习QPS调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。
基于MATLAB的QPSK通信系统仿真设计毕业设计论文

基于MATLAB的QPSK通信系统仿真设计摘要随着移动通信技术的发展,以前在数字通信系统中采用FSK、ASK、PSK 等调制方式,逐渐被许多优秀的调制技术所替代。
本文主要介绍了QPSK调制与解调的实现原理框图,用MATLAB软件中的SIMULINK仿真功能对QPSK调制与解调这一过程如何建立仿真模型,通过对仿真模型的运行,得到信号在QPSK 调制与解调过程中的信号时域变化图。
通过该软件实现方式,可以大大提高设计的灵活性,节约设计时间,提高设计效率,从而缩小硬件电路设计的工作量,缩短开发周期。
关键词 QPSK,数字通信,调制,解调,SIMULINK-I-AbstractAs mobile communications technology, and previously in the adoption of digital cellular system, ASK, FSK PSK modulation, etc. Gradually been many excellent mod ulation technology substitution, where four phase-shift keying QPSK technology is a wireless communications technology in a binary modulation method. This article prim arily describes QPSK modulation and demodulation of the implementation of the prin ciple of block diagrams, focuses on the MATLAB SIMULINK software emulation in on QPSK modulation and demodulation the process how to build a simulation model, through the operation of simulation model, I get signal in QPSK modulation and dem odulation adjustment process domain change figure. The software implementation, ca n dramatically improve the design flexibility, saving design time, increase efficiency, design to reduce the workload of hardware circuit design, and shorten the developmen t cycle.Keywords QPSK, Digital Communication,modulation,demodulation,SIMULINK-II-目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 选题的目的和意义 (1)1.2 课题研究现状 (1)1.3 本文主要研究工作 (2)第 2 章数字通信技术简介 (3)2.1 引言 (3)2.2 概念及其基本组成部分 (3)2.3 数字通信的特点 (5)2.4 数字通信发展的回顾与展望 (5)本章小结 (6)第3 章数字相位调制 (7)3.1 数字基带传输系统 (7)3.2 正弦载波数字调制系统 (8)3.3 QPSK概述 (9)3.4 QPSK调制和解调 (10)3.4.1调制 (10)3.4.2解调 (10)3.4.3QPSK的调制原理 (11)3.4.4QPSK解调的工作原理 (13)本章小结 (14)第4章 QPSK调制与解调的软件实现 (15)4.1 SIMULINK功能介绍 (15)4.2 SIMULINK特点 (15)4.3 QPSK调制与解调的软件设计 (16)4.3.1QPSK调制与解调的软件实现 (16)4.3.2QPSK调制解调过程主要组件的功能 (17)4.4 QPSK调制解调仿真过程及其波形图 (19)4.4.1QPSK调制过程及其波形图 (19)4.4.2QPSK解调过程及其波形图 (29)4.5 QPSK调制解调仿真过程正确性的验证 (34)本章小结 (35)结论 (36)-III-致谢 (37)参考文献 (38)附录1 (39)附录2 (41)-IV-第1章绪论1.1 选题的目的和意义随着经济危化的不断发展,人们对通信的要求也越来越高。
MATLAB对QPSK通信系统的仿真

QPSK通信系统的性能分析与matlab仿真1 绪论在当今高度信息化的社会,信息和通信已成为现代社会的“命脉”。
信息作为一种资源,只有通过广泛地传播与交流,才能促进社会成员之间的合作,推动生产力的发展,创造出巨大的经济效益。
在新技术革命的高速推动和信息高速公路的建设,全球网络化发展浪潮的推动下,通信技术得到迅猛的发展,载波通信、卫星通信和移动通信技术正在向数字化、智能化、宽带化发展。
Simulink具有适应面广、结构和流程清晰及仿真精细、效率高、贴近实际、等优点,基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件应用于Simulink。
本文设计出一个QPSK仿真模型,以分析QPSK在高斯信道中的性能,通过此次课程设计,更好地了解QPSK系统的工作原理,传输比特错误率和符号错误率的计算。
1.1 研究背景与研究意义1.1.1 研究背景在当今高度信息化的社会,信息和通信已成为现代社会的“命脉”。
信息作为一种资源,只有通过广泛地传播与交流,才能促进社会成员之间的合作,推动生产力的发展,创造出巨大的经济效益。
信息的数字转换处理技术走向成熟,为大规模、多领域的信息产品制造和信息服务创造了条件。
高新技术层出不穷。
随着通信技术的发展,通信系统方面的设计也会越来越复杂,利用计算机软件的仿真,可以大大地降低通信过程中的实验成本。
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中只要通过简单的鼠标操作,就可以构造出复杂的系统。
Simulink提供了一个建立模型方块图的图形用户接口,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
1.1.2研究意义通过完成实验的设计内容,加深对通信原理理论的理解,熟悉通信系统的基本概念,复习正交相位偏移键控(QPSK)调制解调的基本原理和误比特率的计算方法,了解调制解调方式中最基础的方法。
基于 MATLAB 的QPSK系统仿真设计与实现

通信系统仿真设计实训报告1.课题名称:基于MATLAB 的QPSK系统仿真设计与实现学生学号:学生:所在班级:任课教师:2016年10月25日目录1.1QPSK系统的应用背景简介 (3)1.2 QPSK实验仿真的意义 (3)1.3 实验平台和实验容 (3)1.3.1实验平台 (3)1.3.2实验容 (3)二、系统实现框图和分析 (4)2.1、QPSK调制部分, (4)2.2、QPSK解调部分 (5)三、实验结果及分析 (6)3.1、理想信道下的仿真 (6)3.2、高斯信道下的仿真 (7)3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (8)总结: (10)参考文献: (11)附录 (12)1.1QPSK系统的应用背景简介QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。
在19世纪80年代初期,人们选用恒定包络数字调制。
这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。
19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
1.2 QPSK实验仿真的意义通过完成设计容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。
了解QPSK的实现方法及数学原理。
并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。
同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。
理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。
基于MATLAB的QPSK系统仿真设计实现分析范文

通信系统仿真设计实训报告1.课题名称:基于MATLAB 的QPSK系统仿真设计与实现学生学号:学生姓名:所在班级:任课教师:2016年10月25日目录1.1QPSK系统的应用背景简介 (3)1.2 QPSK实验仿真的意义 (3)1.3 实验平台和实验内容 (3)1.3.1实验平台 (3)1.3.2实验内容 (3)二、系统实现框图和分析 (4)2.1、QPSK调制部分, (4)2.2、QPSK解调部分 (5)三、实验结果及分析 (6)3.1、理想信道下的仿真 (6)3.2、高斯信道下的仿真 (7)3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (8)总结: (10)参考文献: (11)附录 (12)1.1QPSK系统的应用背景简介QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。
在19世纪80年代初期,人们选用恒定包络数字调制。
这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。
19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
1.2 QPSK实验仿真的意义通过完成设计内容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。
了解QPSK的实现方法及数学原理。
并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。
同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。
理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通信系统仿真设计实训报告1.课题名称:基于 MATLAB 的QPSK系统仿真设计与实现学生学号:学生:所在班级:任课教师:2016年 10月25日目录1.1QPSK系统的应用背景简介 (3)1.2 QPSK实验仿真的意义 (3)1.3 实验平台和实验容 (3)1.3.1实验平台 (3)1.3.2实验容 (3)二、系统实现框图和分析 (4)2.1、QPSK调制部分, (4)2.2、QPSK解调部分 (5)三、实验结果及分析 (6)3.1、理想信道下的仿真 (6)3.2、高斯信道下的仿真 (7)3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (8)总结: (10)参考文献: (11)附录 (12)1.1QPSK系统的应用背景简介QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。
在19世纪80年代初期,人们选用恒定包络数字调制。
这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。
19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
1.2 QPSK实验仿真的意义通过完成设计容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。
了解QPSK的实现方法及数学原理。
并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。
同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。
理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。
复习MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形。
在完成要求任务的条件下,尝试优化程序。
通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为一种推广,让更多的学生来深入一层的了解QPSK以至其他调制方式的原理和实现方法。
可以方便学生进行测试和对比。
足不出户便可以做实验。
1.3 实验平台和实验容1.3.1实验平台本实验是基于Matlab的软件仿真,只需PC机上安装MATLAB 6.0或者以上版本即可。
(本实验附带基于Matlab Simulink (模块化)仿真,如需使用必须安装simulink 模块)1.3.2实验容1.构建一个理想信道基本QPSK仿真系统,要求仿真结果有a.基带输入波形及其功率谱b.QPSK信号及其功率谱c.QPSK信号星座图2.构建一个在AWGN(高斯白噪声)信道条件下的QPSK仿真系统,要求仿真结果有a.QPSK信号及其功率谱b.QPSK信号星座图c.高斯白噪声信道条件下的误码性能以及高斯白噪声的理论曲线,要求所有误码性能曲线在同一坐标比例下绘制3验可选做扩展容要求:构建一个先经过Rayleigh(瑞利衰落信道),再通过AWGN(高斯白噪声)信道条件下的条件下的QPSK仿真系统,要求仿真结果有a.QPSK信号及其功率谱b.通过瑞利衰落信道之前和之后的信号星座图,前后进行比较c.在瑞利衰落信道和在高斯白噪声条件下的误码性能曲线,并和二.2.c中所要求的误码性能曲线在同一坐标比例下绘制二、系统实现框图和分析2.1、QPSK调制部分,原理框图如图1所示φ1(t)c f t π图1原理分析:基本原理及系统结构QPSK与二进制PSK一样,传输信号包含的信息都存在于相位中。
的别的载波相位取四个等间隔值之一,如л/4, 3л/4,5л/4,和7л/4。
相应的,可将发射信号定义为(21)/4]ft i ππ+- 0≤t ≤TSi (t ) =0。
, 其他其中,i =1,2,2,4;E 为发射信号的每个符号的能量,T 为符号持续时间,载波频率f 等于nc/T ,nc 为固定整数。
每一个可能的相位值对应于一个特定的二位组。
例如,可用前述的一组相位值来表示格雷码的一组二位组:10,00,01,11。
下面介绍QPSK 信号的产生和检测。
如果a 为典型的QPSK 发射机框图。
输入的二进制数据序列首先被不归零(NRZ )电平编码转换器转换为极性形式,即负号1和0接着,该二进制波形被分接器分成两个分别由输入序列的奇数位偶数位组成的彼此独立的二进制波形,这两个二进制波形分别用a1(t ),和a2(t )表示。
容易注意到,在任何一信号时间间隔a1(t ),和a2(t )的幅度恰好分别等于Si1和 Si2,即由发送的二位组决定。
这两个二进制波形a1(t ),和a2(t )被用来调制一对正交载波或者说正交基本函数:φ1(t ))c f t π,φ2(t )=)c f t π。
这样就得到一对二进制PSK 信号。
φ1(t )和φ2(t )的正交性使这两个信号可以被独立地检测。
最后,将这两个二进制PSK 信号相加,从而得期望的QPSK 。
2.2、QPSK 解调部分,原理框图如图2所示:φ1(t ) 同相信道 门限=0φ2(t)正交信道门限=0图2原理分析:QPSK接收机由一对共输入地相关器组成。
这两个相关器分别提供本地产生地相干参考信号φ1(t)和φ2(t)。
相关器接收信号x(t),相关器输出地x1和x2被用来与门限值0进行比较。
如果x1>0,则判决同相信道地输出为符号1;如果x1<0 ,则判决同相信道的输出为符号0。
;类似地。
如果正交通道也是如此判决输出。
最后同相信道和正交信道输出这两个二进制数据序列被复加器合并,重新得到原始的二进制序列。
在AWGN信道中,判决结果具有最小的负号差错概率。
三、实验结果及分析根据图1和图2的流程框图设计仿真程序,得出结果并且分析如下:3.1、理想信道下的仿真,实验结果如图3所示图3实验结果分析:如图上结果显示,完成了QPSK信号在理想信道上的调制,传输,解调的过程,由于调制过程中加进了载波,因此调制信号的功率谱密度会发生变化。
并且可以看出调制解调的结果没有误码。
3.2、高斯信道下的仿真,结果如图4所示:图4实验结果分析:由图4可以得到高斯信道下的调制信号,高斯噪声,调制输出功率谱密度曲线和QPSK信号的星座图。
在高斯噪声的影响下,调制信号的波形发生了明显的变化,其功率谱密度函数相对于图1中的调制信号的功率谱密度只发生了微小的变化,原因在于高斯噪声是一个均值为0的白噪声,在各个频率上其功率是均匀的,因此此结果是真确的。
星座图反映可接收信号早高斯噪声的影响下发生了误码,但是大部分还是保持了原来的特性。
3.3、先通过瑞利衰落信道再通过高斯信道的仿真。
实验结果如图5所示:图5实验结果分析:由图5可以得到瑞利衰落信道前后的星座图,调制信号的曲线图及其功率谱密度。
最后显示的是高斯信道和瑞利衰落信道的误码率对比。
由图可知瑞利衰落信道下的误码率比高斯信道下的误码率高。
至此,仿真实验就全部完成。
结论本论文运用MATLAB中的动态仿真工具箱Simulink仿真实现了PCM系统的全部过程。
根据PCM系统的组成原理,在Simulink模块库中找到相应的模块,然后选择合适的模块以及设置适当的参数,建立了PCM通信系统的仿真模型,最后在给定仿真的条件下,运行了仿真系统。
仿真结果表明:1.在正常的信噪比条件下,该通信系统失真较小,达到了预期的目的。
2.Simulink仿真工具箱操作简单方便、调试直观,为通信系统的软件仿真实现提供了极大的方便。
参考文献:1、《MATLAB 宝典》杰等编著电子工业2、《MATLAB信号处理》波, 文忠, 曾涯编著电子工业3、《数字信号处理的MATLAB实现》万永革编著科学4、网上资料附录MATLAB程序% 调相法clear allclose allt=[-1:0.01:7-0.01];tt=length(t);x1=ones(1,800);for i=1:ttif (t(i)>=-1 & t(i)<=1) | (t(i)>=5& t(i)<=7);x1(i)=1;else x1(i)=-1;endendt1=[0:0.01:8-0.01];t2=0:0.01:7-0.01;t3=-1:0.01:7.1-0.01;t4=0:0.01:8.1-0.01;tt1=length(t1);x2=ones(1,800);for i=1:tt1if (t1(i)>=0 & t1(i)<=2) | (t1(i)>=4& t1(i)<=8); x2(i)=1;else x2(i)=-1;endendf=0:0.1:1;xrc=0.5+0.5*cos(pi*f);y1=conv(x1,xrc)/5.5;y2=conv(x2,xrc)/5.5;n0=randn(size(t2));f1=1;i=x1.*cos(2*pi*f1*t);q=x2.*sin(2*pi*f1*t1);I=i(101:800);Q=q(1:700);QPSK=sqrt(1/2).*I+sqrt(1/2).*Q;QPSK_n=(sqrt(1/2).*I+sqrt(1/2).*Q)+n0;n1=randn(size(t2));i_rc=y1.*cos(2*pi*f1*t3);q_rc=y2.*sin(2*pi*f1*t4);I_rc=i_rc(101:800);Q_rc=q_rc(1:700);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);QPSK_rc_n1=QPSK_rc+n1;figure(1)subplot(4,1,1);plot(t3,i_rc);axis([-1 8 -1 1]);ylabel('a序列');subplot(4,1,2);plot(t4,q_rc);axis([-1 8 -1 1]);ylabel('b序列');subplot(4,1,3);plot(t2,QPSK_rc);axis([-1 8 -1 1]);ylabel('合成序列'); subplot(4,1,4);plot(t2,QPSK_rc_n1);axis([-1 8 -1 1]);ylabel('加入噪声');效果图:% 设定 T=1,加入高斯噪声clear allclose all% 调制bit_in = randint(1e3, 1, [0 1]);bit_I = bit_in(1:2:1e3);bit_Q = bit_in(2:2:1e3);data_I = -2*bit_I+1;data_Q = -2*bit_Q+1;data_I1=repmat(data_I',20,1); data_Q1=repmat(data_Q',20,1);for i=1:1e4data_I2(i)=data_I1(i);data_Q2(i)=data_Q1(i);end;f=0:0.1:1;xrc=0.5+0.5*cos(pi*f);data_I2_rc=conv(data_I2,xrc)/5.5;data_Q2_rc=conv(data_Q2,xrc)/5.5;f1=1;t1=0:0.1:1e3+0.9;n0=rand(size(t1));I_rc=data_I2_rc.*cos(2*pi*f1*t1);Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);QPSK_rc_n0=QPSK_rc+n0;% 解调I_demo=QPSK_rc_n0.*cos(2*pi*f1*t1);Q_demo=QPSK_rc_n0.*sin(2*pi*f1*t1);% 低通滤波I_recover=conv(I_demo,xrc);Q_recover=conv(Q_demo,xrc);I=I_recover(11:10010);Q=Q_recover(11:10010);t2=0:0.05:1e3-0.05;t3=0:0.1:1e3-0.1;% 抽样判决data_recover=[];for i=1:20:10000data_recover=[data_recover I(i:1:i+19) Q(i:1:i+19)]; end;bit_recover=[];for i=1:20:20000if sum(data_recover(i:i+19))>0data_recover_a(i:i+19)=1;bit_recover=[bit_recover 1];elsedata_recover_a(i:i+19)=-1;bit_recover=[bit_recover -1];endenderror=0;dd = -2*bit_in+1;ddd=[dd'];ddd1=repmat(ddd,20,1);for i=1:2e4ddd2(i)=ddd1(i);endfor i=1:1e3if bit_recover(i)~=ddd(i)error=error+1;endendp=error/1000;figure(1)subplot(2,1,1);plot(t2,ddd2);axis([0 100 -2 2]);title('原序列');subplot(2,1,2);plot(t2,data_recover_a);axis([0 100 -2 2]);title('解调后序列'); 效果图:% 设定 T=1, 不加噪声clear allclose all% 调制bit_in = randint(1e3, 1, [0 1]); bit_I = bit_in(1:2:1e3);bit_Q = bit_in(2:2:1e3);data_I = -2*bit_I+1;data_Q = -2*bit_Q+1;data_I1=repmat(data_I',20,1); data_Q1=repmat(data_Q',20,1);for i=1:1e4data_I2(i)=data_I1(i);data_Q2(i)=data_Q1(i);end;t=0:0.1:1e3-0.1;f=0:0.1:1;xrc=0.5+0.5*cos(pi*f);data_I2_rc=conv(data_I2,xrc)/5.5;data_Q2_rc=conv(data_Q2,xrc)/5.5;f1=1;t1=0:0.1:1e3+0.9;I_rc=data_I2_rc.*cos(2*pi*f1*t1);Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);% 解调I_demo=QPSK_rc.*cos(2*pi*f1*t1);Q_demo=QPSK_rc.*sin(2*pi*f1*t1);I_recover=conv(I_demo,xrc);Q_recover=conv(Q_demo,xrc);I=I_recover(11:10010);Q=Q_recover(11:10010);t2=0:0.05:1e3-0.05;t3=0:0.1:1e3-0.1;data_recover=[];for i=1:20:10000data_recover=[data_recover I(i:1:i+19) Q(i:1:i+19)]; end;ddd = -2*bit_in+1;ddd1=repmat(ddd',10,1);for i=1:1e4ddd2(i)=ddd1(i);endfigure(1)subplot(4,1,1);plot(t3,I);axis([0 20 -6 6]);subplot(4,1,2);plot(t3,Q);axis([0 20 -6 6]);subplot(4,1,3);plot(t2,data_recover);axis([0 20 -6 6]); subplot(4,1,4);plot(t,ddd2);axis([0 20 -6 6]);效果图:% QPSK误码率分析SNRindB1=0:2:10;SNRindB2=0:0.1:10;for i=1:length(SNRindB1)[pb,ps]=cm_sm32(SNRindB1(i));smld_bit_err_prb(i)=pb;smld_symbol_err_prb(i)=ps;end;for i=1:length(SNRindB2)SNR=exp(SNRindB2(i)*log(10)/10);theo_err_prb(i)=Qfunct(sqrt(2*SNR)); end;title('QPSK误码率分析');semilogy(SNRindB1,smld_bit_err_prb,'*');axis([0 10 10e-8 1]);hold on;% semilogy(SNRindB1,smld_symbol_err_prb,'o'); semilogy(SNRindB2,theo_err_prb);legend('仿真比特误码率','理论比特误码率'); hold off;function[y]=Qfunct(x)y=(1/2)*erfc(x/sqrt(2));function[pb,ps]=cm_sm32(SNRindB)N=10000;E=1;SNR=10^(SNRindB/10);sgma=sqrt(E/SNR)/2;s00=[1 0];s01=[0 1];s11=[-1 0];s10=[0 -1];for i=1:Ndsource1(i)=[1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1];numofsymbolerror=0;numofbiterror=0;for i=1:Nn=sgma*randn(size(s00));if((dsource1(i)==0)&(dsource2(i)==0))r=s00+n;elseif((dsource1(i)==0)&(dsource2(i)==1))r=s01+n;elseif((dsource1(i)==1)&(dsource2(i)==0))r=s10+n;elser=s11+n;end;c00=dot(r,s00);c01=dot(r,s01);c10=dot(r,s10);c11=dot(r,s11);c_max=max([c00 c01 c10 c11]);if (c00==c_max)decis1=0;decis2=0;elseif(c01==c_max).decis1=0;decis2=1;elseif(c10==c_max)decis1=1;decis2=0;elsedecis1=1;decis2=1;end;symbolerror=0;if(decis1~=dsource1(i))numofbiterror=numofbiterror+1;symbolerror=1;end;if(decis2~=dsource2(i))numofbiterror=numofbiterror+1;symbolerror=1;end;if(symbolerror==1)numofsymbolerror=numofsymbolerror+1;end;end;ps=numofsymbolerror/N;pb=numofbiterror/(2*N);效果图:.页脚.。