信号hilbert变换后功率谱不对
我最近做轴承故障诊断需要做功率谱,用hilbert变换包络检波后功率谱不正确。下面是我的两个验证程序,第一个是正确的,为什么第二个做hilbert变换后的功率谱就不对了呢?
请高手赐教:
fs=1000;
N=1024;
t=0:1/fs:(N-1)/fs;
x=sin(2*pi*100*t)+rand(size(t));
y=abs(fft(x)).^2/N;
subplot(221);
plot(t,x);
subplot(222);
plot((0:N/2-1)/N*fs,y(1:N/2))
fs=1000;
N=1024;
t=0:1/fs:(N-1)/fs;
x=sin(2*pi*100*t)+rand(size(t));
y1=hilbert(x);
y2=real(y1).^2;
y3=imag(y1).^2;
y=sqrt(y2+y3);
yy=abs(fft(y)).^2/N;
subplot(221);
plot(t,x);
subplot(222);plot((0:N/2-1)/N*fs,y(1:N/2))
y1=hilbert(x);
yy=abs(fft(y1)).^2/N;
这样求得yy就是功率谱吗?我记得课本上是y=hilbert(d1);
y1=imag(y).^2;
w=sqrt(d1.^2+y1)
y2=abs(w);
p=abs(fft(y2)).^2/N 才是!到底哪个正确啊
回复 1 # marry0539 的帖子
做Hilebert变换是获取信号的调制信息!!!变换后的功率谱为调制信号的功率谱!!! 你的算法应该是正确的啊,先对信号hilbert包络解调,然后傅里叶变换,幅值的平方除以采样点数就是包络谱啊,y=hilbert(x),P=abs(fft(y)).^2/N 回复 4 # 凤鸣荆楚 的帖子
其实大家回过头去看看hilbert函数的help ,就会发现,楼上的做法是正确的,楼主没必要再回去构造解析信号了 这么做出来的不是包络谱 这么做出来的不是包络谱
页:
[1]