PCM通信系统的性能分析与MATLAB仿真

更新时间:2024-03-24 10:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

淮海工学院 课程设计报告书

课程名称: 通信系统的计算机仿真设计

题 目:PCM通信系统的性能分析与MATLAB仿真 系 (院):

学 期: 专业班级: 姓 名: 学 号:

评语: 成绩: 签名: 日期:

PCM通信系统的性能分析与MATLAB仿真

1 绪论

1.1 研究背景与研究意义

数字通信系统已成为当今通信的发展方向,然而自然界的许多信息通过传感器转换后,绝大部分是模拟量,脉冲编码调制(PCM)是把模拟信号变换为数字信号的一种调制方式,主要用于语音传输,在光纤通信、数字微波通信、卫星通信中得到广泛的应用。

1.2 课程设计的目的和任务

课程设计的目的在于使学生在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。

课程设计的任务是:(1)掌握一般通信系统设计的过程、步骤、要求、工作内容及设计方法;掌握用计算机仿真通信系统的方法。(2)训练学生综合运用专业知识的能力,提高进行通信工程设计的能力。

1.3 可行性分析

数字通信系统中,脉冲编码调制(PCM)把模拟信号变换为数字信号,借助于MATLAB软件,可以直观、方便地进行计算和仿真。因此可以通过运行结果,分析系统特性。通过模拟信源产生正弦信号,经过抽样、量化、编码,然后调制后在信道中传输,加入高斯加性白噪声,之后进行解调及译码。整个过程均可通过MATLAB仿真系统模拟出来,进而可在接收端,将得到的数据与原始信号源数据比较,得到在特定信噪比下的误码率。故该系统设计是可行的。

2 PCM通信系统

2.1 PCM通信系统基本模型

本次课程设计应用Matlab进行仿真,仿真采用蒙特卡罗模型。仿真基本框图如下:

PCM系统的原理框图如图1所示,模拟信号m(t)经抽样、量化、编码后变换成数字信号,经信道传送到接收端的译码器,由译码器还原出抽样值。 其中:

信号源:模拟的正弦波语音信号。

抽样:低通连续信号采样,绘出信号时、频域图形。 量化:非均匀量化,给出编码器的输出码组序列。 编码:实现A率PCM编码。

信道:信号经过调制后,通过信道。信道选择高斯加性白噪声信道。 解调:根据调制方式,选择相应的解调方式。

译码:根据信道编码方式,选择对应的信道解码方式。

性能分析:信号经过调制、信道、解调过程。在接收端,将得到的数据与原始信号源数据比较,得到在特定信噪比下的误码率。改变系统信噪比,从而得到系统的误码率曲线图,并给出各关键点信号图与星座图。

2.2 PCM通信系统的性能指标

(1)有效性指标

有效性指标具体包括以下三项内容。 ①信息传输速率(R)

信息传输速率简称传信率,也叫数码率。它的定义是:每秒所传输的信息量。信息传输速率定义:一秒所传输的二进制码元数,其单位为bit/s。 ②符号速率(N)

符号速率也叫码元速率,它的定义是:1秒所传输的码元数目(这里的码元可以是多进制的,也可以是二进制的),其单位为“波特”(Bd)。 ③频带利用率

真正用来衡量数字通信系统传输效率的指标(有效性)应当是单位频带内的传输速率。 (2)可靠性指标

反映数字通信系统可靠性的主要指标是误码率。误码率的定义为:在传输过程中发生误码的码元个数与传输的总码元之比。

3 PCM通信系统主要模块

3.1 信源/信宿及其编译码

信源:被变换成原始电信号的原始信息。常见的信源有产生模拟信号的电话

机、话筒、摄像机和输出数字信号的电子计算机、各种数字终端设备等。 y=4sin(2?f) f=800Hz

信宿:接收信息的人或各种终端设备。信源编码:把模拟信号变换成数字信号,即完成模数变换的任务。如果信源产生的已经是数字信号,可省去信源编码部分。本设计中使用编译码使用(7,4)汉明码及(14,8)循环码。

3.2 基带信号处理

基带信号是指没有经过调制的原始信号,其特点是频率较低,具有低通形式。信道编码:完成自动检错或纠错功能传输过程中由于信道中存在噪声干扰,使得传输的数字信号产生差错——误码。为了在接收端能自动进行检错或纠正差错,在信源编码后的信息码元中,按一定的规律,附加一些监督码元,形成新的数字信号。接收端可按数字信号的规律性来检查接收信号是否有差错或纠正错码。

3.3 调制/解调

调制:将基带数字信号搬移到适合于信道传输的频带上。将基带数字信号直接送到信道传输的方式称为基带传输;将基带数字信号经过调制后再送到信道传输的方式称为频带传输。解调是从携带消息的已调信号中恢复消息的过程。在各种信息传输或处理系统中,发送端用所欲传送的消息对载波进行调制,产生携带这一消息的信号。接收端必须恢复所传送的消息才能加以利用,这就是解调。

3.4 信道

