当前位置:网站首页>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])
如图所示:
边栏推荐
- Consumer unit 消费单元
- Hash table~
- JWT token related configuration (global configuration identity authentication rewrites authenticate method)
- Implement Lmax disruptor queue from scratch (VI) analysis of the principle of disruptor solving pseudo sharing and consumers' elegant stopping
- 伦敦金即时行情带来什么机会?
- 【Web开发】Flask框架基础知识
- Android必备的面试技能(含面试题和学习资料)
- [AD learning] the course of PCB drawing in this marine vehicle competition
- DRF - web development mode, API interface, API interface testing tool, restful specification, serialization and deserialization, DRF installation and use
- 🧐 Table1 | finish your third line watch in one second
猜你喜欢
ThinkPHP高仿蓝奏云网盘系统程序
mysql存储过程 实现创建一张表(复制原表的结构新建的表)
Seven marketing strategies of NFT project
新拟态个人引导页源码
Techo hub Fuzhou Station dry goods attack | talk with developers about new industrial intelligence technology
Hash table~
状态压缩dp-蒙德里安的梦想
Cookie和Session
大页内存原理及使用设置
Cloud function realizes website automatic check-in configuration details [web function /nodejs/cookie]
随机推荐
Android必备的面试技能(含面试题和学习资料)
Some considerations about ThreadPool
【commons-lang3专题】002- RandomUtils 专题
ThinkPHP high imitation blue cloud disk system program
【commons-lang3专题】001-StringUtils 专题
Interview shock 69: is TCP reliable? Why?
大页内存原理及使用设置
JWT token related configuration (global configuration identity authentication rewrites authenticate method)
[Commons lang3 topic] 005- objectutils topic
小程序毕设作品之微信校园浴室预约小程序毕业设计成品(8)毕业设计论文模板
UE4 common printing information methods for debugging
对接支付宝支付
Consumer unit
A new generation of ultra safe cellular battery, Sihao aipao, is on the market, starting from 139900
Error reporting: Rong Lianyun sends SMS verification code message 500
Protective copy & stateless
system verilog常用语法
DRF - deserialization of serializer, fields and parameters, local and global hooks, use of modelserializer
将行内元素转换为块元素的方法
Educational Codeforces Round 132 (Rated for Div. 2)【A~C】