文档库 最新最全的文档下载
当前位置:文档库 › 通信系统课群综合训练与设计

通信系统课群综合训练与设计

课程设计任务书

学生姓名:_______________专业班级:_________________

指导教师:_______________工作单位:_________________

题目:通信系统课群综合训练与设计

课程设计目的:

通过课程设计,使学生加强对电子电路的理解,学会对电路分析计算以及设计。进一步提高分析解决实际问题的能力,通过完成综合设计型和创新性实验及训练,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决电子电路问题的实际本领,实现由课本知识向实际能力的转化;加深对通信原理的理解,提高学生对现代通信系统的全面认识,增强学生的实践能力。

课程设计内容和要求

要求:掌握以下各种通信技术的基本原理,掌握实验的设计、电路调试与测量的方法。培养学生根据需要选学参考书,查阅手册,图表和文献资料的自学能力,通过独立思考﹑深入钻研有关问题,学会自己分析解决问题的方法。

设计内容:

模拟信源(模拟话音)数字化方式基带码信道码调制方式信道解调

信道

解码基带

解码

数模

转换

自己构造一时间函数增量调制AMI码汉明码ASK AWGN

与发送端对应时间安排

1 根据设计任务,分析电路原理,确定实验方案2天

2 根据实验条件进行电路的测试,并对结果进行分析7天

3 撰写课程设计报告1天

指导教师签名:

年月日系主任(或责任教师)签名:

年月日

目录

1 原理分析与方案论证 (1)

1.1 通信系统架构 (1)

1.2 信源调制-DM调制 (2)

1.3 基带码——AMI码 (2)

1.3.1 AMI码编码规则 (2)

1.3.2 AMI解调原理 (2)

1.4 信道码——汉明码 (3)

1.5 噪声信道——AWGN (4)

2 各模块的MATLAB实现 (5)

2.1 信号源的实现 (5)

2.2 信源编码——DM增量调制 (5)

2.2.1 DM编码简介 (5)

2.2.2 DM编码的实现 (6)

2.3 基带编码——AMI编码 (6)

2.4 信道编码——汉明码编码 (7)

2.4.1 汉明码编码分析 (7)

2.4.2 汉明码的MATLAB实现 (8)

2.5 ASK调制 (9)

2.5.1 ASK调制原理 (9)

2.5.2 ASK调制的MATLAB实现 (10)

2.6 信道噪声——AWGN (11)

2.7 ASK解调 (12)

2.8 汉明码解码 (14)

2.8.1 汉明码校验 (14)

2.8.2 汉明码译码程序 (15)

2.9 AMI译码 (16)

2.10 .DM译码 (16)

2.11 误码率的计算 (17)

3 仿真结果分析 (18)

3.1 源信号与接收信号波形对比 (18)

3.2 误码率统计 (19)

4 心得体会 (19)

5 参考文献 (21)

6 附录 (22)

本科生课程设计成绩评定表 (27)

摘要

通信是通过某种媒体进行的信息传递,目的是传输信息,通信系统是用以完成信息传输过程的技术系统的总称,作用是将信息从信源发送到一个或多个目的地。调制与解调在信息的传输过程中占据着重要的地位,是不可或缺的,因此研究系统的调制和解调过程就极为重要。MATLAB是集数值计算、图形绘制、图像处理及系统仿真等强大功能于一体的科学计算语言,它强大的矩阵运算和图形可视化的功能以及丰富的工具箱,为通信系统的调制和解调过程的分析提供了极大的方便。

调制在通信系统中有十分重要的作用。通过调制,不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于传播的已调信号,而且它对系统的传输有效性和传输的可靠性有着很大的影响,调制方式往往决定了一个通信系统的性能。MATLAB软件广泛用于数字信号分析,系统识别,时序分析与建模,神经网络、动态仿真等方面有着广泛的应用。本课题利用MATLAB软件完成模拟信号进行DM编码、AMI编码、汉明码、ASK调制、经过AWGN信道,再解调、译码的完整通信系统仿真,并通过统计误码率和对比前后波形,对这个通信系统进行评估。

关键字:MATLAB,编码,调制,解调,译码,通信系统

Abstract