信道:是指传输信号的通道。根据传输媒介可分为有线信道(明线、电缆、

光缆信道)与无线信道(短波电离层传播、微波视距传播、卫星中继信道)。

3.5 量化

量化过程就是把在输入端连续变化的无限种幅度的模拟量变成在输出端的

有限种幅度的模拟量。利用预先规定的有限个电平来表示模拟抽样值的过程称为量化。抽样把一个时间连续信号变换成时间离散的信号,但在幅度上仍然是连续的,因此仍属模拟信号。而量化则是将取值连续的抽样变成取值离散的抽样。量化后的抽样值称为量化值,也叫量化电平;量化值的个数称为量化级;相邻两个量化值之差称为量化间隔。

实际中,压缩律通常采用13折线来近似,13折线法如图2所示,图中先把轴的[0,1]区间分为8个不均匀段。

图2 13 折线图

表1 13折线表

段落 1 2 3 4 5 6 7 8 斜率 16 16 8 4 2 1 1/2 1/4 从表1中可以看出,除一、二段外,其他各段折线的斜率都不相同。图2中只画出了第一象限的压缩特性,第三象限的压缩特性的形状与第一象限的压缩特性的形状相同,且它们以原点为奇对称,所以负方向也有八段直线,总共有16个线段。但由于正向一、二两段和负向一、二两段的斜率相同,所以这四段实际上为一条直线,因此,正、负双向的折线总共由13条直线段构成,这就是

13折线的由来。 其具体分法如下:

将区间[0,1]一分为二,其中点为1/2,取区间[1/2,1]作为第八段;

将剩下的区间[0,1/2]再一分为二,其中点为1/4,取区间[1/4,1/2]作为第七段; 将剩下的区间[0,1/4]再一分为二,其中点为1/8,取区间[1/8,1/4]作为第六段; 将剩下的区间[0,1/8]再一分为二,其中点为1/16,取区间[1/16,1/8]作为第五段; 将剩下的区间[0,1/16]再一分为二,其中点为1/32,取区间[1/32,1/16]作为第四段; 将剩下的区间[0,1/32]再一分为二,其中点为1/64,取区间[1/64,1/32]作为第三段; 将剩下的区间[0,1/64]再一分为二,其中点为1/128,取区间[1/128,1/64]作为第二段; 最后剩下的区间[0,1/128]作为第一段。

然后将轴的[0,1]区间均匀地分成八段,从第一段到第八段分别为[0,1/8],(1/8,2/8],(2/8,3/8],(3/8,4/8],(4/8,5/8],(5/8,6/8],(6/8,7/8],(7/8,1]。分别与轴的八段一一对应。

4 PCM通信系统的MATLAB仿真

4.1 MATLAB主要模块及设置

4.1.1 模拟信号的抽样

抽样定理:传送限带连续信号时,只要传送信号的单个抽样值(脉冲)的序列就足够了。这些抽样值的幅度等于连续信号在该时刻的瞬时值,而重复频率至少等于所传交流信号的2倍。

通常的通话频带的带宽是4kHz(话音频带规定为300~3400Hz)。因此抽样频率

fcfc取在8000Hz就足够了。本设计中采用8000Hz的抽样频率。

4.1.2 量化与编码

把量化后的信号电平值转化成二进制码组的过程称为编码。量化与编码的组合称为模数转换器。二进制码具有抗干扰能力强,易于产生等优点,且为了保证通信质量,目前国际上采用8位二进制码的PCM系统。

循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。它有许多特殊的代数性质,这些性质有助于按所要求的纠错能力系统地构造这类码,且易于实现;同时循环码的性能也较好,具有较强的检错和纠错能力。 在编码时,首先需要根据给定循环码的参数确定生成多项式g(x),也就是从

的因子中选一个(n-k)次多项式作为g(x);然后,利用循环码的编码

特点,即所有循环码多项式A(x)都可以被g(x)整除,来定义生成多项式g(x)。 根据上述原理可以得到一个较简单的系统:设要产生(n,k)循环码,m(x)表示信息多项式,循环码编码方法则其次数必小于k,而

·m(x)的次数必小

n,用

·m(x)除以g(x),可得余数r(x),r(x)的次数必小于(n-k),将r(x)

加到信息位后作监督位,就得到了系统循环码。

汉明编码能够纠正单个错误的线性分组码。它有以下特点: 码长 信息码位 监督码位 这里m位

最小码距d=3

纠错能力t=1

的正整数,给定m行,既可构造出具体的汉明码

汉明码的监督矩阵有n列m行,它的n列分别有除了全0之外的m位编码组构成,每个码组只在某列中出现一次。系统中的监督矩阵如下图所示:

相应的生成矩阵为:

4.2 PCM通信系统的仿真图和结果分析

图3抽样信号

图4信源信号

图5 时域已抽样信号图

图6 已抽样信号频谱

图7 有无信道编码误码率比较

4.3 加入噪声及干扰时系统性能指标的变化分析

