基于MATLAB的希尔伯特FIR滤波器设计
则代表在希尔伯特变换的传输函数中只含有虚部,因此,Hrf?0,而Hif?0,由此可以把式(5-9)中的Hi写为
Hi(ej2?nfts)??2?h(nts)sin(2?nfts) (5-11)
将上式与式(12)进行比较,得到
h(nts)??bn2 再利用这一关系以及式(5-11),则可求得
h(nt???0n为偶数s)??2
?n?n为奇数h(?nt??0n为偶数s)?????2 (5-13) n?n为奇数
17
(5-12) 基于MATLAB的希尔伯特FIR滤波器设计
6 希尔伯特变换的应用
6.1 希尔伯特变换在探地雷达数据处理中的应用
探地雷达(Ground Penetrating Radar)是近几年才迅速发展起来的高分辨高效率的无损探测技术,向地下发送脉冲形式的高频宽带电磁波,利用地下介质电性参数差异,根据回波信号的振幅、波形和频率等运动学特征来分推断其介质结构和物性特征,具有快速便捷、操作简单、抗干扰和场地适应能力强、探测分辨率高等方面的特点,目前已经成为工程检测和勘察最为活跃的技术方法之一。
雷达探测必须经历数据的采集、处理和解释等三个步骤,数据处理的目的就是要压制干扰,以最大限度的分辨在雷达图像剖面上显示反射波,提取有效信息,因此信号处理的好坏直接关系到最终资料解释的正确与否,是至为关键的一步。
探地雷达在资料处理上,属于数字信号处理范畴(从理论上分析)。在信号分析处理中,对于希尔伯特(Hilbert)变换,在其本质上为一种全通滤波器,为一种重要方法, 希尔伯特变换中解析表达式中的实部与虚部的正弦和余弦关系得到了巧妙地应用,对于任意时刻的瞬时相位、瞬时幅度及瞬时频率被定义, 使得提取复杂信号与短信号的瞬时参数的成为可能,从而获取信号中所含的信息更为有效与真实,对地下介质的分布情况的分析非常有利。下面将希尔伯特变换用于探地雷达资料的数据处理中,从中提取出瞬时振幅、瞬时相位和瞬时频率,即“三瞬”信息,为后续的雷达资料解释提供了很好的依据。
6.1.1 公式
雷达记录x?t? 的希尔伯特变换公式
x(t)?x(t)??1 (6-1) ?t变换因子的时间响应h?t? 为
18
基于MATLAB的希尔伯特FIR滤波器设计
1h(t)??t (6-2)
??j,??0其频率响应 H?????
j,??0?由上式可知,经过希尔伯特变换之后,一个是实信号相位谱要发生90o相移,因此希尔伯特变换被称为90o相移滤波。
6.1.2 算法
可以设把解析信号定义为依赖于时间的复变量
u?t??x??t? (6-3) t?jy?
式中,x?t?是本身信号,y?t?是信号的正交变换。对于正交,就是对记录信号作90o相移的翻版。对x?t?作希尔伯特变换就可得到
y(t)?x(t)?1?t (6-4)
代入方程式( 6-4),我们有:
u?t??x?t??j1?x?t? (6-5) ?t1??或 u?t?????t??j??x?t?
?t??这样,要得到探地雷达单道x?t? 的解析信号u?t?:
??t??j1 ?t当在傅立叶变换域中进行解析的,这个算子与负频率基础上就是零。因此在复数道中,u?t?不包含负频率成分。在算出u?t?时,就可以用指数形式来表达:
u?t??R?t?e式中
j??t? (6-6)
R?t????x?t??y?t??? (6-7)
2212
19
基于MATLAB的希尔伯特FIR滤波器设计
及
???t??arctan???yt??x?t??? (6-8)
这里 R?t?代表瞬时振幅,??t?代表瞬时相位。
对瞬时相位还可用下面一种方法计算。对方程(6-6)两边取对数得,
lnu?t??lnR?t??j??t? (6-9)
因此
u?t????t??Im?ln?? (6-10)
式中,Im是虚部。
瞬时频率是瞬时相位函数的时间变化速率:
d??t???t??dt (6-11)
对方程式(6-11)求导:
?1du?t??d??t??Im??dtutdt???? (6-12)
为实际实现,方程式(6-12)写成差分方程:
?ut?ut??t?1?t?Im??u?u2?t??tt??t?? (6-13)
最后对方程式(6-13)简化得
?t??u?u?2Im?tt??t??t?ut?ut??t? (6-14)
6.2 数字I-Q下变频器
在通信系统中,人们提出利用数字方式产生具有高平衡度I- Q信道的方法。在该方法中,I信道的数据从单信道的下变频器得到,Q信道的数据通过对I信道的数据进行处理产生,从而把I-Q信道输出之间的不平衡度保持在最低限度。以数字I-Q下变频器为例,通过对数字化后的输入信号进行快速傅里叶变
20
基于MATLAB的希尔伯特FIR滤波器设计
换以确定X?f?,其时域希尔伯特变换是利用H?f?的定义,并通过FFT反变换来
6.2.1 希尔伯特变换
函数x?t?的希尔伯特变换定义为与x?t?函数h?t?的卷积。其可以被表示为
11?x???H??x?t????x?t??x?t??h?t??x?t???t?x???t??d? (6-15)
hh其中,?表示卷积,在时域中,H??x?t???和x?t?可以被表示的希尔伯特变换,
h?t??x?t?。在频域中,希尔伯特变换可以被表示为
Xh(f)=X(f)H(f) (6-16) 由于h?t?的傅里叶变换为
F??h?t????H?f??jsgn?f??j?1,f?0?1,f?0 (6-17)
所以,在频域内,只要将X?f?的负频率乘以j,而正频率乘以?j,即可得到希尔伯特变换。
当输入信号为x?t??sin?2?fit?时,其傅里叶变换可以被表示为
X?f??j???f?fi????f?fi??? (6-18) 2?把其负频率乘以j,而正频率乘以?j,就可以得到
Xh?f??1????f?fi????f?fi????F???cos?2?fit??? (6-19) 2?在等式两边同时进行傅里叶反变换,得
H??sin?2?fit?????cos?2?fit? (6-20)
上式表明,对于正弦函数进行希尔伯特变换就可以得到负的余弦函数,结果就是对输入信号作了?j移相。同理,当输入信号为余弦函数时,经过希尔伯特变换后就为正弦函数。结果也作了?j移相了。因此,对于希尔伯特变换,就是提供90度得相位变化,但又不对频谱分量的幅度大小产生影响。
21