A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx

上传人:b****6 文档编号:7732255 上传时间:2023-01-26 格式:DOCX 页数:14 大小:68.62KB
下载 相关 举报
A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx_第1页
第1页 / 共14页
A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx_第2页
第2页 / 共14页
A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx_第3页
第3页 / 共14页
A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx_第4页
第4页 / 共14页
A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx

《A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx》由会员分享,可在线阅读,更多相关《A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx(14页珍藏版)》请在冰豆网上搜索。

A律PCM编码系统研究设计与仿真通信原理课程研究设计报告.docx

A律PCM编码系统研究设计与仿真通信原理课程研究设计报告

封面

作者:

PanHongliang

仅供个人学习

通信原理课程设计报告

题目:

A律PCM编码系统设计与仿真

姓名:

学院:

专业:

指导教师:

完成日期:

2012年1月7日

专业课程设计任务书

指导单位:

自动化工程学院

指导教师:

专业和班级:

学生姓名:

设计题目:

A律PCM编码系统设计与仿真

主要技术指标:

1.输入信号:

s(t)=Asin(2πft+θ)。

2.输入信号幅值:

A=-70~0dB。

3.输入信号频率:

f=4Hz。

4.抽样频率:

fs=100Hz。

要求完成工程:

1.了解A律13折线近似与PCM编解码原理;

2.画出信号原始波形和PCM编码、译码后的波形;

3.画出不同幅度A下,PCM译码后的量化信噪比;

4.与均匀量化的线性编码比较分析;

要求完成时间:

2012年1月9日

目录

目录2

摘要3

第一章基本原理4

1.1脉冲编码调制(PCM):

4

1.2A律PCM编码规则:

4

1.2.1A律压缩律原理:

4

1.2.213折线近似的原理4

1.2.3PCM编码规则5

第二章系统设计7

2.1.实验意义7

2.2.课程设计要求7

2.3总体系统设计框图7

第三章程序块流程设计与检验8

3.1A律PCM编码模块8

3.1.1A律PCM编码规则:

8

3.1.2PCM编码流程8

3.2.A律PCM译码模块9

3.3.均匀量化编码模块10

第四章程序测试11

4.1连接全程序11

4.2图形显示和噪声性能比较11

第五章总结13

5.1心得体会13

5.2意见和建议13

附录:

14

参考文献14

摘要

数字脉冲编码调制(PCM)是目前模拟信号数字化的基本方法,将时间离散的抽样值序列经量化、编码变换为二进制数字序列。

量化是对抽样值的取值离散,根据量化间隔的不同选取分为均匀量化和非均匀量化,非均匀量化可以有效地改善信号的量化信噪比。

语音信号的量化常采用ITU建议的对数特性的A律(中国和欧洲)和μ律(北美和日本)压缩的非均匀量化,为了便于采用数字电路实现量化,通常采用13折线和15折线近似代替A律和μ律。

第一章基本原理

1.1脉冲编码调制(PCM):

脉冲编码调制(PulseCodeModulation),是对信号进行抽样和量化时,将所得的量化值序列进行编码,变换为数字信号的调制过程。

它主要经过3个过程:

抽样、量化和编码。

抽样过程将连续时间模拟信号变为离散时间、连续幅度的抽样信号,量化过程将抽样信号变为离散时间、离散幅度的数字信号,编码过程将量化后的信号编码成为一个二进制码组输出。

1.2A律PCM编码规则:

1.2.1A律压缩律原理:

理想对数压缩:

需对的小信号段进行修正

图1.对数压缩特性曲线

A律修正思想:

(1).过原点做的切线,切点b。

(2).切线ob段+曲线bc——A律压缩曲线。

A压缩律是指符合下式的对数压缩规律:

式中,x为压缩器归一化输入电压;y为压缩器归一化输出电压;A为常数,决定压缩程度。

A压缩律中的常数A不同,则压缩曲线的形状也不同,它将特别影响小电压时的信号量噪比的大小,在实用中,选择A等于87.6。

1.2.213折线近似的原理

A律压缩表示式是一条连续的平滑曲线,用电子线路很难准确的实现。

现在由于数字电路技术的发展,这种特性很容易用数字电路来近似实现,13折线特性就是近似于A压缩律的特性,其曲线见图2.

图2.13折线压缩特性曲线

图中横坐标x在0~1区间中分为不均匀的8段。

