通信原理综合实验报告 PCM
更新时间:2024-01-01 18:12:01 阅读量: 教育文库 文档下载
- 通信原理综合题推荐度:
- 相关推荐
重庆交通大学信息科学与工程学院
综合性设计性实验报告
专 业 班 级: 通信工程一班
姓 名 :
学 号:
实验所属课程: 通信原理
实验室(中心): 语音八楼
指 导 教 师 : 许登元
实验完成时间: 2013 年1月1日
教师评阅意见:
一、 设计题目
基于MATLAB的通信系统仿真——信源编解码 二、实验目的:
1.综合应用《Matlab编程与系统仿真》、《信号与系统》、《现代通信原理》等多门课程知识,使我们建立通信系统的整体概念;
2.培养我们系统设计与系统开发的思想; 3.培养我们利用软件进行通信仿真的能力。
4.培养我发现问题,解决问题,查阅资料解决问题的能力。
5、培养我熟练掌握MATLAB,运用此matlab软件工具进行通信仿真的能力
签名: 年 月 日 实验成绩: 三、实验设备及软件:
PC机一台,MATBLAB。
四、实验主要内容及要求:
1、
对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图
2、 3、 4、 5、
提出仿真方案; 完成仿真软件的编制 仿真软件的演示 提交详细的设计报告
五、实验原理
1、
PCM基本原理
脉冲编码调制(PCM)简称脉码调制,它是一种用二进制数字代码来代替连续信号的抽样值,从而实现通信的方式。因此此种通信方式抗干扰能力强,因此在很多领域都得到了广泛运用。PCM信号的形
成主要由三大步骤组成,包括:抽样、量化和编码。它们分别完成时间上离散、幅度上离散及量化信号的二进制表示。量化分为均匀量化和非均匀量化,为了减小小信号的量化误差,我们常使用的是非均匀量化。非均匀量化分为A律和μ律。我国采用的是A律,但由于A律不好实现,所以我们常用近似的13折线编码。
1.1抽样
抽样即是将时间连续的模拟信号由一系列时间离散的样值所取代的过程它实现的是信号在时间上的离散化。抽样信号要想无失真的恢复出原信号,抽样频率必须要满足抽样定理。即:如果信号的最高频率为fH,那么抽样频率fs必须要满足fs>=2fH.
1.2量化
经过抽样后的信号还并不是数字信号,它只实现了时间上的离散化。幅值上并不离散。所以我们要对信号进行量化,实现其幅值的离散化。量化分为均匀量化和非均匀量化。本实验主要用到了非均匀量化中的A律13折线压缩。下面主要介绍A律13折线。 A律压缩是指压缩器具有如下的压缩特性:
?Axx1(),??1?lnAVVA?Z???sgn(x)[1?ln(Ax)],1?x?1 ?1?lnAVAV?
由于A律在工程上不好实现,所以我们经常用近似的13折线压缩法去代替A率压缩 下面是13折线时的X值与A律计算得的X的比较
z
确值 X近 似值
0 0 0 1 16 1/8 2/8 3/8 4/8 5/8 6/8 7/8 1 1 20
x准
1128
160.6
130.6
115.4
17.79
13.93
11.98
2-7 2 16 2-6 3 2-5 4 4 2-4 5 2 2-3 6 1 2-2 7 0.5 2-1 8 0.25 段号 斜率
8 第二行的X值是根据A=87.6时计算得到的,第三行的X值是13折线分段时的值。可见,13折线各段
落的分界点与A=87.6 的曲线非常的接近。而13折线的x按2的幂次分布,计算较方便,也易于实现。
1.3编码
编码即把量化后的新哈变换成二进制代码,其反过程就叫做译码。本实验中我们用的是折叠二进制码。我们把一个量化电平数用一个8位的二进制表示。第1位表示信号的极性,2-4位表示段落码,5-8位表示段内码。 A律正输入值编码表 段落码 段落序号 段落码 1 000 2 001 3 010 4 011 5 100 6 101 7 110 8 111 段内码 量化级 段内码 量化级 段内码 15 14 13 12 11 10 9 8 1111 1110 1101 1100 1011 1010 1001 1000 7 6 5 4 3 2 1 0 0111 0110 0101 0100 0011 0010 0001 0000 在13折线中,用8位的折叠二进制码表示信号量化值的具体步骤为:用第2到4位表示段落码,8个段落的起点电平由它的8种可能状态来分别表示。其他四位表示段内码,每一个段落它的16个均匀的划分量化级由它的16种可能状态来分别表示。这样就使得8个段落被划分为128个量化级。再加上负的,相当于一共有256种量化电平数。
数字通信系统原理框图
模拟信号 抽样 量化 信源编码 信道编码 数字调制 加噪 信道 模拟信号 信源译码 信道译码 抽样判决 滤波 数字解调 本实验详细设计方案
主函数
产生模拟信源并得到抽样信
PCM编码
Huffuman编码
Bpsk调制
汉明编码 信道 汉明译码 Hufuman解
压缩
Pcm反变换重建模拟信号
加噪 解调 滤波 抽样判决
各子系统详细介绍:
1、 2、 3、 4、 5、 6、 7、 8、
模拟信号为原始的信源信号
抽样是将上述的时间和幅值都连续的模拟信号转换为时间离散,幅值连续的信号。 量化是将上述信号转换为时间和幅值均离散的数字信号 Pcm编码是将量化后的信号转换为01比特流 Huffuman编码是为了减少冗余,提高传输效率 汉明编码是通过增加冗余位来提高传输效率
Bpsk调制式将上述0、1比特流转换成适合在信道中传输的波形
加噪是模仿信号传输过程中噪声的干扰,解调、滤波是为了恢复原信号。 抽样判决是把信号恢复成0 、1比特流的形式
9、 10、
汉明译码、huffuman解压缩、pcm反变换分别是汉明编码,huffuman 编码,pcm编码的反过程。 最后还原成模拟信号
六、主要代码及必要说明:
主函数
datastream=[]; for i=1:l for j=1:n
if sum(h(i,:)==huff(j).ch)==8
datastream=[datastream,huff(j).code]; break; end end end end
(7、4)汉明编码
function bit2=hanmencoding(m) H=[0 1 1 1 1 0 0; 1 0 1 1 0 1 1; 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]; bit2=[];
n=fix(length(m)/4); for i=1:n
t=m((i-1)*4+1:i*4); bit2=[bit2,rem(t*G,2)]; end
bit2=[bit2,m(4*n+1:end)]; end
通过信道的子函数
function [panjue]=channel(bit2,SNR) %--------------调制---------------
cs=bit2*2-1; de=[];
t=linspace(0,1,16); carrier=cos(2*pi*t); for i=1:length(cs) de=[de,cs(i)*carrier]; end figure; subplot(4,1,1);
plot(de);axis([0,length(de)/10,-1,1]); title('调制信号');
%--------------加噪--------------- de=awgn(de,SNR,'measured'); %-------------解调------------------- designal=[];
for i=1:16:length(de)-15
designal=[designal,de(i:i+15).*carrier]; end
subplot(4,1,2); plot(designal);
axis([0,length(designal)/10,-1,1]); title('解调信号');
%-------------滤波------------------- load lowpass;
l=fix((length(lowpass))/2); designal=[designal,zeros(1,l)]; b=filter(lowpass,1,designal); b=b(l+1:end); subplot(4,1,3); plot(b);
axis([0,length(b)/10,-1,1]); title('滤波后的信号');
%------------抽样判决-------------------- panjue=[];panjue1=[]; for i=1:length(b)/16; sum1=b((i-1)*16+4); if sum1>=0
panjue=[panjue,1];
panjue1=[panjue1,ones(1,16)]; else
panjue=[panjue,0];
panjue1=[panjue1,zeros(1,16)]; end end
subplot(4,1,4); plot(panjue1);
axis([0,length(panjue1)/10,-1,1]); title('抽样判决信号'); end
汉明码译码函数
function bit3=hamyima(bit2) H=[0 1 1 1 1 0 0; 1 0 1 1 0 1 1; 1 1 0 1 0 0 1]; j=fix(length(bit2)/7); bit3=[]; for k=1:j
R=bit2((k-1)*7+1:k*7); S=rem(R*H',2); for i=1:7
if sum(S==H(:,i)')==3 break; end end R(i)=~R(i); bit3=[bit3,R(1:4)]; end
bit3=[bit3,bit2(j*7+1:end)]; end
huffuman译码
function [transcode]=huffdecoding(datastream,huff,n) k=datastream; transcode=[];len=0; max=1; for u=1:n
temp=length(huff(u).code); if temp>max max=temp; end end
while(length(k)~=0) d=k(1); for L=1:length(k) symbol=0; for i=1:n
if (length(d)==length(huff(i).code))
if(length(find(d==huff(i).code))==length(d)) transcode=[transcode,huff(i).ch]; k=k(length(d)+1:end); symbol=1;
end end if symbol==1 break; end end if symbol==1 break;
else if length(k)-length(d)>0 d=[d,k(length(d)+1)]; else
transcode=[transcode,k]; break; end end end end pcm译码
function S=ipcm(code) len=length(code)/8; w(1)=0; for k=2:8
w(k)=2^(k+2);%段起始值[0,16,32,64,128,256,512,1024] end for i=1:7
b(i)=(w(i+1)-w(i))/16;%每段的最小量化间隔 end
b(8)=1024/16; S=[]; for i=1:len
s=code((i-1)*8+1:(i-1)*8+8);
t=bin2dec(s(2:4))+1;%判断段落位置 y=bin2dec(s(5:8));%判断段内地址 m=w(t)+(y+0.5)*b(t); m=m/2048;
if s(1)==0%判断极性 m=-m; end S=[S,m]; end
function a=bin2dec(x)%二进制转十进制 n=length(x); sum=0; for i=1:n
sum=sum+x(i)*2^(n-i); end a=sum;
function a=dec2bin(x,n)%将x转换为n位的二进制a a=zeros(1,length(n)); for i=1:n if x>=2^(n-i) a(i)=1; x=x-2^(n-i); else a(i)=0; end end
六、测试结果及分析:
原始信号10.50-0.5-10246810抽样信号121416182010.50-0.5-102468101214161820
调制信号10-110-110-110-1010020030040050060070080090010000100200300400500600抽样判决信号70080090010000100200300400500600滤波后的信号70080090010000100200300400500600解调信号7008009001000
信噪比为5时的重建模拟信号
10.80.60.40.20-0.2-0.4-0.6-0.8-102468101214161820
信噪比为2时的重建模拟信号
10.80.60.40.20-0.2-0.4-0.6-0.8-102468101214161820
信噪比为1时的重建模拟信号
10.80.60.40.20-0.2-0.4-0.6-0.8-102468101214161820
对比不同信噪比情况下的重建信号可知,信噪比越大,信号恢复的质量越好。
七、实验体会:
通过本次实验我收获不少,使我对通信原理更加的了解了,尤其是模拟信号数字化这一块儿。有了以前的matlab以及信息论与编码课程设计做铺垫,这次实验相比以往要更顺利一些。但编码过程中还是遇到了一些问题。比如抽样判决过程中,我一直有个问题不是很明白,为什么不取一个周期的平均值作为判决依据,而要取一个周期的某个点呢。我觉得取平均值的话可以在一定程度上减小误差。那么还希望老师能够解决我的这个疑问。在测试不同信噪比情况下,信号恢复情况时我发现,同一信噪比情况下,出来的图也并不完全一样的。我想是不是信道加噪的过程是随机的原因。其间,程序出错了,自己改半天改不出来,最后还是在同学的帮助下解决的。在此,非常的感谢她对我的帮助。同时也体会到了互助的力量。那么通过这次实验学到了不少,也希望自己以后可以通过自己的努力以及老师,同学的帮助学到更多的东西。
八、参考文献
[1]王立宁,乐光新等. Matlab与通信仿真[M], 人民邮电出版社, 2000.1
[2]John G. proakis等著, 刘树棠译. 现代通信系统(Matlab版)(第二版)[M], 电子工业出版社, 2006.9
[3]Bernard Sklar著, 徐平平等译. 数字通信-基础与应用(第二版) [M], 电子工业出版社, 2004.11
[4]樊昌信等. 通信原理(第6版)[M]. 国防工业出版社,2008.3
正在阅读:
通信原理综合实验报告 PCM01-01
方山省级森林公园总体规划文本 - 图文04-10
四年级奥数乘法原理04-07
人教版小学数学三年级上册《长方形和正方形的周长》说课稿01-24
锦屏电力工程公司资料03-21
江苏省淮安市盱眙县马坝高级中学2019-2020学年高二下学期期中考试数学试题 Word版含解析05-15
单侧椎弓根螺钉固定关节突融合治疗腰椎间盘突出症_缪旭东05-30
谢谢您,妈妈作文400字07-01
一年级闽南方言与文化教案03-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 原理
- 实验
- 通信
- 报告
- 综合
- PCM
- MRP计划订单数量计算逻辑及相关设置
- 智慧园区管理系统1
- 品管圈实施方案(1)
- 隧道开挖 结构防排水及衬砌施工工艺
- VB数据库的链接与访问
- 4胶南市创建全国科普示范市工作总体情况
- 人教版必修3 生态系统的结构 学案(1)
- 网页设计实训报告
- 高中政治知识网络体系
- 2017年青岛版四年级科学下册教学计划与2017年高一历史教学工作计划汇编
- 中学教师招聘考试127个教育法律法规简答题汇总
- 西游记专题知识竞赛试卷有答案
- 福建省永春一中、培元、季延、石光中学四校2018届高三文综(地理部分)上学期第二次联考试题 - 图文
- 客户退货管理程序(含表格)
- 平面向量基本定理教学设计
- 什么才是“体验式”商业地产
- 浙江省2017届高考《历史》第二次联考试题及答案 - 图文
- 债权转让及回购协议模板
- 墙面干挂石材施工工艺
- 教育法律法规试题及答案