希尔伯特变换求瞬时频率的matlab动态实现

通过希尔伯特变换可以求得一个信号的包络曲线,瞬时频率,瞬时相位,瞬时谱等等。

计算方法在此不赘述,本文只演示希尔伯特变换求包络线和瞬时频率的效果。

代码:

clc;close all;clear;
x= 0:pi/500:5*pi;
y2=sin(x);
a=30;t=0;
figure(1);
y1=1+0.8*sin(0.3*2*pi*x); 

subplot(3,1,1);
plot(x,y1,'r--','Linewidth',1.2);
axis([0,15,-2,2]);
hold on;
P1=plot(x,y1,'k')
legend('模拟信号','载波信号')
title('模拟信号和载波信号');

subplot(3,1,2);
P2=plot(x,y1,'r','Linewidth',1.2);
axis([0,15,-2,2]);
legend('包络线');
title('希尔伯特变换解包络');

subplot(3,1,3);
P3=stem(a,'k')
axis([0,40,-1,40]);
legend(['为了便于观察,f2比f1提前一个单位']);
title('实际的瞬时频率f1与希尔伯特变换得到的瞬时频率f2');


while a<40
    a=a+0.01;
    y2=sin(a*x);
    y3=y2.*y1;


    z = hilbert(y3');                               %运用希尔伯特变换生成解析信号
    inst_amplitude = abs(z)';                       %提
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值