⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 analytic.m

📁 很多matlab的源代码
💻 M
字号:
function y = analytic(x)
%ANALYTIC Analytic signal for a real function
%
%	y=ANALYTIC(x): Analytic signal y=x+j*H(x) of a real vector x 
%	where H(x) is the Hilbert transform of x.
%
%	ANALYTIC (with no input arguments) invokes the following example:
%
%	Find and plot the analytic signal for xx=sin(2*pi*t)
%	t=0:.01:0.99;xx=sin(2*pi*t);yy=analytic(xx);plot(t,[real(yy);imag(yy)])


% ADSP Toolbox: Version 2.0 
% For use with "Analog and Digital Signal Processing", 2nd Ed.
% Published by PWS Publishing Co.
%
% Ashok Ambardar, EE Dept. MTU, Houghton, MI 49931, USA
% http://www.ee.mtu/faculty/akambard.html
% e-mail: akambard@mtu.edu
% Copyright (c) 1998


if nargin==0,help analytic,disp('Strike a key to see results of the example')
pause,t=0:.01:0.99;xx=sin(2*pi*t);yy=analytic(xx);
plot(t,real(yy),'r',t,imag(yy),'g'),grid
title('Real (r) and imag (g) part of analytic signal'),return,end


j=sqrt(-1);
n=length(x);if n==1,y=x+j*x;return,end      % Trivial case
y=fft(x);                                   % X(f)
y(:)=-j*[0;sign(n/2-(1:n-1)')].*y(:);       % -j*sgn(f)*X(f)
y = x+j*real(ifft(y));                      % Analytic signal

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -