模拟信号地数字化及编码仿真安建学7000.docx

上传人:b****8 文档编号:9749171 上传时间:2023-02-06 格式:DOCX 页数:17 大小:104.05KB
下载 相关 举报
模拟信号地数字化及编码仿真安建学7000.docx_第1页
第1页 / 共17页
模拟信号地数字化及编码仿真安建学7000.docx_第2页
第2页 / 共17页
模拟信号地数字化及编码仿真安建学7000.docx_第3页
第3页 / 共17页
模拟信号地数字化及编码仿真安建学7000.docx_第4页
第4页 / 共17页
模拟信号地数字化及编码仿真安建学7000.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

模拟信号地数字化及编码仿真安建学7000.docx

《模拟信号地数字化及编码仿真安建学7000.docx》由会员分享,可在线阅读,更多相关《模拟信号地数字化及编码仿真安建学7000.docx(17页珍藏版)》请在冰豆网上搜索。

模拟信号地数字化及编码仿真安建学7000.docx

模拟信号地数字化及编码仿真安建学7000

通信原理课程设计报告书

 

课题名称

模拟信号的数字化及编码仿真——PCM系统仿真

姓名

学号

院、系、部

电气工程系

专业

电子信息工程

指导教师

 

2014年6月22日

模拟信号的数字化及编码仿真——PCM系统仿真

一、设计目的

熟练掌握PCM编译码原理,理解模拟信号抽样、量化和基于13折线的PCM编码过程。

二、设计要求

用MATLAB编码实现模拟信号抽样、量化、编码的过程,画出PCM编码和未编码波形。

如:

设输入信号为

,对x(t)信号进行抽样、量化和PCM编码和译码,画出经过PCM编码与未编码波形。

三、设计原理

通信系统的信源有两大类:

模拟信号和数字信号。

若输入是模拟信号,则在数字通信系统的信源编码部分需对输入模拟信号进行数字化,或称为“摸/数”变换,将模拟输入信号变为数字信号。

数字化过程包括三个步骤:

抽样、量化和编码。

模拟信号首先被抽样。

通常抽样是按照等时间间隔进行的,虽然在理论上不是必须如此。

模拟信号被抽样后,成为抽样信号,它在时间上是离散的,但是其取值仍然是连续的,所以是离散模拟信号。

第二步是量化。

量化的结果使抽样信号变成量化信号,其取值是离散的。

故量化信号已经是数字信号,它可以看成多进制的数字脉冲信号。

第三步是编码。

最基本和最常用的编码方法是,脉冲编码调制(PulseCodeModulating,PCM),它将量化后的信号变成二进制码元。

由于编码方法直接和系统的传输效率有关,为了提高传输效率,常常将这种PCM信号进一步做压缩编码,再在通信系统中传输。

接收端接收到信号后再对其进行译码,还原出原信号。

译码就是把编码后的码流在通过信道传输后得到的码流译成离散时间连续幅度的信号。

图3-1PCM系统原理图

1.抽样:

将模拟信号转换为时间离散的样本脉冲序列。

模拟信号被抽样后,成为抽样信号,它在时间上是离散的,但是其取值仍然是连续的,所以是离散模拟信号。

2.量化:

将离散时间连续幅度的抽样信号转换成为离散时间离散幅度的数字信号。

国际上通用的两种对数压缩特性:

A律和µ律。

本次设计采用的是A律13折线。

A律13折线的原理

归一化信号(x/V),过载电压为±1,A律对数

(3.6)

其中A为压缩系数,国际标准A=87.6。

13折线如图3-2所示:

图3-2为13折线特性

表3-113折线时的

值与计算

值的比较。

0

1

0

1

按折线

分段时的

0

1

段落

1

2

3

4

5

6

7

8

斜率

16

16

8

4

2

1

表3-1中第二行的

值是根据

时计算得到的,第三行的

值是13折线分段时的值。

可见,13折线各段落的分界点与

曲线十分逼近,同时

按2的幂次分割有利于数字化

图中只有正幅度部分,共7折线,负幅度部分也有7折线。

但正负部分第一段折线斜率相等,为同一折线,共13折线。

3.编码

所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。

在现有的编码方法中,最基本和最常用的编码方法是,脉冲编码调制(PulseCodeModulating,PCM),它将量化后的信号变成二进制码元。

编码器的种类大体上可以归结为三类:

逐次比较型、折叠级联型、混合型。

在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。

下面结合13折线的量化来加以说明。

在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。

若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。

具体的做法是:

用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。

其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。

这样处理的结果,8个段落被划分成27=128个量化级。

段落码和8个段落之间的关系如表3-2所示;段内码与16个量化级之间的关系见表3-3。

表3-2段落码表3-3段内码

段落序号

段落码

量化级

段内码

8

111

15

1111

14

1110

7

110

13

1101

12

1100

6

101

11

1011

10

1010

5

100

9

1001

8

1000

4

011

7

0111

6

0110

3

010

5

0101

4

0100

2

001

3

0011

2

0010

1

000

