X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Ftsa-4.2.4%2Finvfdemo.m;fp=octave_packages%2Ftsa-4.2.4%2Finvfdemo.m;h=2bdad84e0905e397819df244583df6fe573321c8;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/tsa-4.2.4/invfdemo.m b/octave_packages/tsa-4.2.4/invfdemo.m new file mode 100644 index 0000000..2bdad84 --- /dev/null +++ b/octave_packages/tsa-4.2.4/invfdemo.m @@ -0,0 +1,51 @@ +% invfdemo demonstrates Inverse Filtering + +% $Id: invfdemo.m 5090 2008-06-05 08:12:04Z schloegl $ % Copyright (C) 1997-2002,2008 by Alois Schloegl +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see . + +load eeg8s.mat; % load signal +ly=length(eeg8s); +Fs=128; +%a=earpyw(eeg8s',11); % Calculates AR(11) parameters with Yule-Walker method +a=lattice(eeg8s',11); % Calculates AR(11) parameters with Yule-Walker method + % The AR parameters are the weight taps of IIR Filter +isig=filter([1 -a],1,eeg8s); % Inverse filtering + + +subplot(221); +plot((1:ly)/Fs,eeg8s); +title('Signal'); +xlabel('t [sec]') + +subplot(223); +plot((1:ly)/Fs,isig); +xlabel('t [sec]') +title('Inverse filtered process'); + +subplot(222); +H=abs(fft(eeg8s,128)/ly).^2; +plot(1:Fs,H); +%plot([H mean(H)*ones(Fs,1)]); +ylabel('S(f)') +xlabel('f [Hz]') +title('Spectrum of original signal'); + +subplot(224); +H=abs(fft(isig,128)/ly).^2; +plot(1:Fs,H); +%plot([H mean(H)*ones(Fs,1)]); +ylabel('S(f)') +xlabel('f [Hz]') +title('Spectrum of inverse filtered signal');