当前位置:网站首页>Hilbert 变换与瞬时频率
Hilbert 变换与瞬时频率
2022-07-28 23:53:00 【jk_101】
Hilbert 变换仅可估计单分量信号的瞬时频率。单分量信号在时频平面中用单一“脊”来描述。单分量信号包括单一正弦波信号和 chirp 等信号。
生成以 1 kHz 采样的时长为两秒的 chirp 信号。指定 chirp 信号的最初频率为 100 Hz,一秒后增加到 200 Hz。
fs = 1000;
t = 0:1/fs:2-1/fs;
y = chirp(t,100,1,200);使用通过 pspectrum 函数实现的短时傅里叶变换来估计 chirp 信号的频谱图。下图中每个时间点有一个峰值频率,很好地描述了这一信号。
pspectrum(y,fs,'spectrogram')如图所示:

计算解析信号并对相位进行微分以得到瞬时频率。对导数进行缩放以得到有意义的估计。
z = hilbert(y);
instfrq = fs/(2*pi)*diff(unwrap(angle(z)));
clf
plot(t(2:end),instfrq)
ylim([0 fs/2])如图所示:

instfreq 函数只需一步即可计算并显示瞬时频率。
instfreq(y,fs,'Method','hilbert')如图所示:

当信号不是单分量时,该方法会失败。生成频率为 60 Hz 和 90 Hz 的两个正弦波的总和,以 1023 Hz 采样两秒。计算并绘制频谱图。在每个时间点都显示存在两个分量。
fs = 1023;
t = 0:1/fs:2-1/fs;
x = sin(2*pi*60*t)+sin(2*pi*90*t);
pspectrum(x,fs,'spectrogram')
yticks([60 90])如图所示:

计算分析信号并对其相位求微分。放大包含正弦波频率的区域。分析信号预测瞬时频率,即正弦波频率的平均值。
z = hilbert(x);
instfrq = fs/(2*pi)*diff(unwrap(angle(z)));
plot(t(2:end),instfrq)
ylim([60 90])
xlabel('Time (s)')
ylabel('Frequency (Hz)')
如图所示:

instfreq 函数也估算平均值。
instfreq(x,fs,'Method','hilbert')如图所示:

要采用时间的函数来估算这两个频率,请使用 spectrogram 求功率频谱密度,使用 tfridge 跟踪两个脊。在 tfridge 中,将更改频率的罚分指定为 0.1。
[s,f,tt] = pspectrum(x,fs,'spectrogram');
numcomp = 2;
[fridge,~,lr] = tfridge(s,f,0.1,'NumRidges',numcomp);
pspectrum(x,fs,'spectrogram')
hold on
plot3(tt,fridge,abs(s(lr)),'LineWidth',4)
hold off
yticks([60 90])如图所示:

边栏推荐
- 【树莓派】widows电脑如何与树莓派连接
- Android必备的面试技能(含面试题和学习资料)
- 如何执行建设项目的时间影响分析?
- Educational Codeforces Round 132 (Rated for Div. 2)【A~C】
- 时序预测 | MATLAB实现TCN时间卷积神经网络的时间序列预测
- B站“崩溃”始末 2021.07.13 我们是这样崩的(转载)
- 【Jenkins笔记】入门,自由空间;持续集成企业微信;allure报告,持续集成电子邮件通知;构建定时任务
- 可视化全链路日志追踪
- DRF - web development mode, API interface, API interface testing tool, restful specification, serialization and deserialization, DRF installation and use
- Wechat campus bathroom reservation of small program completion work (6) opening defense ppt
猜你喜欢

The method of tracking the real-time market of London Silver

递归与分治

一元函数积分学之1__不定积分
![“index [hotel/jXLK5MTYTU-jO9WzJNob4w] already exists“](/img/f2/37a1e65eb1104d72128f96fc5d9c85.png)
“index [hotel/jXLK5MTYTU-jO9WzJNob4w] already exists“

MySQL stored procedure realizes the creation of a table (copy the structure of the original table and create a new table)

新一代超安全蜂窝电池,思皓爱跑上市,13.99万起售

mysql存储过程 实现创建一张表(复制原表的结构新建的表)

靠云业务独撑收入增长大梁,微软仍然被高估?

分类预测 | MATLAB实现TCN时间卷积神经网络的时序分类预测

Necessary interview skills for Android (including interview questions and learning materials)
随机推荐
“index [hotel/jXLK5MTYTU-jO9WzJNob4w] already exists“
新一代超安全蜂窝电池,思皓爱跑上市,13.99万起售
【commons-lang3专题】003- RandomStringUtils 专题
云函数实现网站自动化签到配置详解【Web函数/Nodejs/cookie】
Asynchronous mode worker thread
Daniel guild Games: summary and future outlook of this year
进程和线程知识点总结 2
mysql存储过程 实现创建一张表(复制原表的结构新建的表)
Wechat campus bathroom reservation for the finished product of applet graduation design (7) mid term inspection report
SQL Server 只有数据库文件,没有日志文件,恢复数据时报1813错误的解决方案
Method of converting inline elements to block elements
mysql分表之后怎么平滑上线?
DRF -- authentication, authority, frequency source code analysis, global exception handling, automatic generation of interface documents, RBAC introduction
一元函数积分学之1__不定积分
关于ThreadPool的一些注意事项
用CDO进行nc数据的不规则裁剪
消费行业数字化升级成“刚需”,weiit新零售SaaS为企业赋能!
What are the methods to track the real-time market of London Silver?
day8
追踪伦敦银实时行情的方法有哪些?