资源描述:
《Hilbert变换及谱分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hilbert变换及谱分析 (2012-03-2418:37:21)转载▼标签: hilbert 希尔伯特变换 包络分析分类: 学科知识Hilbert变换是一个很有用的变换,用它来做包络分析更是一种有效的数据处理方法。现用代码测试其变换效果第一个程序效果如下%Hilbert变换测试clcclearallcloseallts=0.001;fs=1/ts;N=200;f=50;k=0:N-1;t=k*ts;%信号变换%结论:sin信号Hilbert变换后为cos信号y=sin(2*pi*f*t);yh=hilbert(y); %matlab函数得到信号是合成的复信号yi=imag(
2、yh); %虚部为书上定义的Hilbert变换figuresubplot(211)plot(t,y)title('原始sin信号')subplot(212)plot(t,yi)title('Hilbert变换信号')%检验两次Hilbert变换的结果(理论上为原信号的负值)%结论:两次Hilbert变换的结果为原信号的负值yih=hilbert(yi);yii=imag(yih);max(y+yii)%信号与其Hilbert变换的正交性%结论:Hilbert变换后的信号与原信号正交sum(y.*yi)%谱分析%结论:Hilbert变换后合成的复信号的谱没有大于奈氏频率的频谱
3、,即其谱为单边的NFFT=2^nextpow2(N);f=fs*linspace(0,1,NFFT);Y=fft(y,NFFT)/N;YH=fft(yh,NFFT)/N;figuresubplot(211)plot(f,abs(Y))title('原信号的双边谱')xlabel('频率f(Hz)')ylabel('
4、Y(f)
5、')subplot(212)plot(f,abs(YH))title('信号Hilbert变换后组成的复信号的双边谱')xlabel('频率f(Hz)')ylabel('
6、YH(f)
7、') 第二个效果如下第一个包络测试可以看到,此包络分析得到的包络信号频率为20
8、Hz,包络信号的波形为余弦信号的绝对值信号,这是因为计算包络时是取绝对值得到的,从而使信号频率加倍。解决方法是把包络提升,远离0,如下第二个包络。第二个包络测试可以看到Hilbert包络分析可以有效提取包络和调制信号频率,和检波有一样的效果,而且更实用。第三个包络测试这是尝试一个任意形状的包络,可以看到除在边缘处有误差外,整体效果很好。 %包络分析(高中心频率的窄带信号分析)%基于:两个信号乘积的Hilbert变换取决于高频信号的Hilbert变换clcclearallcloseallts=0.001;fs=1/ts;N=200;k=0:N-1;t=k*ts;%原始信号f1=10;f
9、2=70;%a=cos(2*pi*f1*t); %包络1a=2+cos(2*pi*f1*t); %包络2%a=1./(1+t.^2*50); %包络3m=sin(2*pi*f2*t); %调制信号y=a.*m; %信号调制figuresubplot(241)plot(t,a)title('包络')subplot(242)plot(t,m)title('调制信号')subplot(243)plot(t,y)title('调制结果')%包络分析%结论:Hilbert变换可以有效提取包络、高频调制信号的频率等yh=hilbert(y);aa
10、bs=abs(yh); %包络的绝对值aangle=unwrap(angle(yh)); %包络的相位af=diff(aangle)/2/pi; %包络的瞬时频率,差分代替微分计算%NFFT=2^nextpow2(N);NFFT=2^nextpow2(1024*4); %改善栅栏效应f=fs*linspace(0,1,NFFT);YH=fft(yh,NFFT)/N; %Hilbert变换复信号的频谱A=fft(aabs,NFFT)/N; %包络的频谱subplot(245)plot
11、(t,aabs,t,a,'.')title('包络的绝对值')legend('包络分析结果','真实包络')subplot(246)plot(t,aangle)title('调制信号的相位')subplot(247)plot(t(1:end-1),af*fs)title('调制信号的瞬时频率')subplot(244)plot(f,abs(YH))title('原始信号的Hilbert谱')xlabel('频率f(Hz)')ylabel('
12、YH(f)
13、'