|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
这是我自己搞的一个仿真信号用小波与hilbert变换进行信号包络谱分析的程序
大家看一下,给点意见啊。我是结合书上的编的,有几个地方一直不懂,
1,许多论文上说hilbert变换是这样进行的:原始信号X(t)带通滤波,进行hilbert变换得到x^(t),作为虚部,
然后用w(t)= x(t)+jx^(t)作为解析信号。包络谱的求法是:a(t)=X(t)和x^(t)的平方和再开放.但是这个程序里面怎么没有这个功能??
2,plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));这句程序有点难懂,麻烦哪位编程高手解释一下??
程序如下:
- t=0:0.005:1*pi;
- fs=10000
- s=4*sin(2*200*pi*t).*(sin(2*4500*pi*t))+25*(sin(2*4500*pi*t));
- subplot(411);plot(t,s)
- [c,l]=wavedec(s,1,'db10');
- d1=wrcoef('d',c,l,'db10');
- a1=0;
- subplot(412);plot(d1);title('重构高频信号');
- y=hilbert(d1);
- y1=abs(y);
- ydata=y-mean(y);
- nfft=1024;
- p=abs(fft(y1,nfft));
- figure(2);
- plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));
- xlabel('频率');
- ylabel('功率谱');
复制代码 |
|