版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通信专业课程设计一太原科技大学课 程 设 计(论 文)设计(论文)题目:基于MATLAB的PCM系统仿真姓 名 学 号 班 级 通信 学 院 电子信息工程学院 指导教师 2013年 1 月 7 日太原科技大学课程设计(论文)任务书学院(直属系):电子信息工程学院 时间: 2013年1月7日学 生 姓 名指 导 教 师设计(论文)题目基于MATLAB的PCM系统仿真主要研究内容运用MATLAB软件研究PCM系统原理研究方法1.MATLAB仿真2.查阅资料主要技术指标(或研究目标)1.对通信系统有整体的较深入的理解,深入理解仿真部分的原理;2.完成仿真软件编制教研室意见教研室主任(专业负责人)签字
2、: 年 月 日 基于MATLAB的PCM系统仿真基于MATLAB的PCM系统仿真摘 要脉冲编码调制(Pulse Code Modulation),简称PCM。是数字信号是对连续变化的模拟信号进行抽样、量化和编码产生。PCM的优点就是音质好,缺点就是体积大。PCM可以提供用户从2M到155M速率的数字数据专线业务,也可以提供话音、图象传送、远程教学等其他业务。编码调制系统用MATLAB软件进行计算机仿真。编码调制系统用MATLAB软件进行计算机仿真。通过编程,对含有脉冲编码系统的PCM通信系统进行了建模,并以此为基础,进行线性PCM与对数PCM的性能比较关键词:脉冲编码调制、取样、量化、编码、M
3、ATLAB 目 录摘 要第1章 绪论 1.1 研究背景与研究意义11.2课程设计的目标与任务1第2章 PCM通信系统 2.1系统设计 2.1.1通信系统的原理2 2.1.2所设计子系统的原理3 2.2详细设计与编码 2.2.1设计方案3 2.2.2编程工具的选择4 2.2.3编码与测试5第3章 仿真及其结果分析14第4章 结论20参考文献2120第1章 绪论1.1 研究背景与研究意义数字通信系统己成为当今通信的发展方向,然而自然界的许多信息通过传感器转换后,绝大部分是模拟量,脉冲编码调制(PCM)是把模拟信号变换为数字信号的一种调制方式,主要用于语音传输,在光纤通信、数字微波通信、卫星通信中得
4、到广泛的应用,借助于MATLAB 软件,可以直观、方便地进行计算和仿真。因此可以通过运行结果,分析系统特性。1.2 课程设计的目的和任务通信系统的计算机仿真设计课程设计是通信工程专业的学生在学完通信工程专业基础课、通信工程专业主干课及科学计算与仿真专业课后进行的综合性课程设计。其目的在于使学生在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。课程设计的任务是:(1)掌握一般通信系统设计的过程、步骤、要求、工作内容及设计方法;掌握用计算机仿真通信系统的方法。(2)训练学生综合运用专
5、业知识的能力,提高学生进行通信工程设计的能力。第1章 第2章 PCM通信系统2.1系统设计2.1.1通信系统的原理通信系统的一般模型如下: 图2.1 通信系统原理图图中,信源的作用是把待传输的消息转换成原始电信号,如电话系统中电话机可看成是信源。信源输出的信号称为基带信号。所谓基带信号是指没有经过调制(进行频谱搬移和变换)的原始电信号,其特点是信号频谱从零频附近开始,具有低通形式,。根据原始电信号的特征,基带信号可分为数字基带信号和模拟基带信号,相应地,信源也分为数字信源和模拟信源。 发送设备的基本功能是将信源和信道匹配起来,即将信源产生的原始电信号(基带信号)变换成适合在信道中传输的信号。变
6、换方式是多种多样的,在需要频谱搬移的场合,调制是最常见的变换方式;对传输数字信号来说,发送设备又常常包含信源编码和信道编码等。 信道是指信号传输的通道,可以是有线的,也可以是无线的,甚至还可以包含某些设备。图中的噪声源,是信道中的所有噪声以及分散在通信系统中其它各处噪声的集合。 在接收端,接收设备的功能与发送设备相反,即进行解调、译码、解码等。它的任务是从带有干扰的接收信号中恢复出相应的原始电信号来。信宿是将复原的原始电信号转换成相应的消息。数字通信系统的仿真。其基本框图如下:数字调制信源编码信道编码量化抽样模拟信号抽信道噪声数字滤波器模拟信号抽样判决信道译码信源译码图2.2 数字通信系统框图
7、2.1.2 所设计子系统的原理现在更详细说明以上数字通信系统的原理。(1)模拟信号为原始的信号。(2)抽样是将上述的时间和幅值都连续的模拟信号转换成时间离散幅值连续的信号。(3)量化是将上述的时间离散幅值连续的抽样信号转换成时间离散幅值离散的信号。(4)信源编码是将上述量化后的值编码成0、1比特流的形式,并且可以减少冗余,提高效率。(5)信道编码是为了提高传输可靠性。(6)数字调制是将上述0、1比特流转换成适合在通信信道中传输的波形。(7)信道是信号传输的通道,信号在信道中传输时经常会有噪声的干扰。(8)数字滤波器是将调制并加有噪声的信号,去除噪声,并且解调后形成方波形式的信号。(9)抽样判决
8、是将方波信号转换成0、1比特流。(10)信道译码是信道编码的反过程。(11)信源译码是信道编曲码的反过程。(12)最后还原成模拟信号。2.2详细设计与编码2.2.1 设计方案产生模拟信源并得到抽样信号线性分组码编码通过13拆线得到转换后的值 数字调制通过编码子函数进行量化和编码主函数数字滤波器BPSK子函数抽样判决通过A侓公式反转成原始模拟信号信道译码图2.3 程序设计框图在主函数中,先产生一个模拟信号,再经过抽样后得到抽样值,将抽样值通过13拆线法转换成对应值,将转换后的值经过量化和编码后得到0、1比特流,再经过信道译码,再经过BPSK调制,再人为加入一些噪声,再通过数字滤波器将噪声和载波滤
9、掉,取出直流分量,得到方波波形。再经过抽样判决后得到0、1比特流,再经过线性分组码译码,最后经过信源译码,再经过A侓公式反转成原始模拟信号,画出各阶段的波形。2.2.2 编程工具的选择2.2.2 编程工具的选择我选用的软件是MATLAB,因为这款软件的功能特很强大,学习方便,仿真容易实现。MATLAB具有以下几个特点: 功能强大的数值运算功能;强大的图形处理能力; 高级但简单的程序环境; 丰富的工具箱最重要的是MATLAB学习起来方便容易,以前有学C语言的基础,MATLAB与C语言有类似之处,编程流程大概差不多,但要注意的是MATLAB与C语言在程序代码上也有细微的差别,MATLAB是一种解释
10、性语言,在写程序代码时容易方便,但是与C语言相比它的运算速度较慢,但功能强大。2.2.3 编码与测试程序代码子函数1:function y1=zhexian(x)x=x/max(x);z=sign(x);x=abs(x);for i=1:length(x) if(x(i)>0)&(x(i)<1/64) y(i)=16*x(i); else if(x(i)>=1/64)&(x(i)<1/32) y(i)=x(i)*8+1/8; else if(x(i)>=1/32)&(x(i)<1/16) y(i)=4*x(i)+2/8; else i
11、f(x(i)>=1/16)&(x(i)<1/8) y(i)=2*x(i)+3/8; else if(x(i)>=1/8)&(x(i)<1/4) y(i)=x(i)+1/2; else if(x(i)>=1/4)&(x(i)<1/2) y(i)=1/2*x(i)+5/8; else if(x(i)>=1/2)&(x(i)<=1) y(i)=1/4*x(i)+3/4; end; end; end; end;end; end; end;end;y1=z.*y;end此子函数的功能是将抽样后得到的值用13拆线转换成对应的值
12、。子函数2:function bit=bianma(y4,n)m=2/n;for i=1:n+1 q(i)=min(y4)+(i-1)*m;end%量化过程 t=length(q); ttt=; %存放将抽样信号量化后的值 tt=; e=1; tt(1)=-1; for x=2:length(q) tt(x)=(q(x-1)+q(x)/2; %存放第几个电平段的电平值 end tt=tt,max(y4); b_duan=; %存放电平段for x=1:length(y4) if y4(x)=q(t) b_duan(x)=length(tt); else if y4(x)=min(q) b_du
13、an(x)=1; else for y=1:t-1 if (q(y)<=y4(x)&& (y4(x)<q(y+1) b_duan(x)=y+1; end end end endendnu=ceil(log2(n); %编码 code=zeros(length(y4),nu); for i=1:length(y4) for j=nu:-1:0 if (fix(b_duan(i)/(2j)=1) code(i,(nu-j+1)=1; b_duan(i)=b_duan(i)-2j; else code(i,(nu-j+1)=0; end end endbit=;for i
14、=1:length(y4) bit=bit,code(i,:);end此函数的功能是将抽样后的值量化后进行自然二进制编码。采用8位二进制编码。子函数3:function bit2=xianxi(m)H= 0 1 1 1 1 0 0; 1 0 1 1 0 1 0; 1 1 0 1 0 0 1;G= 1 0 0 0 0 1 1; 0 1 0 0 1 0 1; 0 0 1 0 1 1 0; 0 0 0 1 1 1 1 ; %生成矩阵C=rem(m*G,2); c,z=size(C); bit2=; for i=1:c bit2=bit2,C(i,1:7); end此函数的功能是进行信道编码即:将每四
15、位二进制后加三位监督位,比特流的总长度除以四余下的则不进行加监督位。子函数4:function bit3=xianxiyima(gg) p=gg;R=;S=;for i=1:length(p)/7 R(i,1:7)=p(i-1)*7 +1:i*7);endH= 0 1 1 1 1 0 0;1 0 1 1 0 1 0; 1 1 0 1 0 0 1; c,z=size(R); S=rem(R*H',2);for i=1:c %伴随式的行次 for j=1:7 b=all(S(i,:)=H(:,j)'); if b=1 R(i,j)= R(i,j); break; end enden
16、dR(:,5:7)=; c,z=size(R); bit3=; for i=1:c bit3=bit3,R(i,1:4); end子函数5:function bb=BPSK(bit)fs = 30000;Ts = 0.1;m = fs * Ts; %一个码无所占宽度High =ones( 1,m);Low =zeros( 1,m );U=rem(length(bit),4);sheng=bit(length(bit)-U+1:bit(length(bit);w =300; %角频率for i=1:length(bit)/4 decode(i,1:4)=bit(i-1)*4 + 1 : i*4)
17、;endbit2=xianxi(decode); %线性分组码编码 Sign = bit2,sheng;L=length (Sign ); %信号长度st=zeros (1,m*L);sign1=zeros (1,m*L);t = 0:1/fs:Ts*L-1/fs;for i=1:L if Sign(i)=1 sign1(i-1)*m +1:i*m) = High; else sign1(i-1)*m +1:i*m) = Low; endendfor i=1:L if Sign(i) = 1 st(i-1)*m +1:i*m) =cos(2* pi*w *t(i-1)*m + 1:i*m)+(
18、pi/ 2); else st(i-1)*m +1:i*m) =cos(2* pi*w *t(i-1)*m + 1:i*m); endendst1=st;st1=st1+cos(3000*t);figureplot(t, sign1);axis( 0,Ts*(L+1),-(1/2),3/2 );title ( '编码后的信号' );gridfiguresubplot (2,1,1);plot (t,st );axis(0,Ts*(L+1), - 3/ 2,3/2 );title ( '数字调制后的信号' );gridsubplot (2,1,2);plot (
19、t, st1 );axis( 0,Ts*(L+1)+1, -5/2,5/2);title ( '加噪后的信号' );griddt = st1.*cos(2*pi*w*t );figureplot (t,dt);axis( 0,Ts*(L+1),-2,5/2 );title ( '与相干波相乘后的波形' );gridN,Wn = buttord( 2*pi*50, 2*pi*100,3,25,'s'); %临界频率采用角频率表示b,a=butter(N,Wn,'s');bz,az=impinvar(b,a,fs); %映射为数字的d
20、t = filter(bz,az,dt);figureplot (t,dt);axis( 0,Ts*(L+1),- 3/2,3/2 );title ( '低通滤波后的波形' ); ss=dt; %存放抽样判决后的值bit1=;tt=length(ss)/L;for i=tt/2:tt:length(ss)if ss(i)>(1/4) ss(i-tt/2+1):(i+tt/2)=zeros ( 1,3000); bit1=bit1,0; else ss(i-tt/2+1):(i+tt/2)=ones ( 1,3000); bit1=bit1,1; endendfigurep
21、lot (t,ss,'r-');axis( 0,Ts*(L+1), -1/2,3/2 );title ( '信道译码信号' );gridbb=; U1=rem(length(bit1),7); l=length(bit1);sheng1=bit1(length(bit1)-U1+1:bit1(length(bit1);bit1(l-U1+1:bit1(l)=;bb=xianxiyima(bit1); %线性分组码译码;bb=bb,sheng1;此函数的功能是将信源编码后的0、1序列再经过信道编码(7,4)线性分组码编码,将信道编码后的信号进行BPSK调制,由于考
22、虑到在信道中传输是会有噪声的影响,所以在仿真时我人为的加入一定的噪声。在接收端进行相干解调,用一个与调制信号同频的信号与接收到的信号(加入噪声后的已调信号)相乘,再用一个数字滤波器进行滤波,去掉了信号中的高频成份和噪声,取出直流分量,得到方波信号,对这个信号进行抽样判决将其转换成0、1比特流后,再经过信道译码。子函数6:function a3=yima(y,n)m=2/n;for i=1:n+1 q(i)=(-1)+(i-1)*m;end tt=; tt(1)=-1; for x=2:length(q) tt(x)=(q(x-1)+q(x)/2; %存放第几个电平段的电平值 end tt=tt
23、,1;nu=ceil(log2(n);decode=;for i=1:length(y)/(nu+1) decode(i,1:(nu+1)=y(i-1)*(nu+1) + 1 : i*(nu+1);endab= ; % 存放的十进制数,到tt中去找对应值 w,z=size(decode); for j=1:w L=nu; value=0; for i=0:L value=decode(j,i+1)*(2(L-i)+ value; end ab(j)=value; end decode; w; a3= ; % 存放信源译码值 for i=1:w a3(i)=tt(ab(i); end此函数的功能
24、是将接收到的0、1比特流分为八位二进制一组一组的,再将每八位二进制转换为十进制数,再到每段中去寻到与发关端有相同约定段号值。即可恢复原信号的量化值。子函数7:function y5=Ayi(y,A)for i=1:length(y)if(abs(y(i)>=0)&(abs(y(i)<=(1/(1+log(A) y1(i)=y(i)*(1+log(A)/A;else if(abs(y(i)<=1)&(abs(y(i)>(1/(1+log(A) y1(i)=(1/A)*sign(y(i)*exp(abs(y(i)*(1+log(A)-1); endenden
25、dy5=y1;end此函数的功能是将恢复的量化值通过A律反转换公式得到对应的值,是用13拆线转换的反过程。因为在当A86.5时,可以用13折线用13条折线近似A律的平滑曲线,在实际工程中A律的平滑曲线不易实现,而用13折线法可以降低工程实现中的难度。主函数:clcclear allt=0:0.1:6*pi;a1=sin(t); %模拟信源figure(1)plot(t,a1);title ( '原始模拟信号' );t1=0:2*pi/32:6*pi; %抽样a=sin(t1);figureplot(t1,a);stem(t1,a);title ( '抽样信号'
26、);y4=zhexian(a) ; %13折线 n=256; %量化电平数;bitstream=bianma(y4,n);bit1=BPSK(bitstream);y2=yima(bit1,n);y5=Ayi(y2,87.65);figureplot(y5);stem(y5,'r')axis(0,100,-1,1.01)figureplot(y5,'r');hold onplot(y5,'.b');axis(0,100,-1,1.01)主函数的功能是是产生模拟信号并且进行抽样得到抽样值,然后将各个子函数衔接到一块,形成一个比较完整的通信系统,进行
27、仿真画出各个阶段重要的图形,以便观察和分析。调试过程:将各个子程序和主程序都放入MATLAB的工作空间中,双击main.m文件后,点击Debug Run 运行程序。图2.4 调试在这次通信系统仿真编程中,我遇到了很多问题,例如在利用13折线进行数值变转时,需要考虑归一化问题,并且考虑到在第一象限和第三象限的情况基本相同,只是符号相反,所以只需考虑一段,那么在进行运算是得先把原来的值的符号位保存,再在变换后的值上添加符号值。还有在对连续幅值进行量化时,我也犯了一些思路上的混乱,导致我在调试的时候出现错误,但当我反复一遍遍检查,发现只是在取值端点上没有弄好,当我改后就好了。还有在编码时,一开始不知
28、怎么的老是前几个数编出来只有六位,我又上那块去找原因,发现又是在取值边界上的问题,我改后这个问题也解决了。在进行BPSK调制时,出现了相位模糊的问题,我在抽样判决后,人为的进行取反,就得到了正确的0、1比特流。在信源译码的时候要注意的是,取的量化电平值要和发送端约定好,以便在接收到0、1比特流后能够正确译出量化值,在量化值恢复成原始抽样值时,我采用的是A律反解法,因为在我设计的程序中令A的值为87.65,此时的A律曲线和13拆线很接进,为了观查它们的近似度,我在发送端和接收端分别用了13折线和A律公式。第3章 仿真及其结果分析先得到原始模拟信号如下图:图3.1原始模拟信号将此模拟信号按每周期取32个点抽样,得到以下图形:图3.2抽样信号将抽样后的量化值进行二进制编码,第八位二进制数表示一个量化值,将得到的二进制数进行信道编曲码,得到如下图形:图3.3信道编码后的信号经过BPSK调制后的信号和在调制后的信号中加入噪声有如下图形:图3.4数字调制后的信号及加噪后的信号在接收端用一个与调制后的波同频的相干
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026无导游证领队人员导游资格考试历年参考题库含答案详解
- 2026新疆事业单位招聘考试(预防医学)历年参考题库含答案详解
- 超声波测距报警毕业设计课程设计
- 生物特征身份认证系统开发教程课程设计
- 图像灰度化与边缘检测程序图像解密课程设计
- 在线学习行为评估方法课程设计
- 边缘计算数据传输性能优化课程设计
- 垃圾邮件检测机器学习项目课程设计
- 抽样技术课程设计课题
- 车站调车工作课程设计
- 建筑中级职称《给水排水工程》历年考试真题题库(含答案)
- 工程量清单及招标控制价编制工作方案
- 2024年全国初中数学联赛试题及答案(修正版)
- 美容基础(美容美体专业)全套教学课件
- 跨境电商税务合规解决方案
- 电子元件焊接技术课件
- 《先进制造技术》课件(全套)
- 电子警察系统施工方案
- 西方园林史智慧树知到答案章节测试2023年内蒙古农业大学
- 生活垃圾焚烧发电厂项目施工组织设计
- TEERT 018-2021 金属抛光打磨用湿式除尘一体机
评论
0/150
提交评论