基于MATLAB的希尔伯特FIR滤波器设计
6.2.2 基于希尔伯特变换的数字I-Q下变频器
对于希尔伯特变换的数字I-Q下的变频器其结构如下图6.2所示:
延时单元 BPF A/D 希尔伯特滤波器 频移或抽取 图6.2 变频器的结构图
对于中频信号,其首先被直接采样,然后再分上、下两路,上路信号经过延迟单元,下路信号经过希尔伯特变换器,从而得到正交数字信号。
在数字接收机中,对于被数字化的输入信号,进行快速傅里叶变换(FFT)来确定X?f?,利用对H?f?的定义就是时域希尔伯特变换,并且通过快速傅里叶反变换来获得。此外,在离散域中,数据必须有有限个点数(例如为2M+1)。对输入数字化的信号进行取其有限个点数,这相当于给输入信号加了一个矩形窗。用一个有限冲激响应滤波器FIR就可以近似理想的希尔伯特变换。实际应用中,通常采用半带滤波器和级联积分梳状滤波器。
6.3 希尔伯特变换在解调中的应用
6.3.1 希尔伯特变换
一般情况下,通信系统接收到的解调信号可以表示:
s(t)?A(t)cos?(t)t?q(t)?n(t) (6-21)
不同的调制方式下,例如在调频、调相、调幅等,分别与A?t?、??t?、??t?的变化相对应。如果通过间接调频来实现调频信号,那么对于调制信号就可以被表示为
s(t)?A(t)cos?(t)t?q(t) (6-22)
利用同相和正交两个分量可以在正交解调法中求得如下:
s?t??A?t?cos????t???cos??ct??A?t?sin????t???sin??ct??Xi?t?cos??ct??Xq?t?sin??ct?
22
基于MATLAB的希尔伯特FIR滤波器设计
其中Xi?t??A?t?cos? ???t???,Xq?t??A?t?sin????t??? (6-23)
就是正交解调法中的同相和正交两个分量,根据Xi?t?、Xq?t?,就可以解调各种调制方式。利用Xi?t?和Xq?t?求A?t?、??t?如下:
2A?t??Xi2?t??Xq ?t? (6-24)2?Xq?t????t??arctan?2? (6-25)
??Xi?t???希尔伯特变换的定义:给定实值函数x?t?,它的希尔伯特变换记作x?t?。
希尔伯特变换有一条重要的性质:设低频限带信号a?t?的傅里叶变换为
A???,带宽为 ??,则当?c???2时,有
H??a?t?cos??ct????a?t?sin??ct? H??a?t?sin??ct?????a?t?cos??ct?
?? ,希尔伯特对于已调信号来说,s?t??A?t?cos???ct???t???,?c??2变换可以被表示为
s?t??A?t?sin???ct???t??? (6-26)由式(6-25)及式(6-26)可得
A?t??s?t??s?t? (6-27)
22?????s?t?? ??t??arctan???ct (6-28)
?s?t??????将式(6-28)和式(6-29)与式(6-25)和式(6-26)对比,虽然我们可以看出两者是非常相似的,但是对于两者来说,在实现上实际有很大的区别与不同。
6.3.2 在解调中的应用
由希尔伯特变换的定义和性质,我们可以把解调器结构设计称如下图6.3所示:
23
基于MATLAB的希尔伯特FIR滤波器设计
延时器 A/D 希尔伯特滤波器 幅度提取与相位提取 基带信号解调
图6.3 通用解调器结构
经过AD采样后,信号s?t?离散化为s?n?,则
s?n??A?n?cos? ?n?c???n??? (6-29)
根据希尔伯特变换的性质我们可知道,对于x?t?的希尔伯特变换来说,就是x?t?与冲激响应为h?t??1的系统卷积。在设计希尔伯特滤波器时,对于在?t数字信号处理中我们基本上都是采用窗化法。它的冲激响应可以表示为
h?n???n?M2?1??1???1?n?M2??n?M (6-30) ??2??????n?为窗函数,M为滤波器的阶数。
这样当S?n?通过滤波器时必须加上延时器,因为其会产生M2的延时,因此可以保证信号S?n?与它的希尔伯特变换S?n?同步,得到准确的A?n?和
S?n?。
??6.3.3 解调性能分析
与正交解调器相比,系统在中频段的处理得到了很大程度的简化,而且把不通用的锁相环路去掉了,从而增强了系统通用性。对于希尔伯特滤波器和幅度相位提取模块的实现也可以采用专用的数字信号处理芯片,而由DSP等通用数字信号处理芯片来对基带信号进行处理。根据解调不同的需要,系统可以极为方便的更新算法在基带信号处理上。对于此种方法,对于线性运算基带的匹配滤波和判决,所以加性噪声不会向乘性噪声转变,也不会有门限效应的产生,而且信噪比也不会影响解调的性能。值得注意的是,在希尔伯特变换解调中,
24
基于MATLAB的希尔伯特FIR滤波器设计
对于基带信号的相位和幅度必须得到。平方和开方运算就是幅度的计算,是其非线性运算,因此门限效应不会受到噪声影响,也不会因为信噪比的不同和系统性能不同而有所变化,从而对系统的实用性造成一定的影响。
25
基于MATLAB的希尔伯特FIR滤波器设计
7 希尔伯特变换器的Matlab设计
7.1 直接程序法
在Matlab信号处理软件中,包含了firls函数和remez函数,它们具有相
同的调用格式、语法规则,但是具有不同的优化算法,对于函数firls,对于期望的频率响应和实际的频率响应间的误差最小是利用最小二乘法来实现的; Park-McClellan算法是用函数remez来实现的,通过利用remez交换算法和Che-byshev近似理论设计滤波器,来使这种算法的实际频率响应拟合期望频率响应达到最优。
函数的调用格式可以表示为b=remez(n,f,m,?h‘)或b=firIs(n,f,m,?h‘),其中,n为滤波器的阶数;f为滤波器期望频率特性的频率向量标准化频率,取值0~1,是递增向量,允许定义重复频点;m为滤波器期望频率特性的幅值向量,向量m与f必须同长度且同为偶数;b为函数滤波器系数,长度为n+1,在这里将采用remez函数法。
在下面希尔伯特变换器的设计,设采样频率为2 000 Hz,通频带为50~950 Hz,滤波器阶数为60阶。程序实现如下:
clf;n=60;
f=[0.05 0.95];m=[1 1];
fs=2000;
b=remez(n,f,m,‘h‘); [h,w]=freqz(b,1,512, fs); figure(1);
plot(w,20?log10(abs(h)));grid; axis([0 1000 – 40 10]); xlabel; ylabel; title; figure(2);
26