1

0001

0

0000

四、程序设计

1.PCM抽样的MATLAB实现

PCM抽样的MATLAB程序设计按如下步骤进行:

(1)确定输入的模拟信号为

(2)根据输入的模拟信号,确定抽样频率,对输入信号进行抽样;

(3)编写程序,画出频域图形。

functionsample()

t0=100;%定义时间长度

ts=0.001;fs=1/ts;

t=[-t0/2:

ts:

t0/2];%定义时间序列

df=0.5;%定义频率分辨率

x=sin(2*pi*t);

m=x;

w=t0/(2*ts)+1;%确定t=0的点

m(w)=1;%修正t=0点的信号值

[M,mn,dfy]=fft_seq(m,ts,df);%傅立叶变换

M=M/fs;

f=[0:

dfy:

dfy*length(mn)-dfy]-fs/2;%定义频率序列

figure

(1)

subplot(2,1,1);

plot(t,m);

xlabel('时间');ylabel('幅值');title('原始信号的波形');

axis([0,7,-1,1]);

subplot(2,1,2);

plot(f,abs(fftshift(M)));

xlabel('频率');ylabel('幅值');

axis([-100,100,0,10]);title('原始信号的频谱');

t0=100;%信号持续的时间

ts1=0.05;%满足抽样条件的抽样间隔

fs1=1/ts1;

t1=[-t0/2:

ts1:

t0/2];%定义满足抽样条件的时间序列

x1=sin(2*pi*t1);

m1=x1;

w1=t0/(2*ts1)+1;

m1(w1)=1;%修正t=0时的信号值

[M1,mn1,df1]=fft_seq(m1,ts1,df);%对满抽样条件的信号进行傅立叶变换

M1=M1/fs1;

N1=[M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1];

f1=[-7*df1*length(mn1):

df1:

6*df1*length(mn1)-df1]-fs1/2;

figure

(2)

subplot(2,1,1);

stem(t1,m1);

xlabel('时间');ylabel('幅值');

title('抽样的信号波形');axis([0,7,-1.5,1.5]);

subplot(2,1,2)

plot(f1,abs(fftshift(N1)));

xlabel('频率');ylabel('幅值');

axis([-100,100,0,10]);title('抽样的信号频谱');

function[M,m,df]=fft_seq(m,ts,df)

fs=1/ts;

ifnargin==2

n1=0

else

n1=fs/df

end

n2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2)));

M=fft(m,n);m=[m,zeros(1,n-n2)];df=fs/n

2.PCM译码MATLAB实现

(1)产生一个正弦信号对其进行非均匀量化编码;

(2)对正弦信号给出PCM码组进行译码。

%PCM编码与译码

%给定正弦信号

clear;

t=0:

1/1000:

1;%给定10个单位的时间

x=0:

0.002*pi:

2*pi;

Signal_m=8*sin(x);%给一个正弦信号,信号输入范围为[-8,8]

figure

(1)

subplot(2,1,1);

plot(t,Signal_m);

title('输入正弦信号');

axis([0,1,-10,10]);

grid;

%PCM编码

%随机的产生抽样值,给出PCM码组

Is=round(2048*(Signal_m/10));%归一化

Len=length(Is);

Code=zeros(Len,8);

%极性码

fori=1:

Len

if(Is(i)>0)

Code(i,1)=1;

end

end

%段落码

Signal=abs(Is);

fori=1:

Len

if(Signal(i)>=128)

Code(i,2)=1;%为1在5~8段,否则在1~4段

end

if(Code(i,2)==1)%确在5~8段

if(Signal(i)>=512)

Code(i,3)=1;%为1在7~8段,否则在5~6段

end

if(Code(i,3)==1)%确在7~8段

if(Signal(i)>=1024)

Code(i,4)=1;%为1在第8段,否则在第7段

end

else

if(Signal(i)>=256)

Code(i,4)=1;

end

end

else%确在1~4段

if(Signal(i)>=32)

Code(i,3)=1;%为1在3~4段,否则在1~2段

end;

if(Code(i,3)==1)%确在3~4段

if(Signal(i)>=64)

Code(i,4)=1;%为1在第4段,否则在第3段

end

else

if(Signal(i)>=16)

Code(i,4)=1;

end

end

end

end

%段内码

QidianDianping=[0,16,32,64,128,256,512,1024,2048];%段落起点电平

LianghuaJiange=[1,1,2,4,8,16,32,64];%段落量化间隔

DuanluoN=zeros(1,Len);

fori=1:

Len

DuanluoN(i)=bin2dec(num2str(Code(i,2:

4)))+1;

end

fori=1:

Len

temp=num2str(dec2bin((Signal(i)-QidianDianping(DuanluoN(i)))/LianghuaJiange(DuanluoN(i)),4));

Code(i,5)=bin2dec(temp

(1));

Code(i,6)=bin2dec(temp

(2));

Code(i,7)=bin2dec(temp(3));

Code(i,8)=bin2dec(temp(4));

Code;

end%PCM译码

