MATLAB的实现Hilbert变换程序_matlab
2018-12-07
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.zdh1909.com) 详细出处参考(转载请保留本链接):http://www.zdh1909.com/html/matlab/14925_2.html
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。
http://www.pinlue.com/style/images/nopic.gif