Communication is through some of the information transmission media, the purpose is to transmit information, communication system is used to complete the process of information transmission technology system body, the function is the information from the source sent to one or more of the destination. Modulation and demodulation in information transmission process plays an important role, is indispensable, so the system of modulation and demodulation process is extremely important. MATLAB is set numerical calculation, graphics, image processing and system simulation and powerful function in the integration of scientific computing language, its powerful matrix operation and graphics visual function and rich toolbox, as the communication system of the modulation and demodulation process analysis provides a great convenience.

Modulation in a communication system has a very important role. Through the modulation, can not only move the modulation signal spectrum, and the spectrum of the move to want the position, and the modulation signal into suitable for transmission of the modulated signal, and it to the system transmission efficiency and the reliability of the transmission often determines a communication system performance. MATLAB software is widely used in digital signal analysis, system identification, time series analysis and modeling, neural networks, dynamic simulation for such applications. This topic using MATLAB software simulation signal PCM coding, Manchester coding, hamming code and ASK modulation, through AWGN channel, and demodulation, decoding the integrity of the communication system simulation,.

Key words:MATLAB,Coding, modulation and demodulation, decoding, communication system

1 原理分析与方案论证

1.1 通信系统架构

通信的目的是传输信息。通信系统的作用就是将信息从信息源发送到一个或多个目的地。对于任何一个通信系统,均可视为由发送端、信道和接收端三大部分组成(如图1-1所示)。

图1-1 通信系统一般模型

1、信息源:把原始信息变换成原始电信号。

2、信源编码:

①实现模拟信号的数字化传输即完成A/D 变化。

②提高信号传输的有效性。即在保证一定传输质量的情况下,用尽可能少的数字脉冲来表示信源产生的信息。信源编码也称作频带压缩编码或数据压缩编码。

3、信道编码:

①信源编码的目的: 信道编码主要解决数字通信的可靠性问题。 ②信道编码的原理:对传输的信息码元按一定的规则加入一些冗余码(监督码),形成新的码字,接收端按照约定好的规律进行检错甚至纠错。 ③信道编码又称为差错控制编码、抗干扰编码、纠错编码 。

4、数字调制

①数字调制技术的概念:把数字基带信号的频谱搬移到高频处,形成适合在信道中传输的频带信号。

②数字调制的主要作用:提高信号在信道上传输的效率,达到信号远距离传输的目的。

③基本的数字调制方式:振幅键控ASK 、频移键控FSK 、相移键控PSK 。 5、信道:

接收设备

发送设备 信息源 编码

信 道 信息源

噪声源

发送端 接收端 信道

调制

译码

解调

信道是信号传输媒介的总称,传输信道的类型有无线信道(如电缆、光纤)和有线信道(如自由空间)两种。

6、噪声源:

通信系统中各种设备以及信道中所固有的,为了分析方便,把噪声源视为各处噪声的集中表现而抽象加入到信道。

1.2 信源调制-DM调制

对模拟信号采样,并用每个样值与它的预测值的差值对周期脉冲序列进行调制,简称△M或DM。已调脉冲序列以脉冲的有、无来表征差值的正负号,也就是差值只编成一位二进制码。

增量调制的基本原理是于1946年提出的,它是一种最简单的差值脉冲编码。早期的语言增量调制编码器是由分立元件组成的。随着模拟集成电路技术的发展,70年代末出现了音节压扩增量调制集成单片,80年代出现了瞬时压扩集成单片,单片内包括了开关电容滤波器与开关电容积分器,集成度不断提高,使增量调制的编码器的体积减小,功耗降低。

1.3 基带码——AMI码

AMI(Alternative Mark Inversion)码的全称是信号交替反转码,是通信编码中的一种,为极性交替翻转码,1码通常称为传号,0码则叫空号,这是沿用了早期电报通信中的叫法。从形态上看,它已是三状态信号,所以AMI码是伪三进制码。

1.3.1 AMI码编码规则

消息代码中的0 传输码中的0

消息代码中的1 传输码中的+1、-1交替

例如:

消息代码:1 0 1 0 1 0 0 0 1 0 1 1 1

AMI码: +1 0 -1 0 +1 0 0 0 -1 0 +1 -1 +1

1.3.2 AMI解调原理

1 由AMI码确定的基带信号中正负脉冲交替,而0电位保持不变;所以由AMI码确定的基带信号无直流分量,且只有很小的低频分量;

2 不易提取定时信号,由于它可能出现长的连0串。

三、解码规则

从收到的符号序列中将所有的-1变换成+1后,就可以得到原消息代码

1.4 信道码——汉明码

