点对点数字通信系统设计.docx
《点对点数字通信系统设计.docx》由会员分享,可在线阅读,更多相关《点对点数字通信系统设计.docx(23页珍藏版)》请在冰豆网上搜索。
点对点数字通信系统设计
通信原理三级项目
班级:
通信工程2班
姓名:
学号:
指导教师:
教务处
2016年5月
远距离点对点数字通信系统设计
(燕山大学信息科学与工程学院)
摘要:
本文讨论进行了远距离点对点数字通信系统的设计,着重讨论了模拟信号数字化的过程,其中包含了为了提高系统性能进行的信源编码技术和信道编码技术,我采用了HDB3码克服连0问题,利用奇偶监督码和差错重传机制控制误码率。
另外,讨论了数字调制技术的实现,本文采用最小频移键控调制和解调技术,并讨论了在高斯白噪声信道条件下的此方法的可靠性和有效性。
关键词:
脉冲编码调制,HDB3码,奇偶监督码,MSK调制,高斯白噪声,MATLAB仿真
1.通信系统概述
1.1一般通信系统模型
一般作为一个通信系统都由发送端和接收端两部分组成,而发送端则分为信息源和发送设备两部分,接收端与其对应的有接收端和受信者两部分,发送端和接收端之间则是我们信号传输所需要经过的信道,信号在信道中传输时会有噪声的混入,这也是我们的通信系统性能讨论的终点。
图1-1一般通信系统
信息源是把各种原始消息转换成原始电信号的设备,它通过各种物理转换的方法从自然界中采集信息并把它们转换成相应的电信号,从而便于我们通过电子设备对其进行进一步的处理。
受信者则是把接受到的电信号还原成自然界中信息的设备。
发送设备是通过对采集到的原始电信号进行一系列的处理把它变成适合于远距离传输的信号。
在模拟传输系统中包括放大、滤波、模拟调制等过程;在数字传输系统中则包含编码、加密、数字调制等过程。
接收设备则是上述过程的逆过程,将信道中传输的信号还原成易于处理的直接电信号。
信道是从发送设备到接收设备之间信号传输的物理煤质,分为无线信道和有限信道两大类,每种信道的特点不同,应用场合也不相同。
噪声源是笼统的一个说法,它集中表示分布于通信系统中的各处的噪声。
1.2数字通信系统模型
数字通信系统是通过数字信号来传递信息的通信系统。
需要注意的是,这并不代表用于在信道中传输的信号就是数字信号,数字通信系统是通过数字信号来表示要传送的信息,而在传输过程中则还是利用高频调制的模拟信号传输。
图1-2数字通信系统
信源编码的目的是将信息源采集来的信号进行编码从而提高信息的有效性,对于模拟信号来说则还要完成信号的数字化,即采样、量化、编码的过程,实现模数转换。
信源译码则是它的逆过程。
加密和解密的作用是提高信息在传输过程中的安全性,防止或延缓被盗取信息。
信道编码的目的是将数字信号转换成适合于在信道中传输的码,增强抗干扰能力,包括检错纠错能力等。
信道译码是其逆过程。
数字调制是将数字信号调制成易于在信道中传输的带通信号,其抗干扰性能是我们讨论的主要方面。
数字解调是其逆过程。
数字通信系统具有抗干扰能力强、噪声不积累、传输差错可控、便于处理、易于集成以及保密性好等优点,广泛用于现代通信系统当中。
1.3远距离语音通信系统
本文中我们讨论远距离语音通信系统,系统模型如下图所示。
图1-3语音通信系统
我们这里信道中的噪声只考虑高斯白噪声,信道也理想化为理想全通信道。
这里我们没有进行加密和解密处理,码型变换中采用了克服连0问题的适合于远距离传输的HDB3码,传输差错控制采用了奇偶监督码来监测差错,采用差错重传的机制来控制误码率,不具备纠错能力。
为了降低误码率,我们的数字调制方式采用了最小频移键控MSK调制,它是2FSK调制的改进,具有包络稳定、相位连续、带宽最小并且严格正交的特性。
2.信号数字化
2.1信号的抽样
2.1.1抽样定理
语音信号的频带范围大概现在300~3400Hz左右,进行A/D转换的第一步就是对模拟信号进行抽样。
理论上要用冲激信号对其进行采样,由于它物理不可实现我们采用窄脉冲抽样,要想能够无失真地恢复原模拟信号,抽样频率必须满足奈奎斯特采样定理,即设模拟信号的最高频率分量为fc,抽样频率fs必须大于等于fc,所以抽样频率要在6800Hz以上。
但在实际中,要想恢复模拟信号就要用到滤波器滤波,实际设计的滤波器频率特性无法达到理想滤波器那样严格的选频特性,所以我们在抽样时要留有一定余量来保证频谱不发生混叠,采样频率fs选择8000Hz为宜,这也是实际电话系统采用的抽样频率。
2.1.2脉冲幅度调制PAM
设语音信号为m(t),其频谱函数为M(f),抽样的过程就是用这个信号对一个脉冲载波s(t)(周期窄脉冲,频率为8000Hz)进行幅度调制,它的输出就是时域卷积及频域相乘。
它的过程如下图所示。
图2-1PAM调制过程
图中左边是时域波形,右边表示的是对应的频域波形,从图中可以看出,我们已经将时间上连续的模拟信号变成了时间上离散的抽样信号,从其频域中可以看到要想恢复原信号只需要用一个低通滤波器滤波就可以完整恢复原信号。
图2-2PAM调制框图
设抽样保持电路的传输函数为H(f),则其输出信号就是时域卷积频域相乘MH(f)=Ms(f)H(f),其中
,代入得到
,从式中可以里看出每一项都乘以了H(f),所以只要在低通滤波前加上一个传输函数为1/H(f)的修正滤波器就可以恢复原始信号了,所以恢复框图如下图所示。
图2-3恢复框图
至此我们完成了信号时间上的离散化和恢复。
2.2信源编码
虽然时域抽样完成了模拟信号时间上的抽样,但是其幅度值仍然是取连续的变量,要想完全用二进制编码表示则会有无数多位,这显然是不合适的。
所以我们要对其进行幅度上的量化。
将抽样值的范围划分成M个区间,每个区间用一个电平表示。
这样,共有M个离散电平,它们称为量化电平。
用这M个量化电平表示连续抽样值的方法称为量化。
量化电平数M和量化间隔Δv都是确定的,量化噪声Nq也是确定的。
但是,语音信号在低频段较为集中。
当信号小时,信号量噪比也小。
所以,这种均匀量化器对于小输入信号很不利。
为了克服这个缺点,改善小信号时的信号量噪比,在实际应用中常采用非均匀量化,我们采用欧洲普遍采用的A律压缩,即13折线法进行量化。
2.2.1十三折线法
我们希望信噪比不随信号的强度变化,当输入电压x减小时,应当使量化间隔Δx按比例地减小,即要求Δx∝x,这在理论上要求压缩特性具有对数特性。
十三折线压缩就是对其的近似实现。
十三折线的原理图如下图2-4所示。
图中横坐标x在0至1区间中分为不均匀的8段。
1/2至1间的线段称为第8段;1/4至1/2间的线段称为第7段;1/8至1/4间的线段称为第6段;依此类推,直到0至1/128间的线段称为第1段。
图中纵坐标y则均匀地划分作8段。
将与这8段相应的座标点(x,y)相连,就得到了一条折线。
图2-4十三折线法原理图
由图可见,除第1和2段外,其他各段折线的斜率都不相同。
在下表中列出了这些斜率。
表1折线斜率表
折线段号
1
2
3
4
5
6
7
8
斜率
16
16
8
4
2
1
1/2
1/4
因为语音信号为交流信号,所以,上述的压缩特性只是实用的压缩特性曲线的一半,在第3象限还有对原点奇对称的另一半曲线,其完整曲线如下图所示。
图2-5十三折线
2.2.2脉冲编码调制PCM
把从模拟信号抽样、量化,直到变换成为二进制符号的基本过程,称为脉冲编码调制。
例如模拟信号的抽样值为3.15,3.96,5.00,6.38,6.80和6.42,若按照“四舍五入”的原则量化为整数值,则抽样值量化后变为3,4,5,6,7和6,在按照二进制数编码后就变成二进制符号:
011、100、101、110、111和110。
我们采用上面讲的十三折线法对语音信号进行编码。
在13折线法中采用的折叠码有8位。
其中第一位c1表示量化值的极性正负。
后面的7位分为段落码和段内码两部分,用于表示量化值的绝对值。
其中第2至4位(c2c3c4)是段落码,共计3位,可以表示8种斜率的段落;其他4位(c5~c8)为段内码,可以表示每一段落内的16种量化电平。
段内码代表的16个量化电平是均匀划分的。
所以,这7位码总共能表示27=128种量化值。
在下面的表中给出了段落码和段内码的编码规则。
表2段落码编码规则
段落序号
段落码c2c3c4
段落范围(量化单位)
1
111
1024-2048
2
110
512-1024
3
101
256-512
4
100
128-256
5
011
64-128
6
010
32-64
7
001
16-32
8
000
0-16
表3段内码编码规则
量化间隔
段内码c5c6c7c8
量化间隔
段内码c5c6c7c8
15
1111
7
0111
14
1110
6
0110
13
1101
5
0101
12
1100
4
0100
11
1011
3
0011
10
1010
2
0010
9
1001
1
0001
8
1000
0
0000
利用MATLAB进行PCM编译码如下:
我们知道,PCM编码过程是存在量化误差的,而我们解码出的结果正是证明了这一点。
2.3信道编码
由于在远距离传输过程中连0问题会使得接收方无法及时获取同步时钟而使得译码变得混乱,另外为了获得检纠错能力我们也要加上监督码,这时我们就要对编码进行再次编码使其变成适合于在信道中传输的码字,即信道编码。
2.3.1HDB3码
由于HDB3码具有没有直流成分,高、低频分量少,连“0”个数不超过3个利于在接收端提取定时信号的特点,在远距离传输中非常适用。
其编码规则如下:
2.3.2奇偶监督码
奇偶监督码分为奇数监督码和偶数监督码,原理相同。
我们采用偶数监督码,无论信息位有多少,其监督码只有一位,它使得码组中1的数目为偶数,即满足an-1an-2……a0=0,式子中a0是监督位。
这种编码能够检测奇数个错码,在接收端按照上式求“模2和”,若计算结果为1则说明存在错码,否则则认为无错码,这是最简单的一种检错编码措施,没有纠错能力,可以采用差错重传机制来修正。
3.调制与解调
3.1MSK调制
最小频移键控(MSK)信号是一种包络恒定、相位连续、带宽最小并且严格正交的2FSK信号,MSK可以看成是OQPSK的优化。
现在MSK已经应用于很多通信系统中。
例如,SMSK(serialMSK)已经在NASA的高级通信技术卫星(ACTS)系统中应用,GMSK(GaussianMSK)已是欧洲全球移动通信(GSM)系统的调制方式。
下图是MSK信号调制波形示意图。
图3-1MSK调制波形示意
3.1.1MSK调制原理
MSK信号的第k个码元为
,其中(k-1)Ts式中,s代表载波角频率,Ts是码元宽度,k是第k个码元的初始相位,ak=
1(当输入码元为1时ak=+1,当输入码元为0时ak=-1)。
需要注意的是相位与码元相关。
相位连续的一般条件是前一码元末尾的总相位等于后一码元开始时的总相位,即
。
化简后得到
,在用相干法接收时,可以假设ak-1的初始值等于0,这时由上式可知
(mod2π),这说明MSK信号前后码元具有相关性。
我们将MSK信号第k个码元的表示式子展开化简,令pk=
、
,我们发现:
所以我们可以采用类似差分编码的方式来得到pk和qk,其原理框图如下。
图3-2pk和qk的实现
3.1.2MSK调制
从原理讨论中我们可以得到MSK的调制式如下:
从而我们可以得到MSK调制实现的原理框图如下图3-3,至此我们得到了高频调制的MSK信号,这里可以看出,虽然我们对原始信息进行了数字化,但在需要传输时,我们仍然把其调制成高频模拟信号进行发送,这有利于在信道中传输或天线的发射。
图3-3MSK调制实现原理框图
3.2MSK解调
对最小频移键控调制的信号解调时我们采用相干解调的办法。
用本地载波
作为相干载波与接收到的信号相乘,再通过积分判决来解调出调制之前的信号。
若输入的两个码元为“+1,+1”或“+1,-1”,则k(t)的值在0若输入的一对码元为“-1,+1”或“-1,-1”,则值始终为负。
因此,若在此2Ts期间对上式积分,则积分结果为正值时,说明第一个接收码元为“+1”;若积分结果为负值,则说明第1个接收码元为“-1”。
按照此法,在Ts图3-4MSK解调
图中两个积分判决器的积分时间长度均为2Ts,但是错开时间Ts。
上支路的积分判决器先给出第2i个码元输出,然后下支路给出第(2i+1)个码元输出。
MSK信号是用极性相反的半个正(余)弦波形去调制两个正交的载波。
因此,当用匹配滤波器分别接收每个正交分量时,MSK信号的误比特率性能和2PSK、QPSK及OQPSK等的性能一样。
但是,若把它当作FSK信号用相干解调法在每个码元持续时间Ts内解调,则其性能将比2PSK信号的性能差3dB。
利用MATLAB仿真得到的MSK调制的传输过程中的MSK信号如图所示:
通过计算我们得到了误码率和信噪比之间的关系曲线,其中实线是理论上的误码率的值随信噪比的变化曲线,以‘*’标示出来的曲线就是实际中误码率与信噪比之间的关系曲线。
4.信道描述
信道可分为有线信道(电线、光纤)和无线信道(电磁波,含光波)。
信道中存在多种干扰。
通信系统中最简单的数学模型就是加性噪声信道,信道仅对通过它传输的信号s(t)叠加一个随机噪声过程n(t)。
从物理上讲,加性噪声过程来自通信系统的电子元件和接收机的放大器,或者来自传输中遇到的干扰。
这种类型的噪声从统计特性上属于高斯噪声过程。
因此相应的数学模型通常称为加性高斯噪声信道。
这种信道的幅度特性是平坦的,并且对于所有频率,其相频响应是线性的,因此调制信号通过高斯白噪声信道不会引起不同频率分量的幅度损失和相位失真,不存在衰落。
唯一的畸变是由高斯白噪声引起的。
“白”意味着噪声是一个在所有频率上具有平坦功率谱密度的平稳随机过程。
习惯上,假定其功率谱密度为:
,这意味着白色过程就有无限大的能量,这当然是数学上的理想情况。
我们讨论信道中的噪声对信号传输的影响都以高斯白噪声为前提进行讨论。
其原理框图如下。
图4-1信道噪声
5.系统总体设计
本通信系统设计思路如上图所示,语音信号先经过抽样电路进行时间上的离散化,再通过PCM编码电路,采用13折线法进行幅度上的量化编码,即信源编码。
随后进行码型变换即信道编码,包括转换成HDB3码和添加奇偶监督码两步,此时信号成为了适合于在信道中传输的码字。
紧接着我们对信道编码后的数字信号进行了MSK调制,将其调制到高频载波上用于在信道中传输,MSK调制具有良好的频带特性和较低的误码率。
在信道中传输时信号加入了高斯白噪声,这是一种加性噪声,到达接收端后先进行MSK信号的解调,将其解调成数字信号,这时根据信号的奇偶监督位来进行检错,如果发现错误则要给发送端一个反馈进行差错重传,如果没有错误,则进行信道译码、PCM译码,这时再通过一个低通滤波器和平滑滤波器就可以将原始的语音信号恢复出来,达到了通信的目的。
图5-1通信系统原理图
附录MATLAB实现代码
%pcm编码
function[pcm_out]=pcm_encode(x)
r=length(x);
pcm_out=zeros(r,8);
fori=1:
r
ifx(i)>=0
pcm_out(i,1)=1;
else
pcm_out(i,1)=0;
end
ifabs(x(i))>=0&abs(x(i))<16
step=1;st=0;pcm_out(i,2)=0;pcm_out(i,3)=0;pcm_out(i,4)=0;
elseif16<=abs(x(i))&abs(x(i))<32
step=1;st=16;pcm_out(i,2)=0;pcm_out(i,3)=0;pcm_out(i,4)=1;
elseif32<=abs(x(i))&abs(x(i))<64
step=4;st=64;pcm_out(i,2)=0;pcm_out(i,3)=1;pcm_out(i,4)=1;
elseif128<=abs(x(i))&abs(x(i))<256
step=8;st=128;pcm_out(i,2)=1;pcm_out(i,3)=0;pcm_out(i,4)=0;
elseif256<=abs(x(i))&abs(x(i))<512
step=16;st=256;pcm_out(i,2)=1;pcm_out(i,3)=0;pcm_out(i,4)=1;
elseif512<=abs(x(i))&abs(x(i))<1024
step=32;st=512;pcm_out(i,2)=1;pcm_out(i,3)=1;pcm_out(i,4)=0;
else1024<=abs(x(i))
step=64;st=1024;pcm_out(i,2)=1;pcm_out(i,3)=1;pcm_out(i,4)=1;
end
tmp=floor((abs(x(i))-st)/step);
t=dec2bin(tmp,4)-48;
iftmp==16
t(1:
4)=[1111];
end
pcm_out(i,5:
8)=t(1:
4);
end
display(pcm_out);
%pcm译码
function[out]=pcm_decode(in,v)
n=length(in);
in=reshape(in,8,n/8);
slot
(1)=0;
slot
(2)=16;
slot(3)=32;
slot(4)=64;
slot(5)=128;
slot(6)=256;
slot(7)=512;
slot(8)=1024;
step
(1)=1;
step
(2)=1;
step(3)=2;
step(4)=4;
step(5)=8;
step(6)=16;
step(7)=32;
step(8)=64;
fori=1:
n/8
ss=in(i,1)*2-1;
tmp=in(i,2)*4+in(i,3)*2+in(i,4)+1;
st=slot(tmp);
dt=(in(i,5)*8+in(i,6)*4+in(i,7)*2+in(i,8))*step(tmp)+0.5*step(tmp);
out(i)=ss*(st+dt)/2048*v;
end
%MSK调制与解调
functionout=delay(data,n,sample_number)
out=zeros(1,length(data));
out(n*sample_number+1:
length(data))=data(1:
length(data)-n*sample_number);
End
%----------------差分编码---------------
function[data_diff]=difference(data)
data_diff=zeros(1,length(data));
data_diff
(1)=1*data
(1);
fori=2:
length(data)
data_diff(i)=data_diff(i-1)*data(i);
End
%----------------调制--------------
function[signal_out,I_out,Q_out]=mod_msk(data,data_len,sample_number,Rb)
[data_diff]=difference(data);
I
(1)=1;
fori=1:
2:
data_len
Q(i)=data_diff(i);
Q(i+1)=data_diff(i);
end
fori=2:
2:
data_len
I(i+1)=data_diff(i);
I(i)=data_diff(i);
end
fori=1:
sample_number
I1(i:
sample_number:
data_len*sample_number)=I(1:
data_len);Q1(i:
sample_number:
data_len*sample_number)=Q(1:
data_len);
end
t=1/fs:
1/fs:
data_len*Tb;
I_out=I1.*cos(pi*t/2/Tb);
Q_out=Q1.*sin(pi*t/2/Tb);
signal_out=I_out+j*Q_out;
subplot(221)
plot(data,'.-');title('MSK传输的数据');xlabel('时间');ylabel('幅度')
subplot(222)
plot(data_diff,'.-');title('差分后的数据');xlabel('时间');ylabel('幅度')
subplot(223)
plot(I1,'.-');title('加权前I路');xlabel('时间');ylabel('幅度');
subplot(224)
plot(Q1,'.-');title('加权前Q路');xlabel('时间');ylabel('幅度');
figure
(2)
subplot(221)
plot(cos(pi*t/2/Tb),'.-');title('加权函数cos(πt/(2Tb))');xlabel('时间');ylabel('幅度')
subplot(222)
plot(sin(pi*t/2/Tb),'.-');title('加权函数sin(πt/(2Tb))');xlabel('时间');ylabel('幅度')
subplot(223)
plot(I_out,'.-');title('加权后I路');xlabel('时间');ylabel('幅度');
subplot(224)
plot(Q_out,'.-');title('加权后Q路');xlabel('时间');ylabel('幅度');
%----------------解调----------------
clearall
closeall
data_len=3000;%码元个数
sample_number=8;%采样个数
Rb=240;%码元速率
fc=9600;%载波频率
data=rand_binary(data_len);
[signal_out,I_out,Q_out]=mod_msk(data,data_len,sample_number,Rb);
multi=fc/Rb;
I_temp=interp(I_out,multi);
Q_temp=interp(Q_out,