1 引言 (1)
2 突发检测信号原理 (1)
2.1 突发信号数据模型 (1)
2.2 突发信号检测技术 (1)
2.2.1 滑动窗口法 (1)
2.2.2 双滑动窗口法 (2)
3 突发信号检测算法设计 (3)
3.1 算法参数 (3)
3.2 算法描述 (3)
3.3 程序流程图 (5)
突发信号检测设计方案
1 引言
在现代通信系统中,如卫星通信、移动通信等无线通信系统中,都是基于无线信道进行数据传输,由于无线信道环境恶劣,在通信过程中信道参数往往随时间呈现出相对剧烈的变化,所以在信号解调过程中通常采用突发模式,即认为在短时间内,信道的参数是恒定的。在发射端发送数据之前,通常在要发送的数据之前加上用于估计信道参数的前导码。接收端的核心任务是对接收到数据的起点进行检测,即突发信号检测。
2 突发检测信号原理 2.1 突发信号数据模型
在具有高斯白噪声的无线信道中,接收端接收到的数据模型可以表示为
)()(*)(n w n s i n x +=
w(n)表示信号在信道中传输时收入的噪声。其中i 的取值只能为0或1,当i 取0时,x(n)=w(n),表示此时只存在噪声,当i 取1时,表示接收到的数据中有信号。s(n)表示载波频率c f 处的数字中频信号,s(n)的数学表达式如下所示:
c s c f n f e n s θπ+=/2)(
s
f 为采样率,
c θ表示载波的初始相位。接收端的突发信号检测即找出1=i 时的x(n)的
下标n 的取值,它的物理意义是找出接收到的信号中有突发信号的突发起点,通过突发信号检测技术找出信号的突发起点。
2.2 突发信号检测技术
突发信号检测技术有滑动窗口法、双滑动窗口法、自适应调整门限能量检测法、短时自相关法和频域检测算法,本文中只是讨论滑动窗口法和双滑动窗口法。 2.2.1 滑动窗口法
滑动窗口法是基于接收信号能量的突发信号检测算法中最常采用的方法,在这里假设本滑动窗口的长度为L ,滑入窗口的能量E(n)如下所示:
∑-=+=1
2|)(|)(L k k n x n E
当突发信号还未来临时,即0=i ,窗口中的能量E(n)只包括噪声能量,且E(n)是恒定的。当突发信号来临时,此时1=i ,窗口中的能量会变大。通过设定一个门限值Th ,如果E(n)>Th 的话就表示此时有突发信号的进入(1=i )。滑动窗口法滑动的过程如图2.1所示:
TH
A
E(n)
图2.1 滑动窗口
滑动窗口的缺点是门限Th 值很难确定,下面的双滑动窗口法可以很好的解决门限值确定难的问题。 2.2.2 双滑动窗口法
双滑动窗口法是通过设计两个相邻的长度为L 的窗口,假设两个窗口分别称为窗口A 和窗口B 。当两个窗口在接收到的信号上进行滑动的时候,落入两个窗口的能量分别为A E 和
B E ,A E 和B E 的表示方法如下所示:
)
()
(|)(|)(|)(|)(1
21
2
n E n E m k L n x n E k n x n E A B L k B L k A =
++=+=∑∑-=-=
窗口A 和窗口B 开始滑动,当两个窗口都只是包涵噪声能量时,A E 和B E 的值是恒定的,它们的比值m 也是恒定的。两个窗口继续滑动,突发信号逐渐进入窗口B 中,窗口B 的能量逐渐增大,此时A 窗口还只是包涵噪声能量,两个窗口的能量比值也就逐渐增大,当窗口B 正好全部包涵突发信号,A 窗口还只是全部包涵噪声能量,两个窗口的比值m 此时达到最大max 。此后窗口A 也逐渐包涵突发信号,两窗口的能量比值m 又逐渐下降。终上所知,当窗口A 和窗口B 在滑动过程中,当它们的比较m 为最大值时,就是突发信号的起始时刻。双滑动窗口的过程如图2.2所示:
A m(n)B
max max
图2.2 双滑动窗口
3 突发信号检测算法设计
本程序采用双滑动窗口法进行算法设计。在程序中,不仅要找到突发信号的起始位置,还要找到突发信号的结束位置。
3.1 算法参数
num:进入程序的信号总长度
x(n):将要进行检测的信号(为复信号,有实部和虚部)
L:窗口的长度(两个窗口长度相等)
Ea:窗口A能量
Eb:窗口B能量
beginPoint(n):有突发信号的开始时刻
endPoint(n):有突发信号的结束时刻
IsignalCount:找到的信号个数
ELen:能量比值数组大小
EArray(ELen):Eb和Ea能量比值数组
3.2 算法描述
当原数据x(n)进入了程序后,假如窗口大小设定为L,那么从原数据的第L+1点开始往后循环(图3.1),循环到num-L点为止(图3.2),在L+1点之前的L个点划入窗口A,在L+1点开始往后的L个点划为窗口B。
L+1
A B
X(n)
L L
图3.1 刚开始滑动
Num-L
A B
X(n)
L L
图3.2 最后一次滑动
假设当两个窗口向右滑动第k个时刻时,窗口B刚好全部包含突发信号时,窗口A全部包含噪声时,此时的EArray(k)的值最大,表示在第k时刻有突发信号。窗口继续向右滑动,假设在第m个时刻时,窗口B刚好全部包含噪声,窗口A全部包含突发信号,此时的EArray(m)的值最小。双窗口继续向右滑动的某个时刻遇到突发信号,EArray在此时刻又达到最大值,突发信号结束时EArray又达到最小值。当双窗口滑动完成后,EArray图形由matlab仿真如图3.3所示:
突发信号起点
突发信号终点
图3.3 双窗口滑动时比值变化规律
由图3.3窗口B和窗口A比值化可以得知,不管是突发信号产生还是结束,能量的比值基本上是恒定不变的(如第3个突发信号产生时窗口B和窗口A的能量比值不仅此时最大,还与第4、5、6等突发信号产生时的值基本不变。第三个突发信号结束时窗口B和窗口A的能量比值在此时最小,也与第4、5、6等突发信号结束时的能量比值基本不变)。所以,可以通过检测EArray数组中的最大值下标和最小值下标来检查突发信号的开始时刻和结束时刻(最大值和最小值是成对出现的,表示一个突发信号的开始与结束)。
3.3 程序流程图
根据以上的算法描述,画出的程序流程图如图3.4所示,算法的正确性已经通过验证,只需要转化成计算机语言即可。
开始
初始化n=L Itemp=0beginPoint(n)={0}endPoint(n)={0}IsignalCount=0ELen=0Max=0Min=0Index=1
n Itemp=n-L Ea=0Eb=0 Y N Itemp Ea+=x(Itemp)^2Itemp=Itemp+1 Y Itemp=n N Itemp Y N Earray(ELen)=Eb/Ea ELen=Elen+1n=n+1 Max=Earray(0)Min=Earray(0) Index Y Max>Earray(index) Max=Earray(index) Y Min Min=Earray(index) Y Index=index+1 N Index=0Itemp=0 Index Abs(Earray(index)-max)<0.00009 Y beginPoint(IsignalCount)=index+L Y Abs(Earray(index)-min)<0.00009 N endPoint(IsignalCount)=index+L IsignalCount=IsignalCount+1 Y Index=index+1 N 结束 N 图3.4 程序流程图