QPSK通信系统性能仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮海工学院
课程设计报告书
课程名称:通信系统的计算机仿真设计
题目:QPSK通信系统性能分析与MATLAB仿真系(院):
学期:
专业班级:
姓名:
学号:
QPSK通信系统性能分析与MATLAB仿真
1绪论
在当今高度信息化的社会,信息和通信已成为现代社会的“命脉”。
信息作为一种资源,只有通过广泛地传播与交流,才能促进社会成员之间的合作,推动生产力的发展,创造出巨大的经济效益。
在新技术革命的高速推动和信息高速公路的建设,全球网络化发展浪潮的推动下,通信技术得到迅猛的发展,载波通信、卫星通信和移动通信技术正在向数字化、智能化、宽带化发展。
Simulink具有适应面广、结构和流程清晰及仿真精细、效率高、贴近实际、等优点,基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件应用于Simulink。
本次课程设计通过对QPSK模型进行仿真,以分析QPSK在不同信道噪声中的性能,更好地了解QPSK系统的工作原理,传输比特错误率和符号错误率的计算。
1.1研究背景与研究意义
要规划和设计一个性能完善的通信系统,光靠理论计算或凭个人的组网经验是无法完成的。
如果在真实的网络环境中进行通信性能研究、网络、设计和开发,不仅耗资大,而且在统计数据的手机和分析上也有一定困难。
通信仿真技术是通过在计算机中构造虚拟的环境来反映现实的通信网络环境,模拟现实中的网络行为,从而可以有效提高通信网络规划和设计的可靠性和准确性,明显降低通信系统的投资风险,减少不必要的投资浪费。
通过仿真软件来模拟和估算通信系统的性能,通过模拟和仿真来调整一些通信系统的参数以期达到最佳使用效果具有非常重大的意义。
在本课题中用国际控制界公认的标准仿真软件MATLAB来仿真移动通信系统各种数字调制解调技术中,具有数字通信的诸多优点,广泛使用它来传送各种控制信息的数字调相信号,比较不同调相技术之间的性能差异。
1.2 课程设计的目的和任务
本次课程设计是根据“通信工程专业培养计划”要求而制定的。
通信系统的计算机仿真设计课程设计是通信工程专业的学生在学完通信工程专业基础课、通信工程专业主干课及科学计算与仿真专业课后进行的综合性课程设计。
其目的在于使学生在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。
课程设计的任务是:(1)掌握一般通信系统设计的过程、步骤、要求、工作内容及设计方法;掌握用计算机仿真通信系统的方法。
(2)训练学生网络设计能力。
(3)训练学生综合运用专业知识的能力,提高学生进行通信工程设计的能力。
1.3 可行性分析
QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。
目前已经广泛的应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中,是一种成熟的调制技术,具有完善的理论基础。
本次课程设计的软件基础为Matlab数学仿真软件,在Matlab中的simulink 子系统被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中,它拥有丰富的图形用户接口(GUI)和信号生成模块,用户既可以直接调用已有模块也可自行封装特殊模块。
同时simulink还可和通过matlab的M文件实现联动完成误码率的图形化分析。
2 QPSK通信系统
偏移四相相移键控信号简称“O-QPSK”。
全称为offset QPSK,也就是相对移相方式OQPSK。
它具有一系列独特的优点,已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。
在数字信号的调制方式中QPSK四相移键控是最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。
随着通信技术的发展,通信系统方面的设计也会越来越复杂,利用计算机软件的仿真,可以大大地降低通信过程中的实验成本。
本文设计出一个QPSK仿真模型,以分析QPSK在高斯信道中的性能,通过此次实验,可以更好地了解QPSK系统的工作原理。
正交相移键控,是一种数字调制方式。
数字通信现已广泛应用于各个频段和各种通信方式中, 成为当今通信发展的一种必然趋势。
所谓数字通信即用数字信号传送信息进行通信, 也可以说通信的数字化。
2.1 QPSK通信系统的性能指标
2.1.1可靠性指标
数字通信系统的可靠性指标用差错率来衡量。
差错率越小,可靠性越高。
差错率也有两种表达方式误码率与误信率。
误码率:指接收到的错误码元数和总的传输码元个数之比,即在传输中出现
接收的错误码元数
错误码元的概率,记为Pe=传输总码元数
误信率:又叫误比特率,是指接收到的错误比特数和总的传输比特数之比,
接收的错误比特数
即在传输中出现的错误信息量的概率,记为Pb=传输的总比特数
2.1.2 性能分析
信号经过调制、信道、解调过程。
在接收端,将得到的数与原始信号源数据比较,得到在特定信噪比下的误码率。
改变系统信噪比,从而得到系统的误码率曲线图,并给出各关健点信号图及星座图。
2.2 QPSK通信系统基本模型及各个模块
2.2.1 QPSK通信系统的基本模型
通信系统就是传递信息所需要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受信者) ,它的一般模型如图2.1所示。
图2.1 通信系统一般模型
2.2.2 QPSK通信系统的各个模块功能
(1)信号源:模拟的正弦波语音信号4KHz。
(2)SAMPLE:抽样器,对模拟信号进行抽样,抽样频率8KHz。
(3)A-LAW:量化器,A-LAW十三折线法。
(4)PCM:编码器,将量化后的信号进行PCM编码,变成1个传输速率为
4Kbit/s的数字信号。
(5)信道编码:BCH码、汉明码、RS码等。
(6)调制:QPSK。
(7)信道:信号经过调制以后,通过信道。
信道可以选择高斯加性白噪声信
道、二进制对称信道、多径瑞利(Rayleigh)衰落信道、莱斯(Rician)衰落信道等。
设置不同的信道信噪比,对系统进行仿真,分析不同信噪比情况下的系统性能。
(8)解调:根据调制方式,选择对应的解调方式。
(9)译码:根据信道编码方式,选择对应的信道解码方式。
3 QPSK通信系统主要模块及其主要参数
3.1 信源/信宿及其编译码
3.1.1信号源和采样:
本次设计用的信源是模拟的正弦波信号4KHz,通过8khz的抽样脉冲抽样在信宿端用示波器以观察接收信号。
信源和采样模型如图3.1所示。
原信号和抽样信号如图3.1.1所示。
图3.1 信源和采样模型
图3.1.1 原信号和抽样信号
3.1.2信源编码与解码
PCM 即脉冲编码调制,在通信系统中完成将语音信号数字化功能。
PCM的实现主要包括三个步骤完成:抽样、量化、编码。
分别完成时间上离散、幅度上离散、及量化信号的二进制表示。
根据CCITT 的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A 律和μ律方式,我国采用了A 律方式,由于A 律压缩实现复杂,常使用13 折线法编码。
PCM编码过程:如图3.1抽样后进行【-1,1】范围的限幅,通过Relay器件提取出该抽样值的极性,如果极性为负,则判为‘0’;极性为正,则判为‘1’。
接着将抽样值加上绝对值,因为已经提取了经过A 律压缩器且极性码提出后的数据编为7位二进制码数据范围为0~127,因此将压缩后的数据放大127 倍,由量化器进行量化,变成7 位二进制码,与极性码组成8 位并行码输出。
PCM编码模型如图3.1.2所示。
图3.1.2 PCM编码模型
PCM 解码过程:如图3.1.4 所示,输入8 位的PCM 码,将第一个码由Relay 器件进行判断,如果是‘1’,则该值是正数;如果是‘0’,则该值是负数。
剩下的7 位码通过Converter 由二进制转化成十进制数并减小为原来的1/127,经过A 率解压缩后与极性相乘,得到的数即为PCM 解调后的抽样值。
图3.1.4 PCM解码图
PCM量化、编码、解码图如图3.1.5所示。
图3.1.5 PCM量化、编码、解码图
3.2信道编码与译码
3.2.1二进制RS码编码器
二进制RS编码器产生一个m进制(n,k)Reed-Solomon码。
与整型RS编码器不同的是,二进制RS编码器的输入信号和输出信号都是帧格式的二进制信号序列,它用m位二进制码来表示一个M进制符号,其中M=2m。
因此,输入信号的长度应该是m*k的倍数,同时输出信号的长度是m*n的倍数。
表3-1是二进制RS码编码器参数设置情况。
表3-1 二进制RS码编码器参数设置
Codeword length N 8
Message length K 2
Primitive polynomial [1 0 1 1]
Generator polynomial Rsgenpoly(7,3)
二进制RS码编码器模块有以下几个参数。
①Codeword length N(码字长度)
RS码的码字长度n。
二进制RS码编码器的输出向量的长度等于m*n的倍数。
②Message length K(信息位长度)
RS码信息位的长度k。
二进制RS编码器的输入向量的长度等于m*k的倍数。
因为,RS编码器要求输入数据必须为帧格式,所以必须在其输入端增加一级帧格式变换和缓冲器(图3.2.1)。
图3.2.1 RS编码器
3.2.2二进制RS码解码器
二进制RS解码器对以二进制序列型时表示的M进制(n,k)Reed-Solomon码的解码,其中M=2m。
二进制RS解码器的输入信号和输出信号都是二进制符号,并且m个二进制符号表示一个M进制整数。
二进制RS解码器只能处理帧格式数据,输入帧长度是m*n的整数倍,输出的长度是m*k的整数倍。
二进制RS 解码器其参数设置如表3-2所示。
表3-2 二进制RS解码器其参数设置
Codeword length N 8
Message length K 2
Primitive polynomial [1 0 1 1]
Generator polynomial Rsgenpoly(7,3) 选中Output Port for number of corrected errors后,二进制RS解码器有两个输出端口,其中第一个输出端口输出解码之后的信号,第二个输出端口是一个向量,它表示在解码过程中纠正的误码的个数。
RS码就有很强的纠错能力,一个(n,k)RS码能够纠正[(n-k)/2]个M进制符号的错误。
当错误符号的个数超过了RS 码的纠错能力时,第二输出端口的输出信号是-1.二进制RS解码器主要有以下几个参数。
①Codeword length N(码字长度)
RS码的码字长度n。
二进制输入信号RS码解码器的输出向量的长度等于m*n。
②Message length K(信息位长度)
RS码信息位的长度k。
二进制输入信号RS码解码器的输入向量的长度等于m*k。
在RS解码后因为采用的是(8,2)编码方式其输出的有效信息位为2位所以要在其最后增加一个缓冲器和并串转换将数据转换为串行数据。
RS解码器模型如图3.2.2所示。
图3.2.2 RS解码模型
3.2.3 汉明码编码和解码
汉明码属于线性分组码。
汉明码的抗干扰能力较强。
它能够纠正单个随机错误。
设汉明码编码器的输入信号的长度为k,输出信号的长度为n,则产生的是一个(n,k)汉明码,其中n=2m-1,m>3,并且满足n=k+m。
MATLAB提供了一个函数”“gfrimfd(m,'min')”用来找到一个最小的本原多项式。
现以数据码1101为例讲讲汉明码的编码原理,此时D8=1、D4=1、D2=0、D1=1,在P1编码时,先将D8、D4、D1的二进制码相加,结果为奇数3,汉明码对奇数结果编码为1,偶数结果为0,因此P1值为1,D8+D2+D1=2,为偶数,那么P2值为0,D4+D2+D1=2,为偶数,P3值为0。
这样,参照上文的位置表,汉明码处理的结果就是1010101。
在这个4位数据码的例子中,我们可以发现每个汉明码都是以三个数据码为基准进行编码的。
下面就是它们的对应表:从编码形式上,我们可以发现汉明码是一个校验很严谨的编码方式。
在这个例子中,通过对4个数据位的3个位的3次组合检测来达到具体码位的校验与修正目的(不过只允许一个位出错,两个出错就无法检查出来了,这从下面的纠错例子中就能体现出来)。
在校验时则把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0)就是正确,如果为奇数(纠错代码为1)则说明当前汉明码所对应的三个数据位中有错误,此时再通过其他两个汉明码各自的运算来确定具体是哪个位出了问题。
汉明码编码译码模块如图3.2.3所示
图3.2.3 汉明码编码译码模块
汉明码解码器用于(n,k)汉明码进行解码,得到原始的信息序列。
汉明码解码器的参数设置应该与汉明码编码器的参数保持一致。
3.3 QPSK调制与解调
四相相移键控(QPSK,Quadrature Phase Shift Keying)是一种多进制数字相位调制方式它把输入信号0、1、2、3分别映射为4个不同的相位,这些相位之间的间隔等于Pi/2。
假设QPSK调制的输入信号为x,其中x的取值范围是0、1、2、3,则输出信号y=exp(jθ+j*x*pi/2),其中θ是相位偏移。
QPSK基带调制
器(QPSK Modulator Baseband)对输入信号实施QPSK调制,产生复数形式的基带调制信号,其参数设置如表3-3所示。
表3-3 QPSK基带调制器参数设置
Input type Bit
Constellation ordering Binary
Phase offset(rad) PhaseOffset
Sample per symbol 1
QPSK基带调制器主要有一下几个参数。
①Input type(输入信号类型)
QPSK基带调制器可以接受两种类型的输入信号:Integer或Bit。
当输入信号类型设置为Inter时,QPSK基带调制器的输入信号是介于0和3之间的整数;当输入信号类型设置为Bit时,QPSK基带调制器的输入信号是一个二进制向量,其中每两个二进制表示一个四进制整数。
②Constellation ordering(星座图编码方式)
当输入信号类型设置为Bit时,QPSK基带调制器输入信号中得每两个二进制位表示一个四进制整数,这两个二进制位既可以是自然二进制编码序列,也可以是Gray码序列,他们产生不同的星座图。
当constellation ordering设置为binary 时,输入信号是自然二进制编码序列;当constellation ordering设置为gray时,输入信号是gray码序列。
③Phase offset(rad)(相位偏移)
QPSK基带调制的相位偏移θ(单位:弧度)。
对应于每一个输入信号QPSK基带调制产生的输出信号的抽样点的个数。
QPSK基带解调器(QPSK demodulator baseband)对输入的QPSK基带调制信号进行解调,这个输入信号是标量形式或帧格式的复信号。
假设QPSK解调器的输入信号为y,相位偏移等于θ,则当y=exp(jθ+j*m*π/2)时,输出信号z=m。
QPSK基带解调器的输出信号既可以是整数,也可以是一个长度为2的二进制向量,其参数设置如表3-4所示,其参数设置同QPSK基带调制器。
表3-4 QPSK基带解调器参数设置
Input type Bit
Constellation ordering Binary
Phase offset(rad) PhaseOffset
Sample per symbol 1
3.4 信道
信号经过调制以后,通过信道。
信道可以选择高斯加性白噪声、二进制对称信道、多径瑞利(Rayleigh)衰落信道、赖斯(Racian)衰落信道等。
本次课程设计采用的是加性高斯白噪声信道是信号传输中的最基本的一种信道,加性高斯白噪声(AWGN)信道用高斯分布的噪声信号叠加子啊通过它的信号上,使通过该信道的信号产生与噪声均值相应的偏移,并且围绕平均值做随机波动。
在该信道中,当噪声均值为零时,方差表现为噪声的功率大小。
加性高斯白噪声模块其采样时间从输入信号中继承。
当输入为实信号时,该模块将实高斯白噪声加入该实输入信号,并产生实输出信号;同理,当输入为复信号时,该模块将复高斯白噪声信号加入该复输入信号,并产生复输出信号。
模块参数设置中,Initial seed(初始化种子)参数用于初始化噪声的产生,该参数可以是标量,也可以是与输入信号信道数量相匹配的向量形式。
加性高斯白噪声模块如图3.5所示。
图3.5 加性高斯白噪声模块
名称数值
54321
Initial seed
Signal to noise ratio
Mode
SNR(dB) SNR(-50至50dB)
Input signal power(watts) 1
3.5 性能分析
3.5.1 离散时间眼图
离散时间眼图(Discrete Eye Diagram Scope)模块是用来产生眼图显示调制信号的输出,通过眼图可以看出一个基带系统的性能优劣。
离散时间眼图参数设置如表3-5所示。
进入信道前后眼图对比图如图3.5所示
表3-5离散时间眼图其参数设置
Samples per symbol 4
Offset (samples) 0
Symbols per trace 1
Traces displayed 40
New traces per display 10
图3.5 信道前后眼图对比图
通过前后对比可以看出在信道信噪比为20dB时,信号的最佳抽样时刻、定时误差的灵敏度、判决门限电平等都未发生明显变化,信号的码间串扰很小。
3.5.1 离散时间发散图
离散时间发散图(Discrete-Time Scatter Plot Scope)通常用来观测调制信号的特性和信道对调制信号的干扰特征。
因为数字信号本身有着复数的表达形式。
虽然信号一般都需要调制到较高频率的载波上传输,但是最终的检测依然是在基带上进行。
因此离散时间发散图模块接收复数信号,并且根据输入信号绘制发散图。
发散图的横坐标是输入复信号的的前向支路分量,纵坐标则是输入复信号的后向支路分量。
离散时间发散图参数设置如表3-5-1所示。
进入信道前后的星座图对比图如图3.5.1所示。
表3-5-1离散时间发散图参数设置
Samples per symbol 4
Offset (samples) 0
Points displayed 40
New points per display 10
图3.5.1 信道前后星座图对比图
3.5.2 误码率分析
信号的误码率采用误码率统计模块分别从发端和收端接入输入数据,通过对这两个输入数据进行比较,计算误码率。
如果输入信号是二进制数据,则统计的结果是误比特率,否则,统计得到的结果是错误符号率。
本次仿真中采用的二进制码,误码率等于误比特率。
误码率统计模块参数设置如表3-7所示。
表3-7 误码率统计模块参数设置
Receive delay 0
Computation delay 0
Computation mode Entire frame
Output data Port
Target number of errors 100
Maximum number of symbols 1e6
信道在添加各种噪声的情况下分别得到不同的误码性能。
(1)高斯噪声下的误码率如图3.5.1所示。
(2)瑞利噪声下的误码率如图3.5.2所示。
图3.5.2瑞利噪声下的误码率(3)莱斯噪声下的误码率如图3.5.3所示。
(4)高斯、瑞利、莱斯噪声一起加入信道的误码率图如图3.5.4所示。
图3.5.4 所以噪声下的误码率
(5)分别加入高斯、瑞利、莱斯噪声和三种噪声一起加入信道对误码率的影响如图3.5.5所示。
图3.5.5 不同噪声情况下误码率对比图
(dB)无噪声高斯噪声莱斯噪声瑞利噪声三种噪声
-5 0.3447 0.3621 0.3806 0.3455 0.3564 -3 0.2866 0.3169 0.3459 0.2899 0.3042 -1 0.2126 0.2524 0.2925 0.2168 0.2482
1 0.1141 0.1741 0.2158 0.129
2 0.18706
3 0.0343 0.0839 0.1311 0.0416 0.0864
5 0.0020 0.0243 0.0405
6 0.0035 0.0571
7 0.0000982 0.0038 0.0044 0.0012 0.0337
9 0.0000291 0.0002 0.0001 0.0003 0.0178
相同信噪比的情况下,不同噪声对误码率的影响不同。
其中同时加入多种噪声时误码率最大,对信号传输的影响最大;加高斯噪声的误码率较小;加瑞利噪声的误码率也比较小;加莱斯噪声的误码率相对较大,对信号的传输相应的影响也较大。
3.5.3 频谱
QPSK通信系统的频谱图如图3.5.6所示。
图3.5.6 QPSK通信系统的频谱图
4 QPSK通信系统仿真总图
QPSK通信系统仿真总图如图4.1所示。
图4.1 QPSK通信系统仿真总图
M 文件
clear all
ErproVec=-8:1:40; %定义一个信噪比的数组
for n=1:length(ErproVec) %取出上一个数组的长度从1开始
SNR = ErproVec(n); %将上一个数组的变量赋值给Snr
sim('zt');%调用simlink模块
S2(n)=[mean(s)]'; %取出simlink模块中toworkspace中的s变量(为误码率)
S3(n)=S2(n)+eps; % 确定取出数据的精度如果数据小于2.2204*e-16 ,则为eps
EN(n)=[ErproVec(n)]'; %将信噪比转置
end
semilogy(EN,(S3),'b') %输出信噪比,误码率,颜色为蓝色
hold on %保持
for n=1:length(ErproVec) %
SNR = ErproVec(n); %
sim('NOZTRS') %
S21(n)=[mean(s1)]'; %
S31(n)=S21(n)+eps;
EN(n)=[ErproVec(n)]';
end
semilogy(EN,(S31),'r')
axis([-9,17,1e-14,3])
grid on
title('qpsk加RS卷积码编码与仅有qpsk的传输特性比较');
xlabel('信噪比');
ylabel('误码率');
5 心得体会
通过这次课程设计,我学到了很多东西。
一开始从对simulink的一无所知到现在的运用自如,过程是曲折的,结果是甜蜜的。
刚接触到这个课题时,我先查阅相关资料,大概有几十本书,然后从中选了几本跟该课题相关的教材作了一个精读,在掌握相关原理后,才开始进行搭建模型。
首先,我把这个模型分为一个一个的模块,对没一个模块进行搭建然后仿真,每个模块的搭建是很容易的,但是仿真时各种问题就像喷井似的爆发,都有放弃的冲动,不过还是坚持下来了。
把运行的错误一个个分析,遇见不懂的英文就查字典上网百度啊等方法,逐个击破。
最后功夫不负有心人,每个模块仿真都成功了,可接下来更大的难题出现了,就是每个模块之间的协调问题,每个模块的某个参数有问题都会导致仿真出错。
解决这个问题大概占了本次课程设计的一半时间(2天),最懊恼的就是那个串并转换问题,每个模块输入输出数据流的数据类型不同,需要串并转换,刚开始不懂,都有点抓狂了。
后来慢慢地查阅资料,知道了问题的所在,最终问题迎刃而解,心里那个窃喜啊!
当眼图、星座图、示波器的波形都正确的那一刻,那种喜悦真是无法言喻的。
本次课程设计给我最大的感受就是解决问题是要对症下药,不能心急而毫无章法。
成功需要百分之九十九的汗水喝百分之一的灵感,但是那百分之一的灵感真的比百分之九十九的汗水重要,在做完这个设计后我深有了解。
参考文献
[1] 张德丰.MATLAB通信工程仿真.北京:机械工业出版社,2010.1.
[2] 李贺冰.Simulink通信方针教程.北京:国防工业出版社,2006.5.
[3] 徐明远.MATLAB仿真在通信与电子工程中的应用.西安:西安电子科技大学出版社,2005.6.
[4] 谢沅清.模拟电子线路Ⅱ.成都电子科大学出版社,2006.
[5] 赵静.MATLAB的通信系统仿真.北京:北京航空航天大学出版社,2007.9.。