主要内容

解析信号与希尔伯特变换

这个希尔伯特函数查找有限数据块的精确分析信号。您还可以通过使用有限脉冲响应(FIR)希尔伯特变换器滤波器来计算虚部的近似值来生成分析信号。

生成一个由三个频率为203、721和1001 Hz的正弦波组成的序列。该序列在10 kHz下采样约1秒。使用希尔伯特函数计算分析信号。在0.01秒和0.03秒之间绘制分析信号。

fs=1e4;t=0:1/fs:1;x=2.5+cos(2*pi*203*t)+sin(2*pi*721*t)+cos(2*pi*1001*t);y=hilbert(x);plot(t,real(y),t,imag(y))xlim([0.01 0.03])图例(“真的”,“想象的”)头衔(“希尔伯特函数”)xlabel(‘时间’)

图中包含一个axes对象。标题为hilbert函数的axes对象包含两个line类型的对象。这些对象表示真实的、想象的。

计算原始序列和分析信号的功率谱密度的韦尔奇估计。将序列分成长度为256的汉明窗非重叠部分。验证分析信号在负频率下没有功率。

pwelch([x;y]),256,0,[],fs,“居中”)传奇(“原件”,“希尔伯特”)

图中包含一个轴对象。标题为“功率谱密度”的轴对象包含2个线型对象。这些物体代表原始的,希尔伯特。

使用设计过滤器函数设计60阶希尔伯特变换FIR滤波器。指定400 Hz的过渡宽度。可视化滤波器的频率响应。

fo=60;d=designfilt(“希尔伯特菲尔”,“过滤器订单”,fo,...“过渡宽度”,400,“采样器”频率(d,1024,fs)

Figure Filter Visualization Tool-幅值响应(dB)和相位响应包含轴对象和uitoolbar、uimenu类型的其他对象。具有标题幅值响应(dB)和相位响应的轴对象包含线型对象。

对正弦序列进行滤波,以近似分析信号的虚部。

hb=过滤器(d,x);

滤波器的群延迟,grd,等于过滤器顺序的一半。补偿这一延误。取下第一个grd虚部和末部的样本grd真实部分和时间向量的样本。在0.01秒和0.03秒之间绘制结果。

grd=fo/2;y2=x(1:end grd)+1j*hb(grd+1:end);t2=t(1:终点grd);图(t2,real(y2),t2,imag(y2))xlim([0.01 0.03])图例(“真的”,“想象的”)头衔(“FIR滤波器”)xlabel(‘时间’)

图中包含一个轴对象。带有标题FIR过滤器的axes对象包含2个line类型的对象。这些物体代表真实的、想象的。

估计近似分析信号的功率谱密度(PSD),并将其与希尔伯特后果

pwelch([y;[y2零(1,grd)]),,256,0,[],fs,“居中”)传奇(“希尔伯特”,“FIR滤波器”)

图中包含一个Axis对象。标题为功率谱密度的Axis对象包含2个line类型的对象。这些对象表示hilbert,FIR滤波器。

另见

|