~1间的线段称为第8段;~间的线段称为第7段;~间的线段称为第6段;依此类推,直到0~间的线段称为第1段。

图中纵坐标y则均匀的划分为8段。

将这8段相应的坐标点(x,y)相连,就得到了一条折线。

1.2.3PCM编码规则

输入信号x进行A律压缩,取A=87.6.采用13折线近似,在第一象限,输出x端点对应:

x=(),图形表示如图1.

在13折线法中采用的折叠码有8位。

其中第一位C1表示量化值的极性正负。

后面的7位分为段落码和段内码两部分,用于表示量化值的绝对值。

其中第2~4位(C2~C4)是段落码,共计3位,可以表示8种斜率的段落;其他4位(C5~C8)为段内码,可以表示每一段落内的16种量化电平。

段内码代表的16个量化电平是均匀划分的。

所以,这7位码总共能表示128种量化值。

图3.A律曲线与13折线近似

第二章系统设计

2.1.实验意义

本课程设计试图通过亲自完成均匀量化和非均匀量化的编码、译码的整体设计,加深对PCM编码的原理的理解,提高系统编程、系统测试以及系统分析的能力。

2.2.课程设计要求

(1).根据技术指标,理解PCM脉冲编码的原理;

(2).根据技术指标,实现各模块的程序代码;

(3).连接各模块,运行出系统中的抽样信号和量化信号;

(4).测试分析均匀量化和非均匀量化的噪声性能;

(5).对测试结果进行分析讨论;

2.3总体系统设计框图

图4.A律PCM编解码的系统框图

第三章程序块流程设计与检验

3.1A律PCM编码模块

3.1.1A律PCM编码规则:

在13折线法中采用的折叠码有8位。

其中第一位C1表示量化值的极性正负。

后面的7位分为段落码和段内码两部分,用于表示量化值的绝对值。

其中第2~4位(C2~C4)是段落码,共计3位,可以表示8种斜率的段落;其他4位(C5~C8)为段内码,可以表示每一段落内的16种量化电平。

段内码代表的16个量化电平是均匀划分的。

所以,这7位码总共能表示128种量化值。

输入信号x后,极性码C1的判断方法是:

x<0,C1=0。

x>0,C1=1;段落码C2、C3、C4的判断方法是:

;段内码C5、C6、C7、C8的判断方法是:

,要注意x各段量化间隔不等。

图5.段落码和段内码的编码规则

3.1.2PCM编码流程

输入信号x后,先判断x的符号,x>0时C1=1,x<0时C1=0;判断完符号后将信号进行归一化和量化,再进行段落判断以及段内判断,最后将C1~C8输出。

流程图如下

3.2.A律PCM译码模块

对已经编码的信号进行译码时,先输入已经编码的码组,根据极性码的规则提取符号,判断符号位,接着再判断段落位置和段内位置,最后将译码后的结果输出,其译码流程图如下:

3.3.均匀量化编码模块

在均匀量化时,设模拟抽样信号的取值范围为a~b,量化电平数是M,则在均匀量化时的量化间隔是:

在编程时首先将抽样信号归一化:

amax=max(abs(a))。

a_quan=a/amax。

b_quan=a_quan。

然后对归一化的输入信号序列进行量化:

fori=1:

n

index=find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2))。

a_quan(index)=q(i).*ones(1,length(index))。

b_quan(find(a_quan==q(i)))=(i-1).*ones(1,length(find(a_quan==q(i))))

end

a_quan=a_quan*amax。

nu=ceil(log2(n))。

code=zeros(length(a),nu)。

fori=1:

length(a)

forj=nu:

-1:

0

if(fix(b_quan(i)/(2^j))==1)

code(i,nu-j)=1。

b_quan(i)=b_quan(i)-2^j。

end

end

end

最后还要计算出均匀量化信噪比:

sqnr=20*log10(norm(a)./norm(a-a_quan))。

第四章程序测试

4.1连接全程序

5.首先对输入的信号进行参数设定:

抽样频率fs=40,dt=1/fs,t=0:

dt:

2,输入的正弦信号幅度不同,vm1=-70:

5:

0,这是以分贝为单位的,要将他转换为以伏特为单位的vm=10.^(vm1/20);

6.开始画图调用各个模块的函数:

PCM均匀量化编码[sqnrM,zxx,zz]=upcm(x,M),PCM编码y=pcm_encode(sxx),PCM解码yy=pcm_decode(y,v)。

