分享

MATLAB的实现Hilbert变换程序_matlab

 cici0086 2011-06-06
MATLAB的实现Hilbert变换程序如下:

N=20;
n=0:N-1;
xn=cos(0.2*pi*n);
hxn=hilbert(xn);
%part 1
%compare FFT[x(n)] and FFT[Hilbert[x(n)]]
Xk=fft(xn);
hXk=fft(hxn);
aXk=abs(Xk);
ahXk=abs(hXk);
pXk=phase(Xk);
phXk=phase(hXk);
k=0:N-1;
subplot(2,2,1),stem(k,aXk)
xlabel('k');
title('amplitude of FFT[x(n)]');
subplot(2,2,2),stem(k,pXk)
xlabel('k');
title('phase of FFT[x(n)]');
subplot(2,2,3),stem(k,ahXk)
xlabel('k');
title('amplitude of Hilbert[x(n)]');
subplot(2,2,4),stem(k,phXk)
xlabel('k');
title('phase of FFT[Hilbertx(n)]');
%part 2
%method:if sum(xn.*hxn) is closely 0
add=sum(xn.*hxn)
%part 3:compare expansion function yhilbert.m and hilbert.m
y=hilbert(xn);
hxn
sn=sin(0.2*pi*n)
yn=imag(y)

本文来自: 高校自动化网(Www.) 详细出处参考(转载请保留本链接):http://www./html/matlab/14925_2.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多