资源描述
基于matlab的thss通信系统设计与实现
- 21 -
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
通信专业课程设计二
太原科技大学
课 程 设 计( 论 文)
设计(论文)题目: 基于MATLAB的THSS通信系统
设计与实现
姓 名_ ____
学 号_ ____
班 级_ ____
学 院_ ____
指导教师_ ____
月 日
太原科技大学课程设计( 论文) 任务书
学院( 直属系) : 时间: 月 日
学 生 姓 名
指 导 教 师
设计( 论文) 题目
基于MATLAB的THSS通信系统设计与实现
主要研
究内容
利用THSS通信的理论的基础, 经过设计构想、 理论论证、 理论设计、 仿真设计、 仿真程序构架和设计等过程实现THSS通信系统的仿真。
研究方法
利用MATLAB中的仿真系统实现THSS系统的仿真并能直观地显示THSS通信过程。
主要技术指标(或研究目标)
实现THSS通信系统的仿真。
教研室
意见
教研室主任( 专业负责人) 签字: 年 月 日
目 录
摘 要 II
第1章 绪论 - 1 -
1.1 扩频通信简介 - 1 -
1.1.1扩频通信的定义 - 1 -
1.1.2扩频通信方式 - 1 -
1.2 THSS通信 - 2 -
第2章 THSS通信系统原理级应用仿真 - 4 -
2.1 THSS通信系统工作原理 - 4 -
2.2 跳时信号的产生 - 4 -
2.3 THSS通信系统的同步 - 6 -
2.4 仿真结果及分析 - 8 -
第3章 结论 - 11 -
参考文献 - 12 -
附录 - 13 -
附录 1: THSS发送端仿真程序 - 13 -
附录 2: THSS接收端仿真程序 - 15 -
基于MATLAB的THSS通信系统设计与实现
摘 要
THSS也是一种扩展频谱技术, 跳时扩频通信系统( Time Hopping Spread Spectrum Communication Systems, TH-SS) 是时间跳变扩展频谱通信系统的简称, 主要用于时分多址(TDMA)通信中。它在军事通信、 移动通信、 计算机无线数据传输和无线局域网等领域也都有着十分广泛的应用。本文介绍了THSS系统的基本工作过程, 并利用MATLAB中的仿真系统实现THSS系统的仿真并能直观地显示THSS通信过程。还介绍了系统设计方法与运行结果, 经过仿真结果能直观地观察到THSS通信系统的性能,有利于研究THSS通信系统。
关键词: THSS扩频, 通信系统, 跳时系统, 仿真
第1章 绪论
1.1 扩频通信简介
1.1.1扩频通信的定义
扩频通信, 即扩展频谱通信技术( Spread Spectrum Communication) , 它的基本特点是其传输信息所用信号的带宽远大于信息本身的带宽。除此以外, 扩频通信还具有如下特征:
1、 是一种数字传输方式;
2、 带宽的展宽是利用与被传信息无关的函数(扩频函数)对被传信息进行调制实现的;
3、 在接收端使用相同的扩频函数对扩频信号进行相关解调, 还原出被传信息。
1.1.2扩频通信方式
1、 直接序列扩频( DS)
直接序列扩频(DirectSe quence,DS)直接用具有高码率的扩频码序列在发端去扩展信号的频谱, 而在收端用相同的扩频码序列去进行解扩, 把展宽的扩频信号还原成原始的信息。
2、 频率跳变( FH)
频率跳变调制(Frequency Hopping, FH)用较低比特率的伪随机序列的指令去控制载波的中心频率, 离散的在一个给定的频带内跳变, 形成一个宽带的离散频率谱。
3、 线性跳频(Chirp)
线性跳频( Linear frequency-hopping) 如果发生的射频脉冲信号在一个周期内其载频的频率作线性变化, 则称为线性调频。下面将对系统中用到的跳频技术做一更为详细的介绍。
4、 跳变时间(TH)
跳时(TH-Time Hopping)是使发射信号在时间轴上跳变。首先把时间轴分成许多时片。在一帧内哪个时片发射信号由扩频码序列去进行控制。能够把跳时理解为: 用一定码序列进行选择的多时片的时移键控。
1.2 THSS通信
时间跳变也是一种扩展频谱技术, 跳时扩频通信系统( Time Hopping Spread Spectrum Communication Systems, TH-SS) 是时间跳变扩展频谱通信系统的简称, 主要用于时分多址(TDMA)通信中。与跳频系统相似, 跳时是使发射信号在时间轴上离散地跳变。我们先把时间轴分成许多时隙, 这些时隙在跳时扩频通信中一般称为时片, 若干时片组成一跳时时间帧。在一帧内哪个时隙发射信号由扩频码序列去进行控制。因此, 能够把跳时理解为: 用一伪随机码序列进行选择的多时隙的时移键控。由于采用了窄得很多的时隙去发送信号, 相对说来, 信号的频谱也就展宽了。图l-9是跳时系统的原理方框图。
载波f0
调制器
高频
开关
伪码
发生器
高频
开关
存储器
伪码
发生器
存储器
解调器
数据
数据
(a)
(b)
图1-9 时间跳变扩频通信系统简化方框图
(a) 发射系统; (b) 接收系统
在发送端, 输入的数据先存储起来, 由扩频码发生器产生的扩频码序列去控制通-断开关, 经二相或四相调制后再经射频调制后发射。在接收端, 当接收机的伪码发生器与发端同步时, 所需信号就能每次按时经过开关进入解调器。解调后的数据也经过一缓冲存储器, 以便恢复原来的传输速率, 不间断地传输数据, 提供给用户均匀的数据流。只要收发两端在时间上严格同步进行, 就能正确地恢复原始数据。
跳时扩频系统也能够看成是一种时分系统, 所不同的地方在于它不是在一帧中固定分配一定位置的时隙, 而是由扩频码序列控制的按一定规律跳变位置的时隙。跳时系统能够用时间的合理分配来避开附近发射机的强干扰, 是一种理想的多址技术。但当同一信道中有许多跳时信号工作时, 某一时隙内可能有几个信号相互重叠, 因此, 跳时系统也和跳频系统一样, 必须采用纠错编码, 或采用协调方式构成时分多址。由于简单的跳时扩频系统抗干扰性不强, 很少单独使用。跳时扩频系统一般都与其它方式的扩频系统结合使用, 组成各种混合方式。
从抑制干扰的角度来看, 跳时系统得益甚少, 其优点在于减少了工作时间的占空比。一个干扰发射机为取得干扰效果就必须连续地发射, 因为干扰机不易侦破跳时系统所使用的伪码参数。
跳时系统的主要缺点是对定时要求太严。
本文经过MATLAB对THSS通信系统进行了设计并仿真出结果, 也详细介绍了具体的仿真过程以及结果分析。
第2章 THSS通信系统原理级应用仿真
2.1 THSS通信系统工作原理
”跳时”是指系统利用伪码序列来控制无线信号发射时间和持续时间的”开”和”关”, 使无线信号的”有”和”无”与伪码(PN)序列一样是”伪随机的”。这是扩频通信的一种典型的工作方式。
跳时系统是用伪随机码去选择信号发送的时隙(伪随机码来决定信号发送的时隙)。如: 一个K级的伪随机序列产生器要产生2^K个伪随机码, 则传输1个符号就需要2^K个时隙, 即根据伪随机码来确定时隙。如K=4时当Ci="1000"时, 则就会在第8个实习上传输信号。还有就算格局伪随机序列来确定信号开始发送的时刻(在一个位空间中)。
跳时和跳频的区别就算: 一个是控制时间一个是控制频率。跳时是在时间的跳变中, 将一个信号分为若干个时隙, 由伪随机码序列控制在哪个时隙上发送信码。
时隙选择, 持续时间的长短由伪随机码控制, 信号在开通的很短时隙中, 以较高的峰值功率传输, 能够看成是一种随即的脉位调制(PPM)和脉宽调制(PWM)
2.2 跳时信号的产生
图2.2.1 跳时信号的发射方案
给定待发射的二进制序列b=(…,b0,b1,…,bk,bk+1,…), 其速率Rb=1/Tb (b/s), 图2.1.1中的第一个模块使每个比特重复Ns次, 产生一个二进制序列:
(…,b0,b0,…,b0,b1,b1,…,b1,…,bk,bk,…,bk,bk+1,bk+1,…,bk+1,…)=
(...,a0,a1,…aj,aj+1,…)=a
新的比特速率Rcb=Ns/Tb=1/Ts (b/s)。这个模块引入了冗余, 其实是一种被称为重复码的(Ns,1)分组编码器。一般术语上称为信道编码。
第二个模块是传输编码器, 就是应用整数值码序列c=(…,c0,c1,…,cj,cj+1,…)和二进制序列a=(…,a0,a1,…,aj,aj+1,…),产生一个新序列d, 序列d的一般元素表示式如下:
dj=cjTc+aj ( 2-1)
式中,Tc和 是常量, 对所有的cj满足条件cjTc+ <Ts, 一般 <Tc。
这里的d是一个实数值序列, 而a是二进制序列, c是整数值序列.现在我们遵循最常见的方法, 假定c是企业界随机码序列, 它的元素cj是整数, 且满足
0 cj Nh-1。 码序列c可能为周期序列, 其周期表示为Np。两种特殊情况值得讨论。第一种,码是非周期的, 即 ; 第二种是Np=Ns, 这是最常见的一种, 这时的编码周期与二进制码重复的次数相等。我们必须牢记: 传输编码扮演了码分多址编码和发射信号的频谱形成双重角色。
实数值序列d输入到第三个模块, 即PPM调制模块, 产生了一个速率为Rp=Ns/Tb=1/Ts(脉冲/s)的单位脉冲(Dirac pulses ) 序列。这些脉冲在时间轴上的位置为 , 因此脉冲位置在jTs基础上偏移了dj, 脉冲的发生时间也可表示为( )。注意是码序列对c信号引入了TH位移, 也正因为此, c被称为TH码。还要注意一点就是由PPM调制引起的位移 , 一般比TH码引起的位移cjTc小得多, 即: , cj=0除外。Tc称为码片时间(chip time)。
最后一个模块是脉冲形成滤波器, 其冲激响应为。必须保证脉冲形成滤波器输出的脉冲序列不能有任何的重叠。[
以上所有系统级联以后的输出信号 可表示如下:
( 2-2)
比特间隔或比特持续时间, 也即用于传输一个比特的时间Tb, 可表示为: Tb=NsTs。在式(4-2)中, cjTc定义了脉冲的随机性或者说是相对于Ts整数倍时刻的抖动。如果用随机TH抖动 来表示由TH编码cjTc引起的时间上的位移, 并假定 在0和 之间分布, 则可得到:
( 2-2)
正如前面提到的, 一般远大于 。这两个量的整体效果是产生一个分布在0和 之间的时间随机位移量, 用 表示这个时间随机位移, 可得发射信号的如下表示式:
( 2-4)
更一般性地概括式( 2-2) 所表示的信号, 其思想是: 对于信息比特”0”和”1”, 能够发射两个不同的脉冲波形 和 来分别表示。上面分析的PPM调制的例子, 引入了 这个时间位移量, 它的值根据它所代表的比特而有所不同, 其实是上述思想的特殊例子, 其中的 是 位移以后的波形。
2.3 THSS通信系统的同步
同步的含义是: 跳时图案相同,跳变的频率序列(也称频率表)相同, 跳变的起止时刻(也称相位)相同。因此, 为了实现收、 发双方的跳频同步, 收端首先必须获得有关发端的跳频同步的信息, 它包括采用什么样的跳频图案, 使用何种频率序列, 在什么时刻从那一个时隙上开始起跳, 而且还需要不断地校正收端本地时钟, 使其与发端时钟一致。
在THSS系统中, 接收机本地频率合成器产生的跳变频率必须与发端的频率合成器产生的跳变时隙严格同步。由于时钟漂移、 收发信机之间的距离变化, 在时间上有差异;又因为振荡器频率的漂移等不确定因素, 因此同步的过程就是搜索和消除时间及频率偏差的过程, 以保证收发双方的码相位和载波的一致性。THSS系统的同步一般包括跳频图案的同步、 帧同步、 信息码元同步等。在这些同步中, 关键是时隙图案的同步。跳时同步主要有以下几种方法:
1、 精确时钟定时法
由于产生跳变频率的方法是一样的, 所用的伪随机码是一样的。唯一不知道是时间。若收发双方都保持时间一致, 且通信距离己知, 则可保证跳时图案的同步。
2、 同步字头法
将同步信息作为同步字头置于THSS信号的最前面, 或在信息的传输过程中离散地插入这种同步字。收端根据同步字头的特点, 能够从接收到的THSS信号中将它识别出来, 作为调整本地时钟或伪随机码发生器的依据, 从而使收发双方同步。
3、 匹配滤波器法
匹配滤波器具有很强的信号处理能力, 将其用于同步系统会使同步系统简化、 同步时间缩短、 同步性能提高。用匹配滤波器同步, 一般是对同步字头进行匹配滤波, 一旦输入的THSS信号与匹配滤波器相匹配, 就表示收到了同步字头, 即完成了时间的同步, 接收端就能够从此刻启动本地频率合成器, 从而完成了跳频同步口为提高同步性能, 多采用匹配滤波器组, 如采用声表面波匹配滤波组。
2.4 仿真结果及分析
图2.5.1发送端信号处理的各阶段信号图
上图2.5.1是THSS通信系统的发射端仿真结果。分别是原始信息序列, 是一个幅度2V的方波信号。第二个波形是方波和余弦波进行BPSK调制后的BPSK信号波形, 幅度还是2V。第三个图形是将要混频BPSK信号的不同时隙的跳时频率。最后就是混频以后的THSS信号, 这个信号经过发送, 就能够在信道中传播。
从图中能够显著的看到THSS信号在随机的改变其时隙的频率, 无法去预测下一跳的具体载频时隙, 从而保证了通信的保密性和抗干扰性等性能。
图2.5.2 THSS信号及其频域值
FFT是离散傅立叶变换的快速算法, 作FFT变换的目就是从时域到频域的转换,图2.5.2下图是将THSS信号变换到频域。能够看到THSS信号的幅度和相位特性两个,幅度代表能量,观察幅度的分布就知道THSS信号能量的分布。
图2.5.3 接收端信号处理的各阶段信号图
上图是接收端从仿真的信道中得到的THSS信号。信号在信道中传播之后就带有了很多杂波和干扰信号, 但在THSS的同步系统中只有一个能够同步解扩的信号分量。在THSS同步系统捕捉到这一同步信号后, 其余分量就会被丢弃, 从而避免了多径干扰等多种干扰。
第3章 结论
扩频技术由于其本身具备的优良性能而得到广泛应用, 到当前为止, 其最主要的两个应用领域仍是军事抗干扰通信和移动通信系统,而THSS、 FHSS系统与直扩系统则分别是在这两个领域应用最多的扩频方式。
跳时扩频系统也能够看成是一种时分系统, 所不同的地方在于它不是在一帧中固定分配一定位置的时隙, 而是由扩频码序列控制的按一定规律跳变位置的时隙。跳时系统能够用时间的合理分配来避开附近发射机的强干扰, 是一种理想的多址技术。但当同一信道中有许多跳时信号工作时, 某一时隙内可能有几个信号相互重叠, 因此, 跳时系统也和跳频系统一样, 必须采用纠错编码, 或采用协调方式构成时分多址。由于简单的跳时扩频系统抗干扰性不强, 很少单独使用。跳时扩频系统一般都与其它方式的扩频系统结合使用, 组成各种混合方式。将跳时(th)分别与直接扩频(ds)和跳频(fh)相结合则构成直扩/跳时(ds/th)系统和跳频/跳时(fh/th)系统。若将直扩、 跳频和跳时三者结合在一起则构成直扩/跳频/跳时(ds/fh/th)扩展频谱系统。
本文经过利用THSS通信的理论的基础, 经过设计构想、 理论论证、 理论设计、 仿真设计、 仿真程序构架和设计等过程实现THSS通信系统的仿真。
参考文献
[1] 刘颖.数字通信原理与技术[M].北京: 北京邮电大学出版社,
[2] 宋兆基、 徐流美.MATLAB6.0在科学计算中的应用[M].北京: 清华大学出版社
[3] 韦岗.通信系统建模与仿真[M].电子工业出版社,
[4] 梅文华,杨义先.跳频通信地址编码理论[M].北京: 国防工业出版社, 1996
[5] 曹志刚.现代通信原理[M].北京: 清华大学出版社,
[6] 陈 萍,等.现代通信实验系统的计算机仿真[M].北京: 国防工业出版社,
[7] Bijan G. Mobasseri,”Digital modulation classification using constellation shape”, 1999 IEEE.
附录
附录 1: THSS发送端仿真程序
clc
clear
s=round(rand(1,25));
signal=[];
carrier=[];
t=[0:2*pi/119:2*pi];
for k=1:25
if s(1,k)==0
sig=-ones(1,120);
else
sig=ones(1,120);
end
c=cos(t);
carrier=[carrier c];
signal=[signal sig];
end
subplot(4,1,1);
plot(signal);
axis([-200 2800 -1.5 1.5]);
title('\bf\it 原始的比特序列');
bpsk_sig=signal.*carrier;
subplot(4,1,2);
plot(bpsk_sig)
axis([-200 2800 -1.5 1.5]);
title('\bf\it 原始信号的BPSK调制');
t1=[0:2*pi/9:2*pi];
t2=[0:2*pi/19:2*pi];
t3=[0:2*pi/29:2*pi];
t4=[0:2*pi/39:2*pi];
t5=[0:2*pi/59:2*pi];
t6=[0:2*pi/119:2*pi];
c1=cos(t1);
c1=[c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1];
c2=cos(t2);
c2=[c2 c2 c2 c2 c2 c2];
c3=cos(t3);
c3=[c3 c3 c3 c3];
c4=cos(t4);
c4=[c4 c4 c4];
c5=cos(t5);
c5=[c5 c5];
c6=cos(t6);
spread_signal=[];
for n=1:25
c=randint(1,1,[1 6]);
switch(c)
case(1)
spread_signal=[spread_signal c1];
case(2)
spread_signal=[spread_signal c2];
case(3)
spread_signal=[spread_signal c3];
case(4)
spread_signal=[spread_signal c4];
case(5)
spread_signal=[spread_signal c5];
case(6)
spread_signal=[spread_signal c6];
end
end
subplot(4,1,3)
plot([1:3000],spread_signal);
axis([-200 2800 -1.5 1.5]);
title('\bf\it 跳时扩频信号的几个频率');
freq_hopped_sig=bpsk_sig.*spread_signal;
subplot(4,1,4)
plot([1:3000],freq_hopped_sig);
axis([-200 2800 -1.5 1.5]);
title('\bf\it 跳时扩频信号');
figure,subplot(2,1,1)
plot([1:3000],freq_hopped_sig);
axis([-200 2800 -1.5 1.5]);
title('\bf\it 跳时扩频信号及其FFT算法');
subplot(2,1,2);
plot([1:3000],abs(fft(freq_hopped_sig)));
附录 2: THSS接收端仿真程序
clc
clear
% 接收信号
s=round(rand(1,25));
signal=[];
carrier=[];
t=[0:2*pi/119:2*pi];
for k=1:25
if s(1,k)==0
sig=-ones(1,120);
else
sig=ones(1,120);
end
c=cos(t);
carrier=[carrier c];
signal=[signal sig];
end
subplot(4,1,1);
plot(signal);
axis([-200 2800 -1.5 1.5]);
title('\bf\it 解调出的信息序列');
bpsk_sig=signal.*carrier;
subplot(4,1,2);
plot(bpsk_sig)
axis([-200 2800 -1.5 1.5]);
title('\bf\it 解扩后的BPSK信号');
t1=[0:2*pi/9:2*pi];
t2=[0:2*pi/19:2*pi];
t3=[0:2*pi/29:2*pi];
t4=[0:2*pi/39:2*pi];
t5=[0:2*pi/59:2*pi];
t6=[0:2*pi/119:2*pi];
c1=cos(t1);
c1=[c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1];
c2=cos(t2);
c2=[c2 c2 c2 c2 c2 c2];
c3=cos(t3);
c3=[c3 c3 c3 c3];
c4=cos(t4);
c4=[c4 c4 c4];
c5=cos(t5);
c5=[c5 c5];
c6=cos(t6);
spread_signal=[];
for n=1:25
c=randint(1,1,[1 6]);
switch(c)
case(1)
spread_signal=[spread_signal c1];
case(2)
spread_signal=[spread_signal c2];
case(3)
spread_signal=[spread_signal c3];
case(4)
spread_signal=[spread_signal c4];
case(5)
spread_signal=[spread_signal c5];
case(6)
spread_signal=[spread_signal c6];
end
end
subplot(4,1,3)
plot([1:3000],spread_signal);
axis([-200 2800 -1.5 1.5]);
title('\bf\it 同步的THSS频率');
freq_hopped_sig=bpsk_sig.*spread_signal;
subplot(4,1,4)
plot([1:3000],freq_hopped_sig);
axis([-200 2800 -1.5 1.5]);
title('\bf\it 接收到的THSS信号');
展开阅读全文