7.还要计算噪声平均功率与信号平均功率来得到信号的量化信噪比:

nq(m)=sum((x-yy).*(x-yy))/length(x)。

sq(m)=mean(yy.^2)。

snr(m)=(sq(m)/nq(m))。

8.最后将原始信号波形,PCM译码后的波形,不同幅度下PCM编码后的量化信噪比以及均匀量化的量化信噪比画出来。

4.2图形显示和噪声性能比较

在matlab上运行主函数pcm_e_decode.m,可得到原始信号波形,PCM译码后的波形,不同幅度下PCM编码后的量化信噪比以及均匀量化的量化信噪比的波形

图6.原始抽样信号(上)和PCM译码后的重建信号(下)

原始抽样信号与PCM译码后的信号都是正弦波,可以看出经过PCM译码后的重建信号与原始信号相比没有失真,译码正确。

图7.A律PCM编码与均匀量化编码的量化信噪比的比较

从上图可以看出:

(1)对均匀编码和非均匀编码,量化信噪比随着输入信号幅度的变化而变化;

(2)在输入正弦信号幅度相同的情况下,经过A律13折线近似的PCM非均匀量化编码后的信号量化信噪比要比均匀量化编码后的信噪比小,因此,可以得出结论:

非均匀量化可以有效地改善量化信噪比。

第五章总结

5.1心得体会

做这个课程实际开始的时候,由于之前学的这部分内容不太记得了,有点无从下手的。

重新看课本和给出的实验原理,学习了一下相关理论知识。

由于之前学过相关的内容,再次温习花的时间也不会太多。

这个课程设计从开始做到完成,虽然总共花的时间并不算长,但是让我明白了无论是这次的通信原理课程设计还是其他工程或是毕业设计,乃至今后的实习和工作中,都是一个温故而知新的过程,技术的更新是非常迅速的,但是理论基础是根本,是必不可少的,只有学好基础知识才有可能谈其他创新和发展。

另外在课程设计的过程中也会遇到很多困难。

首先,此次设计用的设计软件是MATLAB,由于软件编程一直是我的薄弱项,所以开始就有畏难的情绪。

但是通过仔细阅读老师给出的参考程序片段,上网搜索已有的程序案例,读懂相关的程序功能,并根据实际需求作出适当修改,就能符合设计要求。

其次,在程序运行的过程中也会由于子程序引用时的格式错误,使得不能编译通过,通过重新了解相关格式,仔细检查程序和向其他同学请教等方式,发现程序中的错误。

因此,很多事情不是因为难以做到,我们才失去信心;相反,是因为我们失去信心,事情才显得困难,所以克服畏难情绪,静下心来,通过努力,很多看起来困难的事情其实并不难。

总体而言,这次课程设计使我受益匪浅,让我更加深入的了解了PCM脉冲编码调制的原理,进一步学会MATLAB编程,对以后的学习和工作起到了一定的作用。

5.2意见和建议

此次课程设计主要是学习A律PCM编码的相关原理,通过MATLAB软件编程观察相关波形并进行分析比较,在条件允许的情况下还可以再进行仿真,并与硬件结合,观察实际性能。

这样更能综合软硬件知识,提高实际动手能力。

附录:

参考文献

[1]《通信原理教程》樊昌信等电子工业出版社2009年.

[2]《精通Matlab6.5版》张志涌等北京航空航天大学出版社2005年.

[3]《通信原理—基于Matlab的计算机仿真》郭文彬等北京邮电大学出版社2006年.

[4]《通信系统建模与仿真》韦岗等电子工业出版社2007年.

附录完整程序代码:

均匀量化编码:

function[sqnr,a_quan,code]=upcm(a,n)

amax=max(abs(a))。

a_quan=a/amax。

%抽样值归一化

b_quan=a_quan。

d=2/n。

q=d.*[0:

n-1]-(n-1)/2*d。

%对归一化的输入信号序列进行量化

fori=1:

n

index=find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2))。

a_quan(index)=q(i).*ones(1,length(index))。

b_quan(find(a_quan==q(i)))=(i-1).*ones(1,length(find(a_quan==q(i))))

end

a_quan=a_quan*amax。

nu=ceil(log2(n))。

code=zeros(length(a),nu)。

fori=1:

length(a)

forj=nu:

-1:

0

if(fix(b_quan(i)/(2^j))==1)