汉明码Hamming code:用于数据传送,能检测所有一位和双位差错并纠正所有一位差错的二进制代码。与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前向纠错FEC。在数据链路中存在大量噪音时,FEC可以增加数据吞吐量。通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。但这种方法比简单重传协议的成本要高。汉明码利用奇偶块机制降低了前向纠错的成本。

现以数据码1101为例讲讲汉明码的编码原理,此时D8=1、D4=1、D2=0、D1=1,在P1编码时,先将D8、D4、D1的二进制码相加,结果为奇数3,汉明码对奇数结果编码为1,偶数结果为0(奇数位。若奇数结果编码为0.偶数结果为1,则叫偶数位),因此P1值为1,D8+D2+D1=2,为偶数,那么P2值为0,D4+D2+D1=2,为偶数,P3值为0。这样,参照上文的位置表,汉明码处理的结果就是1010101。在这个4位数据码的例子中,我们可以发现每个汉明码都是以三个数据码为基准进行编码的。

从编码形式上,我们可以发现汉明码是一个校验很严谨的编码方式。在这个例子中,通过对4个数据位的3个位的3次组合检测来达到具体码位的校验与修正目的(不过只允许一个位出错,两个出错就无法检查出来了,这从下面的纠错例子中就能体现出来)。在校验时则把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0)就是正确,如果为奇数(纠错代码为1)则说明当前汉明码所对应的三个数据位中有错误,此时再通过其他两个汉明码各自的运算来确定具体是哪个位出了问题。

还是刚才的1101的例子,正确的编码应该是1010101,如果第三个数据位在传输途中因干扰而变成了1,就成了1010111。检测时,P1+D8+D4+D1的结果是偶数4,第一位纠错代码为0,正确。P2+D8+D2+D1的结果是奇数3,第二位纠

错代码为1,有错误。P3+D4+D2+D1的结果是奇数3,第三位纠错代码为1,有错误。那么具体是哪个位有错误呢?三个纠错代码从高到低排列为二进制编码110,换算成十进制就是6,也就是说第6位数据错了,而数据第三位在汉明码编码后的位置正好是第6位。

针对4位数据的汉明码编码示意图

汉明码是一个在原有数据中插入若干校验码来进行错误检查和纠正的编码技术。以典型的4位数据编码为例,汉明码将加入3个校验码,从而使实际传输的数据位达到7个(位),它们的位置如果把上图中的位置横过来就是:

数据位

1234567

代码

P1 P2 D8 P3 D4D2 D1

说明

第1个汉明码

第2个汉明码

第1个数据码

第3个汉明码

第2个数据码

第3个数据码

第4个数据码

1.5 噪声信道——AWGN

加性高斯白噪声AWGN(Additive White Gaussian Noise) 是最基本的噪声与干扰模型。加性噪声:叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的。因此通常称它为加性噪声或者加性干扰。白噪声:噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。

2 各模块的MATLAB实现

2.1 信号源的实现

产生随机信源的方式很多,这里选择在周期远远大于选择域的正余弦组合信源。

%信源的产生

ts = 1e-3;

t = 0:ts:20*ts ;

x = sin( 2*pi*50*t )+0.5*sin( 2*pi*150*t );

figure(1)

subplot(211);plot( t, x, '-o' );axis( [0 20*ts, -2 2] );title('随机信源′');

图2-1 信号源时间函数波形

2.2 信源编码——DM增量调制

2.2.1 DM编码简介

增量调制DM 是继PCM之后推出的一种简单的模拟信号数字化方法,1946年由法国工厂是De Loraine提出,又称ΔM。DM可以看成是特殊的DPCM,在DPCM中当对预测误差进行移位二进制码时,就是DM系统。1bit编码输出对应的量化电平是+s或-s,分别表示误差的极性,是正还是负,当抽样频率足够高时,相邻的样值电平差很小,用1位码有可能表示相邻样值的变化规律。一般分为:一般量化和过载量化。过载量化时,信号变化速率大于阶梯波的最大斜率,产生较大的量化失真,所以应该避免。

2.2.2 DM编码的实现

设计思路是:设定一个差值e(k),表示两个样值之间的差,大于零则返1,反之返0,因为是正余弦组合函数,不存在单调为0的情况。

程序如下:

delta = 0.4;

D( 1+length(t) ) = 0;

for k=1:length(t)

e(k) = x(k) - D(k);

