云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于MATLAB的希尔伯特fir滤波器设计

基于MATLAB的希尔伯特fir滤波器设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/13 15:48:22

基于MATLAB的希尔伯特FIR滤波器设计

众多科学领域问题提出了一个方案,其不用进行传统非交互程序设计语言(如C、Fortran)的编辑模式的复杂,其在国际科学计算软件领域处于领先水平。

MATLAB具有进行一下各种工作:(1)数值分析;(2)数值和符号计算;(3)工程与科学绘图;(4)控制系统的设计与仿真;(5)数字图像处理技术;(6)数字信号处理技术;(7)通信系统设计与仿真;(8)财务与金融工程。

2.3 matlab的程序结构

matlab语言的程序结构与其它高级语言是一致的,分为顺序结构,循环结构,分支结构。(1) 顺序结构——依次顺序执行程序的各条语句;(2) 循环结构——被重复执行的一组语句,循环是计算机解决问题的主要手段。循环语句主要有:for —end;(3) 分支结构——根据一定条件来执行的各条语句。

4

基于MATLAB的希尔伯特FIR滤波器设计

3 希尔伯特变换的基本原理

希尔伯特变换是以著名数学家大卫·希尔伯特(David )来命名。在信号处理的领域中,一个实值函数的希尔伯特变换(Hilbert transform),是将信号s(t)与1/(πt)做卷积,以得到s(t)。因此,希尔伯特变换结果s(t)可以被解读为输入是线性非时变系统的输出,而此系统的脉冲响应为1/(πt)。用在描述一个以实数值载波做调制的信号之复数包络。

解析信号通过希尔伯特变换后,能够有效提取信号的瞬时特征参数,其中对于信号的瞬时相位、瞬时频率和瞬时幅度也得到了有效提取。在上世纪80年代,A.k.Nandi和E.E.Az-zouz共同提出了信号瞬时特征参数的调制识别算法,能够对信号进行较准确的调制方式识别,就是把五个信号的特征参数 ( ?max,

?ap, ?dp,?aa,?fa)神经网络结合起来。在数据采集之后,希尔伯特变换是第一

个相对比较复杂的信号变换,其主要分为时域变换与频域变换。通过数字滤波器,也可以以数据流的方式对数据进行处理,来实现时域变换的希尔伯特变换;对一个数据块进行离散傅立叶变换,在频域处理后再进行傅立叶反变换后恢复成时域解析信号,来实现频域的希尔伯特变换。对于具有稳定性好以及良好的线性相位响应曲线的FIR滤波器,可以使数据的希尔伯特变换得到很好地实现。但是,对于通带纹波越低,对于FIR滤波器来说,其抽头数也就越多,这样会直接导致运算量的增加。在对希尔伯特变换系数进行设计的时候,通过滤波系数的分析,可以通过引用折叠式的FIR滤波器结构或者改进算法,从而降低大抽头数的FIR希尔伯特变换器所需要的乘法次数和加法次数。我们也可以在滤波性能不被影响的前提下,在最大限度内来提高了信号处理的速度,同时也要尽量满足信号在实时处理时的要求。

对信号x(t)进行希尔伯特变换,可以看做信号x(t)通过一个幅度为1的全通滤波器输出,信号通过希尔伯特变换后,其负频率成分作正900的相移,而正频率成分作负900的相移。这类滤波器要求滤波器的零频率响应为0,若滤波器的阶数为偶,则要求归一化频率为零。即如果滤波器的阶数为偶数,那么增益在频率为0Hz和fs2处必须降为零,希尔伯特必须是一个带通滤波器。如果滤

5

基于MATLAB的希尔伯特FIR滤波器设计

波器的阶数为奇数,那么增益在频率为0Hz处必须降为零,希尔伯特滤波器必须是一个高通滤波器。

3.1希尔伯特变换的定义

3.1.1 卷积积分

设实值函数f(t),其中t?(??,??),它的希尔伯特变换可以表示为

?f(t)??f(?)d?, (3-1)

???(t??)??常记为

f(t)?H[f(t)] (3-2)

由于f(t)是函数f(t)与

?

?1的卷积积分,因而可写成 t??

1f(t)=f(t)* (3-3)

t?3.1.2 ?2相位

设F(f)?F[f(t)],根据(3-3)式和傅里叶变换性质可知,F(f)是f(t)的傅里叶变换F(f)和1t?的傅里叶变换的乘积。由

????

??j,f?0, (3-4)

F[1?t]??jsgn(f)???j,f?0.得

F(f)??[jsgn(f)]F(f).

?因此?jsgn(f)可表达为

??j??e2,f?0B(f)??jsgn(f)???

?j??e2,f?0.或者

B(f)?e 所以B(f)是可以作为一个

?j?2sgn(f)

?相移系统,所以希尔伯特变换就可以表示为对2

6

基于MATLAB的希尔伯特FIR滤波器设计

??的相移,对负频率产生相移,说,也

2221可以说,在时域信号内,每一频率成分作波长移位。因此,希尔伯特变换器

信号的?的相移,对正频率产生??4又总是被称为90度移相器。

3.1.3 解析信号的虚部

为了对希尔伯特变换的意义进行进一步理解,在此引入解析函数Z(t):

Z(t)?f(t)?jf(?t) 也可以写成

Z(t)?A(t)e?j?(t) 其中,A(t)为希尔伯特变换的包络;?(t)为瞬时响应信号。 把希尔伯特变换的包络A(t)定义为

A(t)?f2?(t)?f2(t) 相位定义为

???(t)?arctan?f(t)??? ?f(t)? ?瞬时频率定义为

f1d?(f)0?2?dt 根据傅里叶变换式

Z(t)?F?1[Z(f)] ?f(t)?jf?(t)

??f(t)?Re[Z(t)]??f(t)?Im[Z(t)] 为计算Z(f),由F?(f)??[jsgn(f)]F(f).知

Z(f)?[1?sgn(f)]F(f)

?B1(f)F(f) 其中

7

(3-5)

(3-6)

(3-7)

(3-8)

(3-9)

(3-10) (3-11)

搜索更多关于: 基于MATLAB的希尔伯特fir滤波器设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于MATLAB的希尔伯特FIR滤波器设计 众多科学领域问题提出了一个方案,其不用进行传统非交互程序设计语言(如C、Fortran)的编辑模式的复杂,其在国际科学计算软件领域处于领先水平。 MATLAB具有进行一下各种工作:(1)数值分析;(2)数值和符号计算;(3)工程与科学绘图;(4)控制系统的设计与仿真;(5)数字图像处理技术;(6)数字信号处理技术;(7)通信系统设计与仿真;(8)财务与金融工程。 2.3 matlab的程序结构 matlab语言的程序结构与其它高级语言是一致的,分为顺序结构,循环结构,分支结构。(1) 顺序结构——依次顺序执行程序的各条语句;(2) 循环结构——被重复执行的一组语句,循环是计算机解决问题的主要手段。循环语句主要有:for —end;(3) 分支结构——根据一定条件来执行的各条语句。

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com