由图7分析可得,当无信道编码时,随着信噪比的增加,误码率基本保持不变,并且和其他两种相比最大。当信道编码采用(14,8)循环码与(7,4)汉明码时,误码率显著降低。

5 结论

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,其实课程设计难免会遇到各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,我收获很多。

参考资料

[1]赵静,张瑾.基于MATLAB的通信系统仿真.北京:北京航空航天大学出版社.2007.

[2]陈运.信息论与编码. 北京:电子工业出版社,2007 [3] 樊昌信,曹丽娟.通信原理. 武汉:国防工业出版.2006.

[4]杨武军,郭娟. 现代通信网概论. 西安:西安电子科技大学出版社,2011. [5]王辉,王平. 光纤通信(第2版). 北京:电子工业出版社,2010.

[6]叶敏. 程控数字交换与交换网(第2版).

北京:北京邮电大学出版社,2010.

附录

功能调用函数:

function [c]=PCMcode(y) c=[0 0 0 0 0 0 0 0 ] if(y>0) c(1)=1; else c(1)=0; end y=abs(y); if(y>=0&y<16)

c(2)=0;c(3)=0;c(4)=0;step=1;st=0; elseif(y>=16&y<32)

c(2)=0;c(3)=0;c(4)=1;step=1;st=16; elseif(y>=32&y<64)

c(2)=0;c(3)=1;c(4)=0;step=2;st=32; elseif(y>=64&y<128)

c(2)=0;c(3)=1;c(4)=1;step=4;st=64; elseif(y>=128&y<256)

c(2)=1;c(3)=0;c(4)=0;step=8;st=128; elseif(y>=256&y<512)

c(2)=1;c(3)=0;c(4)=1;step=16;st=256; elseif(y>=512&y<1024)

c(2)=1;c(3)=1;c(4)=0;step=32;st=512; elseif(y>=1024&y<=2048)

c(2)=1;c(3)=1;c(4)=1;step=64;st=1024; end if(y<2048)

t=floor((y-st)/step); p=dec2bin(t,4)-48; c(5:8)=p(1:4); else

c(5:8)=[1 1 1 1] end

主程序:

clear

A=4;f=0.8*10^3;w=2*pi*f; fs=8*10^3;T=1/fs; t=-5:0.000001:5;

y=A*sin(w*t); n=1:100; mm(n)=1; figure(1)

stem(n,mm(n)); s=A*sin(w*n*T); figure(2) plot(t,y);

axis([0 0.02 -4 4]); figure(3)

plot(n,s,'.');%时域抽样后的信号图 legend('时域已抽样信号图'); grid;

f=n./(100*T); y1=fft(s); figure(4) plot(f,y1); xlabel('f'); ylabel('幅频');

legend('已抽样信号频谱');

s1=s./max(s); s2=s1./(1/2048); for i=1:100

c(i,1:8)=PCMcode(s2(i));%c是pcm码100*8 end

m=c;

m=2*m-1;%调制 %无信道编码

c1=c.';c7=c;

c1=reshape(c1,4,200);c1=c1.';á=200*4,前两行对应c第一行

c2=encode(c1,7 ,4,'hamming/binary');%(7,4)hamming信道编码200*7 c3=encode(c7,14,8,'cyclic/binary');%(14,8)循环码编码 tx1=2*c2-1;tx2=2*c3-1;*SK BNRZ调制 errorbit=0; dB=-25:5:25 for p=1:11

biterrors=0;biterrors1=0;biterrors2=0; r1=10.^(dB(p)/10); r1=0.5./(r1); sigma=sqrt(r1);

m=m+sigma*randn(100,8);

m(find(m>=0))=1;m(find(m<0))=0;

errors=zeros(100,8);errors(find(m~=c))=1; errors=reshape(errors,1,800); biterrors=sum(errors);

errorbit(p)=biterrors/(100*8);

rx1=tx1+sigma*randn(200,7);

rx2=tx2+sigma*randn(100,14);%加噪声

rx1(find(rx1>=0))=1;rx1(find(rx1<0))=0;%判决,解调 rx2(find(rx2>=0))=1;rx2(find(rx2<0))=0;

c22=decode(rx1,7,4,'hamming/binary');%hamming信道译码200*4 c33=decode(rx2,14,8,'cyclic/binary');%循环译码 errors1=zeros(200,4); errors2=zeros(100,8); errors1(find(c22~=c1))=1; errors2(find(c33~=c7))=1;

errors1=reshape(errors1,1,800); errors2=reshape(errors2,1,800); biterrors1=sum(errors1);

biterrors2=sum(errors2);%统计错误 errorbit1(p)=biterrors1/(100*8);

errorbit2(p)=biterrors2/(100*8);%误码率 end figure(5)

semilogy(dB,errorbit1,':bs'); hold

semilogy(dB,errorbit,'--mo'); semilogy(dB,errorbit2,'-.r*'); grid;

legend(':bs汉明','--mo无信道编码','-.r*循环码'); xlabel('dB'); ylabel('误码率');

本文来源:https://www.bwwdw.com/article/8278.html

Top