页面加载中,请稍候
来源:现代电子技术发布时间:2011-05-14858浏览
询问 AI
摘要:在通信系统中,希尔伯特变换是被广泛应用的重要变换。为了实现数字解调,通常需要借助希尔伯特变换器对信号进行分解,利用Matlab设计希尔伯特变换器是一种最为快捷、有效的方法。通过具体的设计、仿真及对原始信号和经过希尔伯特变换器输出延迟信号的比较,说明Matlab是一个在滤波器设计方面很有力的工具。
关键词:Matlab;Hilbert变换器;remez;FDATool工具
0 引言
通信系统中,经常需要对一个信号进行正交分解,即分解为同相分量和正交分量。由于希尔伯特变换可以提供90°的相位变化而不影响频谱分量的幅度,即对信号进行希尔伯特变换就相当于对该信号进行正交移相,使它成为自身的正交对。因此,希尔伯特变换在通信领域获得了广泛应用。
在传统的设计中,希尔伯特变换器可由一个FIR滤波器和一个时延模块实现,也可由一组滤波器对实现,而实现FIR型希尔伯特变换器的一个简单方法就是对原型低通滤波器作正弦/余弦变换。但是,无论哪种方法都需要通过计算对低通滤波器的系数进行转换,其计算繁琐且存在一定的误差。Matlab作为滤波器设计的基础软件,不仅可以快速有效地实现希尔伯特变换器的设计、分析仿真和最优化,而且可以直接计算出希尔伯特变换器的系数,加之Matlab具有强大的接口功能,为后续的设计提供了方便。
1 希尔伯特变换器的基本原理
连续时间信号x(t)的希尔伯特变换
从仿真结果可以观察到增益在0 Hz和1 000 Hz处降为零,即为带通滤波器;同时具有严格的线性相位特性,符合设计要求。在设计中如果特性不满足要求,原有的参数必须作相应的调整,在程序中只需对参数进行重新设定,就可以得到所需要的希尔伯特变换器。
2.2 利用FDATool工具设计法
FDATool是Matlab信号处理工具箱专用的滤波器设计分析工具,操作简单、灵活,可以采用多种方法设计不同的滤波器,同时可以实现滤波器的最小阶数设计。在Matlab命令窗口输入FDATool后回车就会弹出FDATool界面。
根据2.1中的设计实例,首先在Filter Type栏中选择Hilbert Transformer,在Design Method栏中选择Equiripple法,在filter order中选择60,在Frequencyand Magnitude Specifications中设置F=[50 950];M=[1 1];Fs=2 000,最后点击Design Filter,通过菜单选项Analysis可以在特性显示区看到滤波器的各种特性,如图3~图5所示。
在幅频特性和相频特性满足要求的同时,由图3可知单位脉冲响应为奇对称,即h(n)=-h(N-n-1),也符合希尔伯特变换器的特性。若设计不满足要求,则可以直接在FDATool界面中改变参数,在设计满足要求后,还可以把希尔伯特变换器的系数导出为Matlab变量,文本文件或C语言头文件等,这为后续的设计提供方便。
[!--empirenews.page--]
3 希尔伯特变换器的效果验证
3.1 直接程序验证法
对于所设计的希尔伯特变换器,频率为10 Hz的振动作为输入信号,采样频率为100 Hz,验证对应的数据点是否满足相位相差90°的特点,主要实现程序如下:
3.2 Simulink仿真法
利用Matlab提供的Simulink工具对该希尔伯特变换器进行仿真,输入信号以3.1节中的要求为例,仿真系统如图8所示,在建立仿真系统时,注意对所选择的模块进行相应的参数设计。仿真结果如图9,图10所示。
4 结语
在Matlab平台上,采用直接程序法和FDATool工具法均可以快捷有效地完成希尔伯特变换器的设计,可以随时对比设计要求和希尔伯特变换器的特性,以使设计达到最优化。由于Matlab具有强大的接口功能,设计的结果可以很方便地移植到DSP,FPGA等器件中。在实际使用中,只需按要求修改参数,即可实现不同的希尔伯特变换器,实用性较强。
新闻来源:现代电子技术,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!


2026-07-10
2026-06-12