LianghuaDanweiN=zeros(1,Len);

Lianghuazhi=zeros(1,Len);

Mark=zeros(1,Len);

Signal_trans=zeros(1,Len);

fori=1:

Len

DuanluoN(i)=bin2dec(num2str(Code(i,2:

4)))+1;

LianghuaDanweiN(i)=bin2dec(num2str(Code(i,5:

8)));

Mark(i)=QidianDianping(DuanluoN(i));

Lianghuazhi(i)=LianghuaJiange(DuanluoN(i));

sign=1;

if(Code(i,1)==0)

sign=-1;

end

Signal_trans(i)=sign*(Mark(i)+Lianghuazhi(i)*LianghuaDanweiN(i));

end

fori=1:

Len

Signal_trans(i)=10*(Signal_trans(i)/2048);

end

figure

(1)

subplot(2,1,2);

plot(t,Signal_trans);

title('编码再译码后的正弦信号');

grid;

五、仿真结果及分析

原始信号的波形如图5-1所示:

图5-1原始信号的波形

以抽样间隔为0.05抽样的信号波形如图5-2所示:

图5-2抽样信号波形

图5-1与5-2分别为连续模拟信号

的原始信号和抽样后的信号,可以看出,抽样频率越高,抽样后的信号越接近原信号,但同时这也会占用大量的系统资源。

原始信号的频谱如图5-3所示:

图5-3原始信号的频谱

抽样的信号频谱如图5-4所示:

图5-4抽样信号频谱

从原始信号和抽样信号的频谱图5-3与5-4可以知道,信号在时域的离散化导致其在频域的周期化。

抽样信号的频谱是无数间隔频率为20Hz(即抽样频率)的原信号频谱相叠加而成,由于抽样信号的频率20Hz远大于原始信号的频率2Hz,所以抽样信号的频谱没有发生频谱混叠。

对连续信号

的进行抽样后得到的一组抽样值如图5-5所示:

图5-5对连续信号

的进行抽样后得到的一组抽样值

信号

抽样所得的抽样值的量化结果如图5-6所示:

图5-6信号

抽样所得的抽样值的量化结果

对量化信号的非均匀量化编码输出如图5-7所示:

图5-7对量化信号的非均匀量化编码输出

信号

的PCM码组的译码输出如图5-8所示:

图5-8信号

的PCM码组的译码输出

由图5-5,图5-6,图5-7,图5-8分别为连续信号

在某一个时间段的其抽样、量化、编码、译码的结果。

显然,量化输出电平与量化前的抽样值存在误差。

这是因为在量化的过程中,将抽样值划分成若干个区间,处在同个区间内数值不同的抽样值用一个量化电平表示,这种一对多的表示方法不可避免地会产生误差,即量化误差。

量化误差不能消除但能减弱。

输入正弦信号

如图5-9所示:

图5-9信源

的原始信号波形

编码再译码后的正弦信号如图5-10所示:

图5-10原信号经过编码后再译码的输出波形

由图5-9和图5-10可看出图中原信号和译码后的信号形状几乎一样,但也有一些细微的区别,经编码译码后的信号没有原模拟信号的波形光滑,这些误差就是量化误差。

量化是用有限个值代替了无限个值,显然有限个值无法完全准确表示无限个值,量化值和其所代表的样值之差即为量化误差,量化误差可以通过增加量化级数,即减小量化级长的方法来减弱,但无法完全消除。

六、设计总结

PCM是模拟信号数字化的基本方法,PCM的抽样速率Fs是根据抽样定理来确定的,即若信号的最高频率为Fm,则Fs≥2Fm。

模拟信号的数字化过程包括三个步骤:

抽样、量化和编码。

模拟信号转换为数字信号的过程中,信号首先被抽样。

抽样后,信号转换成为抽样信号,在时间上是离散的,但其取值是连续的,所以是离散模拟信号。

然后对离散模拟信号进行量化。

量化的结果使抽样信号变成量化信号,其取值是离散的,即为数字信号,它可以看成多进制的数字脉冲信号。

第三步是编码。

最基本和最常用的编码方法是脉冲编码调制(PulseCodeModulating,PCM),它将量化后的信号变成二进制码元。

最后是译码,得到与原信号基本一致的信号。

这次的通信原理课程设计是进行PCM系统仿真,通过本次的课程设计我了解了PCM编码的工作原理及其过程,并且学会了使用MATLAB编写程序来对PCM系统进行仿真。

这对我以后的学习有很大的促进。

总体来说,这次课程设计我受益匪浅,培养了我的设计思维,增加了实际操作能力,提升了我的动手能力和学业技能。

七、参考文献

[1]樊昌信,曹丽娜.通信原理.北京:

国防工业出版社,2007.

[2]樊昌信,宫锦文,刘忠诚.通信原理及系统实验.北京:

电子工业出版社,2008.

[3]陈怀琛.数字信号处理教程——MATLAB释义与实现.北京:

电子工业出版社,2008.

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

当前位置:首页 > 求职职场 > 简历

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

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