code(i,nu-j)=1。

b_quan(i)=b_quan(i)-2^j。

end

end

end

sqnr=20*log10(norm(a)./norm(a-a_quan))。

PCM编码:

function[out]=pcm_encode(x)

fori=1:

n

ifx(i)>0

out(i,1)=1。

else

out(i,1)=0

end

ifabs(x(i))>0&abs(x(i))<32

out(i,2)=0。

out(i,3)=0。

out(i,4)=0。

step=2。

st=0。

elseifabs(x(i))>=32&abs(x(i))<64

out(i,2)=0。

out(i,3)=0。

out(i,4)=1。

step=2。

st=32。

elseifabs(x(i))>=64&abs(x(i))<128

out(i,2)=0。

out(i,3)=1。

out(i,4)=0。

step=4。

st=64。

elseifabs(x(i))>=128&abs(x(i))<256

out(i,2)=0。

out(i,3)=1。

out(i,4)=1。

step=8。

st=128。

elseifabs(x(i))>=256&abs(x(i))<512

out(i,2)=1。

out(i,3)=0。

out(i,4)=0。

step=16。

st=256。

elseifabs(x(i))>=512&abs(x(i))<1024

out(i,2)=1。

out(i,3)=0。

out(i,4)=1。

step=32。

st=512。

elseifabs(x(i))>=1024&abs(x(i))<2048

out(i,2)=1。

out(i,3)=1。

out(i,4)=0。

step=64。

st=1024。

elseifabs(x(i))>=2048&abs(x(i))<4096

out(i,2)=1。

out(i,3)=1。

out(i,4)=1。

step=128。

st=2048。

else

out(i,2)=1,out(i,3)=1。

out(i,4)=1。

step=128。

st=2048。

end

if(abs(x(i))>=4096)

out(i,2:

8)=[1111111]。

else

tmp=floor((abs(x(i))-st)/step)。

t=dec2bin(tmp,4)-48。

%函数dec2bin输出的是ASCII字符串,48对应0

out(i,5:

8)=t(1:

4)。

end

end

out=reshape(out',1,8*n)。

PCM译码:

function[out]=pcm_decode(in,v)

%decodetheinputpcmcode

%in,inputthepcmcode8bitssample

%v,quantizedlevel

n=length(in)。

in=reshape(in',8,n/8)。

slot

(1)=0。

slot

(2)=32。

slot(3)=64。

slot(4)=128。

slot(5)=256。

slot(6)=512。

slot(7)=1024。

slot(8)=2048。

step

(1)=2。

step

(2)=2。

step(3)=4。

step(4)=8。

step(5)=16。

step(6)=32。

step(7)=64。

step(8)=128。

fori=1:

n/8

ss=2*in(1,i)-1。

tmp=in(2,i)*4+in(3,i)*2+in(4,i)+1。

st=slot(tmp)。

dt=(in(5,i)*8+in(6,i)*4+in(7,i)*2+in(8,i))*step(tmp)+0.5*step(tmp)。

out(i)=ss*(st+dt)/4096*v。

end

主程序中:

figure

(1)

fork=1:

length(vm)

form=1:

2

x=vm(k)*sin(2*pi*4*t+2*pi*rand

(1))。

[sqnrM,zxx,zz]=upcm(x,M)。

%PCM均匀量化编码

srm(m)=sqnrM。

v=vm(k)。

xx=x/v。

%normalize

sxx=floor(xx*4096)。

y=pcm_encode(sxx)。

%PCM编码

yy=pcm_decode(y,v)。

%PCM解码

nq(m)=sum((x-yy).*(x-yy))/length(x)。

%噪声平均功率

sq(m)=mean(yy.^2)。

%信号平均功率

snr(m)=(sq(m)/nq(m))。

%信号量化信噪比

usnrq(k)=mean(srm)。

snrq(k)=10*log10(mean(snr))。

%量化信噪比

end

版权申明

本文部分内容,包括文字、图片、以及设计等在网上搜集整理。

版权为潘宏亮个人所有

Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'spersonalownership.

用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。

除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。

Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.

转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。

Reproductionorquotationofthecontentofthisarticlemustbereasonableandgood-faithcitationfortheuseofnewsorinformativepublicfreeinformation.Itshallnotmisinterpretormodifytheoriginalintentionofthecontentofthisarticle,andshallbearlegalliabilitysuchascopyright.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1