e_q(k) = delta * ( 2 * ( e(k) >= 0 ) -1 );

D( k+1 ) = e_q(k) + D(k);

codeout(k) = ( e_q(k)>0 );

图2-3 DM编码结果

2.3 基带编码——AMI编码

编写实现AMI编码子程序,即对DM编码后的信号进行处理,0保持不变,1

用+-1表示交替出现

%AMI编码

xn = codeout*1 ; yn = xn;

num = 0;

for k=1:length(yn)

if xn(k) == 1

num = num + 1;

if num/2 == fix(num/2) yn(k) = 1;

else

yn(k) = -1;

end

end

end

figure(2)

stairs( [ 0:length(yn)-1 ], yn );axis([ 0 length(yn),-2 2 ]);title('AMI 编码');

图2-4 AMI 编码

2.4 信道编码——汉明码编码 2.4.1 汉明码编码分析

现在以(7,4)分组码为例来说明汉明码的特点。 其主要参数如下:

码长:21m

n =-

信息位:21m

k m =--

校验位:m n k =-,且3m ≥ 最小距离:min 03d d ==

其生成矩阵G (前四位为信息位,后三位为冗余位)如下:

10001100100011????

?

?

(式2-1)

系统码可分为消息部分和冗余部分两部分,根据生成矩阵,输出码字可按下 式计算:

(式2-2) 所以有

信息位

冗余位

由以上关系可以得到(7,4)汉明码的全部码字如表2-2所示。

表2-2 (7,4)汉明码的全部码字

序号 信息码元 冗余元 序号 信息码元 冗余元 0 0000 000 8 1000 111 1 0001 011 9 1001 100 2 0010 101 10 1010 010 3 0011 110 11 1011 001 4 0100 110 12 1100 001 5 0101 101 13 1101 010 6 0110 011 14 1110 100 7

0111

000

15

1111

111

2.4.2 汉明码的MATLAB 实现

%汉明码编码

HanMing = encode( xn, 7, 4, 'hamming' ); figure(3)

stairs( [ 0 : 41 ], HanMing );axis([0 41, 0 1.5]);title('汉明码编码');

3210321010001100100011(,,,)(,,,)00101110001101b a a a a G a a a a ????

??=?=???????

63524130b a b a b a b a ====231013210210

b a a a b a a a b a a a =⊕⊕=⊕⊕=⊕⊕

汉明码的编码和译码都能由matlab自带的函数库提供,以(7,4)汉明码为例,encode( xn, 7, 4, 'hamming' );

图2-5 汉明码编码

2.5 ASK调制

2.5.1 ASK调制原理

理论上数字调制与模拟调制在本质上没有什么不同,它们都属于正弦波调制。但是,数字调制是源信号为离散型的正弦波调制,而模拟调制则是源信号为连续型的正弦波调制,因而,数字调制具有由数字信号带来的一些特点。这些特点主要包括两个方面:第一,数字调制信号的产生,除把数字的调制信号当作模拟信号的特例而直接采用模拟调制方式产生数字调制信号外,还可以采用键控载波的方法。第二,对于数字调制信号的解调,为提高系统的抗噪声性能,通常采用与模拟调制系统中不同的解调方式。振幅键控是正弦载波的幅度随数字基带信号而变化的数字调制,即源信号为“1”时,发送载波,源信号为“0”时,发送

0电平。所以也称这种调制为通、断键控(OOK)。当数字基带信号为二进制时,也称为二进制振幅键控(2ASK),2ASK信号的调制方法有模拟幅度调制方法和键控方法两种。

2ASK信号是数字调制方式中最早出现的,也是最简单的,但其抗噪声性能较差,因此实际应用并不广泛,但经常作为研究其它数字调制方式的基础。 2ASK 的时域特征 2ASK信号的时域表示式为:其中,为随机的单极性矩形脉冲序列,是经过基带成型处理之后的脉冲序列。

2ASK信号的时域波形如图2-6所示:

图2-6 2ASK时域波形

2.5.2 ASK调制的MATLAB实现

ASK 调制是用码元信号去控制载波信号的振幅,码元为0,1时分别对应两个不同倍数的振幅,以2ASK为例,0时,载波不接入,1时接入1倍载波,用载波信号振幅的变化去反应AMI码。

我们的程序选用2ASK,如下:

g=[HanMing]; f=3000;

t=0:2*pi/99:2*pi;

cp=[];sp=[];

mod=[];bit=[];

for n=1:length(g);

if g(n)==0;

c1=zeros(1,100);¨

c2=zeros(1,100);

else g(n)==1;

c1=ones(1,100);¨

c2=ones(1,100);

end

c=sin(2*pi*f*t);

cp=[cp c1];

mod=[mod c];

bit=[bit c2];

end

ask=cp.*mod;

figure(4)

subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on;

title('Binary Signal');

axis([0 100*length(g) -2.5 2.5]);

subplot(2,1,2);plot(ask,'LineWidth',1.5);grid on;

title('ASK modulation');

axis([0 100*length(g) -2.5 2.5]);

图2-7 2ASK调制信号

2.6 信道噪声——AWGN

Matlab本身自带了于某信号中加入高斯白噪声的函数:AWGN——y = awgn(x,SNR) 在信号x中加入高斯白噪声。SNR为信噪比,以dB为单位。

图2-8 加入高斯白噪声的调制波

2.7 ASK解调

本设计采用相干解调,即采用与载波信号同步的信号与已调信号相乘,再通过FIR低通滤波器,即可解调出调制信号。解调框图如图2-9所示:

乘法器

FIR滤波器

r ask z

频率为f c的

相干波car

图2-9 ASK解调框图

先和载波相乘:

reask=askz.*mod;%askz是加噪声后的ask输出,reask为称值

figure(6)

subplot(2,2,1);

plot(reask);title('reask')

subplot(2,2,2);

plot(askz);title('askz') %o对比askz与reask

先设计滤波器:

wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;

[N,wc]=buttord(wp,ws,Rp,As,'s') [B,A]=butter(N,wc,'s');

fk=0:800/512:8000;wk=2*pi*fk;

Hk=freqs(B,A,wk);

figure

plot(fk/1000,20*log10(abs(Hk)));

grid on,xlabel('?μ?꣨kHz£?'),ylabel('·ù?裨dB£?') title('°íì????1?£?a??2¨?÷')

axis([0,4,-35,5])

滤波器图像:

图2-10 滤波器频谱

由于载波频率设置为fc=3khz,所以解调时保留与m(t)相关的低频波,滤除2fc大于4的其他频波。

再通过滤波器:

fft1=fft(reask);

subplot(2,2,3);

plot(abs(fft1))

fft1=[fft1 zeros(1,921)];

Ak=fft1.*Hk;

at=ifft(Ak);

求得的at即是未经判决的粗汉明码,再经过判决程序:

hn=[];

ren=[];

for k=1:100:length(at)

hn(k)=at(k)-1.5

ren(k)=(hn(k)>0);

end

figure(7)

plot(ren);

图2-10 ASK相干解调后波形

2.8 汉明码解码

2.8.1 汉明码校验

在发送端信息码元M利用式(8-16),实现信道编码,产生线性分组码A;在传输过程中有可能出现误码,设接收到的码组为B。则收发码组之差为:

(式2-3)

这里,,表示i位有错,,表示i位无错。基于这样的原则接收端利用接收到的码组B计算校正子:

(式2-4)因此,校正子仅与E有关,即错误图样与校正子之间有确定的关系。对于上述(7,4)码,校正子S与错误图样的对应关系可由式(2-4)求得,其计算结果见表2-3所示。在接收端的译码器中有专门的校正子计算电路,从而实现检错

和纠错。

表2-3 (7,4)码校正子与错误图样的对应关系

序号错误码位

E

S

e6 e5 e4 e3 e2 e1 e0 S3 S2 S1

1

2

3

4

5

6

7

/

b0

b1

b2

b3

b4

b5

b6

0 0 0 0 0 0 0

0 0 0 0 0 0 1

0 0 0 0 0 1 0

0 0 0 0 1 0 0

0 0 0 1 0 0 0

0 0 1 0 0 0 0

0 1 0 0 0 0 0

1 0 0 0 0 0 0

0 0 0

0 0 1

0 1 0

1 0 0

0 1 1

1 0 1

1 1 0

1 1 1

2.8.2 汉明码译码程序

汉明码译码可由matlab自带函数库函数实现:

%汉明码译码

HanMing_decode = decode( HanMing,7 ,4, 'hamming' );

figure(8)

stairs( [ 0 : 23 ], HanMing_decode );axis([0 23, 0 1.5]);title('汉明译码');

图2-11 汉明码解码

相关文档
相关文档 最新文档