Reorganization
Allan Cornet [Wed, 16 Aug 2006 09:25:51 +0000 (09:25 +0000)]
Signal Processing Module

move files macros & man & .fundef

224 files changed:
scilab/macros/buildmacros.sce
scilab/modules/core/sci_gateway/fundef
scilab/modules/signal_processing/changelog.txt [new file with mode: 0644]
scilab/modules/signal_processing/etc/signal.quit [new file with mode: 0644]
scilab/modules/signal_processing/etc/signal.start [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/Signal.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/analpf.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/buttmag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/casc.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/cepstrum.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/cheb1mag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/cheb2mag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/chepol.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/convol.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/corr.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/cspect.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/czt.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/detrend.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/dft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/ell1mag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/eqfir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/eqiir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/faurre.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/ffilt.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/fft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/fft2.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/fftshift.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/filter.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/find_freq.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/findm.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/frfit.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/frmag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/fsfirlin.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/group.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/hank.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/helpbuildereng.sce [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/hilb.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/iir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/iirgroup.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/iirlp.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/intdec.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/jmat.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/kalm.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/lattn.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/lattp.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/lev.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/levin.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/lgfft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/lindquist.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/mese.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/mfft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/mrfit.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/percentasn.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/percentk.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/percentsn.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/phc.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/pspect.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/remez.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/remezb.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/rpem.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/sinc.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/sincd.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/srfaur.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/srkf.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/sskf.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/system.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/trans.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/wfir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/wiener.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/wigner.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/window.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/yulewalk.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/zpbutt.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/zpch1.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/zpch2.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/eng/zpell.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/Signal.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/analpf.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/buttmag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/casc.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/cepstrum.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/cheb1mag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/cheb2mag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/chepol.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/convol.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/corr.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/cspect.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/czt.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/detrend.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/dft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/ell1mag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/eqfir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/eqiir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/faurre.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/ffilt.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/fft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/fft2.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/fftshift.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/filter.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/find_freq.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/findm.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/frfit.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/frmag.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/fsfirlin.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/group.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/hank.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/helpbuilderfr.sce [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/hilb.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/iir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/iirgroup.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/iirlp.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/intdec.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/jmat.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/kalm.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/lattn.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/lattp.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/lev.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/levin.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/lgfft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/lindquist.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/mese.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/mfft.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/mrfit.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/percentasn.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/percentk.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/percentsn.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/phc.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/pspect.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/remez.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/remezb.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/rpem.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/sinc.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/sincd.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/srfaur.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/srkf.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/sskf.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/system.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/trans.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/wfir.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/wiener.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/wigner.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/window.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/yulewalk.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/zpbutt.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/zpch1.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/zpch2.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/fr/zpell.xml [new file with mode: 0644]
scilab/modules/signal_processing/help/helpbuilder.sce [new file with mode: 0644]
scilab/modules/signal_processing/licence.txt [new file with mode: 0644]
scilab/modules/signal_processing/macros/%asn.sci [moved from scilab/macros/signal/%asn.sci with 100% similarity]
scilab/modules/signal_processing/macros/%k.sci [moved from scilab/macros/signal/%k.sci with 100% similarity]
scilab/modules/signal_processing/macros/%sn.sci [moved from scilab/macros/signal/%sn.sci with 100% similarity]
scilab/modules/signal_processing/macros/analpf.sci [moved from scilab/macros/signal/analpf.sci with 100% similarity]
scilab/modules/signal_processing/macros/bilt.sci [moved from scilab/macros/signal/bilt.sci with 100% similarity]
scilab/modules/signal_processing/macros/buildmacros.sce [moved from scilab/macros/signal/buildmacros.sce with 80% similarity]
scilab/modules/signal_processing/macros/buttmag.sci [moved from scilab/macros/signal/buttmag.sci with 100% similarity]
scilab/modules/signal_processing/macros/casc.sci [moved from scilab/macros/signal/casc.sci with 100% similarity]
scilab/modules/signal_processing/macros/cepstrum.sci [moved from scilab/macros/signal/cepstrum.sci with 100% similarity]
scilab/modules/signal_processing/macros/cheb1mag.sci [moved from scilab/macros/signal/cheb1mag.sci with 100% similarity]
scilab/modules/signal_processing/macros/cheb2mag.sci [moved from scilab/macros/signal/cheb2mag.sci with 100% similarity]
scilab/modules/signal_processing/macros/chepol.sci [moved from scilab/macros/signal/chepol.sci with 100% similarity]
scilab/modules/signal_processing/macros/convol.sci [moved from scilab/macros/signal/convol.sci with 100% similarity]
scilab/modules/signal_processing/macros/cspect.sci [moved from scilab/macros/signal/cspect.sci with 100% similarity]
scilab/modules/signal_processing/macros/czt.sci [moved from scilab/macros/signal/czt.sci with 100% similarity]
scilab/modules/signal_processing/macros/detrend.sci [moved from scilab/macros/signal/detrend.sci with 100% similarity]
scilab/modules/signal_processing/macros/dft.sci [moved from scilab/macros/signal/dft.sci with 100% similarity]
scilab/modules/signal_processing/macros/ell1mag.sci [moved from scilab/macros/signal/ell1mag.sci with 100% similarity]
scilab/modules/signal_processing/macros/eqfir.sci [moved from scilab/macros/signal/eqfir.sci with 100% similarity]
scilab/modules/signal_processing/macros/eqiir.sci [moved from scilab/macros/signal/eqiir.sci with 100% similarity]
scilab/modules/signal_processing/macros/faurre.sci [moved from scilab/macros/signal/faurre.sci with 100% similarity]
scilab/modules/signal_processing/macros/ffilt.sci [moved from scilab/macros/signal/ffilt.sci with 100% similarity]
scilab/modules/signal_processing/macros/fft2.sci [moved from scilab/macros/signal/fft2.sci with 100% similarity]
scilab/modules/signal_processing/macros/fftshift.sci [moved from scilab/macros/signal/fftshift.sci with 100% similarity]
scilab/modules/signal_processing/macros/find_freq.sci [moved from scilab/macros/signal/find_freq.sci with 100% similarity]
scilab/modules/signal_processing/macros/findm.sci [moved from scilab/macros/signal/findm.sci with 100% similarity]
scilab/modules/signal_processing/macros/frfit.sci [moved from scilab/macros/signal/frfit.sci with 100% similarity]
scilab/modules/signal_processing/macros/frmag.sci [moved from scilab/macros/signal/frmag.sci with 100% similarity]
scilab/modules/signal_processing/macros/fsfirlin.sci [moved from scilab/macros/signal/fsfirlin.sci with 100% similarity]
scilab/modules/signal_processing/macros/group.sci [moved from scilab/macros/signal/group.sci with 100% similarity]
scilab/modules/signal_processing/macros/hank.sci [moved from scilab/macros/signal/hank.sci with 100% similarity]
scilab/modules/signal_processing/macros/hilb.sci [moved from scilab/macros/signal/hilb.sci with 100% similarity]
scilab/modules/signal_processing/macros/ifft.sci [moved from scilab/macros/signal/ifft.sci with 100% similarity]
scilab/modules/signal_processing/macros/iir.sci [moved from scilab/macros/signal/iir.sci with 100% similarity]
scilab/modules/signal_processing/macros/iirgroup.sci [moved from scilab/macros/signal/iirgroup.sci with 100% similarity]
scilab/modules/signal_processing/macros/iirlp.sci [moved from scilab/macros/signal/iirlp.sci with 100% similarity]
scilab/modules/signal_processing/macros/iirmod.sci [moved from scilab/macros/signal/iirmod.sci with 100% similarity]
scilab/modules/signal_processing/macros/intdec.sci [moved from scilab/macros/signal/intdec.sci with 100% similarity]
scilab/modules/signal_processing/macros/jmat.sci [moved from scilab/macros/signal/jmat.sci with 100% similarity]
scilab/modules/signal_processing/macros/kalm.sci [moved from scilab/macros/signal/kalm.sci with 100% similarity]
scilab/modules/signal_processing/macros/lattn.sci [moved from scilab/macros/signal/lattn.sci with 100% similarity]
scilab/modules/signal_processing/macros/lev.sci [moved from scilab/macros/signal/lev.sci with 100% similarity]
scilab/modules/signal_processing/macros/levin.sci [moved from scilab/macros/signal/levin.sci with 100% similarity]
scilab/modules/signal_processing/macros/lgfft.sci [moved from scilab/macros/signal/lgfft.sci with 100% similarity]
scilab/modules/signal_processing/macros/lindquist.sci [moved from scilab/macros/signal/lindquist.sci with 100% similarity]
scilab/modules/signal_processing/macros/mese.sci [moved from scilab/macros/signal/mese.sci with 100% similarity]
scilab/modules/signal_processing/macros/mfft.sci [moved from scilab/macros/signal/mfft.sci with 100% similarity]
scilab/modules/signal_processing/macros/mrfit.sci [moved from scilab/macros/signal/mrfit.sci with 100% similarity]
scilab/modules/signal_processing/macros/phc.sci [moved from scilab/macros/signal/phc.sci with 100% similarity]
scilab/modules/signal_processing/macros/pspect.sci [moved from scilab/macros/signal/pspect.sci with 100% similarity]
scilab/modules/signal_processing/macros/remezb.sci [moved from scilab/macros/signal/remezb.sci with 100% similarity]
scilab/modules/signal_processing/macros/sincd.sci [moved from scilab/macros/signal/sincd.sci with 100% similarity]
scilab/modules/signal_processing/macros/srfaur.sci [moved from scilab/macros/signal/srfaur.sci with 100% similarity]
scilab/modules/signal_processing/macros/srkf.sci [moved from scilab/macros/signal/srkf.sci with 100% similarity]
scilab/modules/signal_processing/macros/sskf.sci [moved from scilab/macros/signal/sskf.sci with 100% similarity]
scilab/modules/signal_processing/macros/system.sci [moved from scilab/macros/signal/system.sci with 100% similarity]
scilab/modules/signal_processing/macros/trans.sci [moved from scilab/macros/signal/trans.sci with 100% similarity]
scilab/modules/signal_processing/macros/wfir.sci [moved from scilab/macros/signal/wfir.sci with 100% similarity]
scilab/modules/signal_processing/macros/wiener.sci [moved from scilab/macros/signal/wiener.sci with 100% similarity]
scilab/modules/signal_processing/macros/wigner.sci [moved from scilab/macros/signal/wigner.sci with 100% similarity]
scilab/modules/signal_processing/macros/window.sci [moved from scilab/macros/signal/window.sci with 100% similarity]
scilab/modules/signal_processing/macros/yulewalk.sci [moved from scilab/macros/signal/yulewalk.sci with 100% similarity]
scilab/modules/signal_processing/macros/zpbutt.sci [moved from scilab/macros/signal/zpbutt.sci with 100% similarity]
scilab/modules/signal_processing/macros/zpch1.sci [moved from scilab/macros/signal/zpch1.sci with 100% similarity]
scilab/modules/signal_processing/macros/zpch2.sci [moved from scilab/macros/signal/zpch2.sci with 100% similarity]
scilab/modules/signal_processing/macros/zpell.sci [moved from scilab/macros/signal/zpell.sci with 100% similarity]
scilab/modules/signal_processing/readme.txt [new file with mode: 0644]
scilab/modules/signal_processing/sci_gateway/signal.fundef [moved from scilab/routines/signal/signal.fundef with 100% similarity]
scilab/routines/signal/sci_amell.f
scilab/routines/signal/sci_delip.f
scilab/routines/signal/sci_fft.f
scilab/routines/signal/sci_remez.f
scilab/routines/signal/sci_rpem.f
scilab/routines/signal/sci_syredi.f
scilab/scilab.start

index 2c158e5..794bd21 100644 (file)
@@ -11,12 +11,12 @@ CurrentDirectory=pwd();
  "int",
  "robust",
  "sci2for",
- "signal",
  "statistics",
  "tdcs",
-  "gui",
+ "gui",
   ];
   
+ Directories=[Directories;"SCI/modules/signal_processing/macros"];  
  Directories=[Directories;"SCI/modules/sparse/macros"];
  Directories=[Directories;"SCI/modules/polynomials/macros"];      
  Directories=[Directories;"SCI/modules/string/macros"];      
index ddc7099..01ba6e8 100644 (file)
@@ -48,7 +48,7 @@
 #include "../../../../routines/interf/list.fundef"  
 
 #define  IN_sigelm  18  
-#include "../../../../routines/signal/signal.fundef"
+#include "../../signal_processing/sci_gateway/signal.fundef"
 
 #define  IN_intinterp  19
 #include "../../../../routines/interf/interp.fundef"  
diff --git a/scilab/modules/signal_processing/changelog.txt b/scilab/modules/signal_processing/changelog.txt
new file mode 100644 (file)
index 0000000..ab48ce8
--- /dev/null
@@ -0,0 +1 @@
+changelog signal_processing module
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/etc/signal.quit b/scilab/modules/signal_processing/etc/signal.quit
new file mode 100644 (file)
index 0000000..454c6c0
--- /dev/null
@@ -0,0 +1,16 @@
+// ====================================================================\r
+// This file contains command to be executed at the end \r
+// of a scilab session for signal_processing module\r
+// Copyright INRIA 2006\r
+// ====================================================================\r
+// delete help chapter\r
+global LANGUAGE\r
+\r
+if LANGUAGE == 'fr' then\r
+       del_help_chapter("Traitement du Signal");\r
+elseif LANGUAGE == 'eng' then\r
+       del_help_chapter("Signal Processing");\r
+end\r
+\r
+clear del_help_chapter LANGUAGE;\r
+// ====================================================================\r
diff --git a/scilab/modules/signal_processing/etc/signal.start b/scilab/modules/signal_processing/etc/signal.start
new file mode 100644 (file)
index 0000000..64153dc
--- /dev/null
@@ -0,0 +1,23 @@
+// ====================================================================\r
+// signal_processing module initialisation file \r
+// Copyright INRIA 2006\r
+// ====================================================================\r
+//Load  functions librarie\r
+load('SCI/modules/signal_processing/macros/lib');\r
+// ====================================================================\r
+//add help chapter\r
+global LANGUAGE\r
+\r
+path = get_absolute_file_path('signal.start');\r
+path = getshortpathname(path);\r
+\r
+if LANGUAGE == 'fr' then\r
+       path = pathconvert(part(path,1:(length(path)-5))+'/help/fr',%f,%f);\r
+       add_help_chapter("Traitement du Signal",path);\r
+elseif LANGUAGE == 'eng' then\r
+       path = pathconvert(part(path,1:(length(path)-5))+'/help/eng',%f,%f);\r
+       add_help_chapter("Signal Processing",path);\r
+end\r
+\r
+clear path get_absolute_file_path add_help_chapter LANGUAGE;\r
+// ====================================================================\r
diff --git a/scilab/modules/signal_processing/help/eng/Signal.xml b/scilab/modules/signal_processing/help/eng/Signal.xml
new file mode 100644 (file)
index 0000000..4296b00
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>Signal</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="Signal"> Signal manual description</SHORT_DESCRIPTION>
+  <SECTION label="Filters">
+    <ITEMIZE>
+      <ITEM label="analpf">
+        <SP>: analog low-pass filter</SP>
+      </ITEM>
+      <ITEM label="buttmag">
+        <SP>: squared magnitude response of a Butterworth filter</SP>
+      </ITEM>
+      <ITEM label="casc">
+        <SP>: creates cascade realization of filter</SP>
+      </ITEM>
+      <ITEM label="cheb1mag">
+        <SP>: square magnitude response of a type 1 Chebyshev filter</SP>
+      </ITEM>
+      <ITEM label="cheb2mag">
+        <SP>: square magnitude response of a type 1 Chebyshev filter</SP>
+      </ITEM>
+      <ITEM label="chepol">
+        <SP>: recursive implementation of Chebychev polynomial</SP>
+      </ITEM>
+      <ITEM label="convol">
+        <SP>: convolution of 2 discrete series</SP>
+      </ITEM>
+      <ITEM label="ell1 mag">
+        <SP>: squared magnitude of an elliptic filter</SP>
+      </ITEM>
+      <ITEM label="eqfir">
+        <SP>: minimax multi-band, linear phase, FIR filter</SP>
+      </ITEM>
+      <ITEM label="eqiir">
+        <SP>: design of iir filter</SP>
+      </ITEM>
+      <ITEM label="faurre">
+        <SP>: optimal lqg filter.</SP>
+      </ITEM>
+      <ITEM label="lindquis">
+        <SP>: optimal lqg filter lindquist algorithm</SP>
+      </ITEM>
+      <ITEM label="ffilt">
+        <SP>: FIR low-pass,high-pass, band-pass, or stop-band filter</SP>
+      </ITEM>
+      <ITEM label="filter">
+        <SP>: compute the filter model</SP>
+      </ITEM>
+      <ITEM label="find_freq">
+        <SP>: parameter compatibility for elliptic filter design</SP>
+      </ITEM>
+      <ITEM label="findm">
+        <SP>: for elliptic filter design</SP>
+      </ITEM>
+      <ITEM label="frmag">
+        <SP>: magnitude of the frequency responses of FIR and IIR filters.</SP>
+      </ITEM>
+      <ITEM label="fsfirlin">
+        <SP>: design of FIR, linear phase (frequency sampling technique)</SP>
+      </ITEM>
+      <ITEM label="fwiir">
+        <SP>: optimum design of IIR filters in cascade realization,</SP>
+      </ITEM>
+      <ITEM label="iir">
+        <SP>: designs an iir digital filter using analog filter designs.</SP>
+      </ITEM>
+      <ITEM label="iirgroup">
+        <SP>: group delay of iir filter</SP>
+      </ITEM>
+      <ITEM label="iirlp">
+        <SP>: Lp IIR filters optimization</SP>
+      </ITEM>
+      <ITEM label="group">
+        <SP>: calculate the group delay of a digital filter</SP>
+      </ITEM>
+      <ITEM label="optfir">
+        <SP>: optimal design of linear phase filters using linear programming</SP>
+      </ITEM>
+      <ITEM label="remezb">
+        <SP>: minimax approximation of a frequency domain magnitude response.</SP>
+      </ITEM>
+      <ITEM label="kalm">
+        <SP>: Kalman update and error variance</SP>
+      </ITEM>
+      <ITEM label="lev">
+        <SP>: resolve the Yule-Walker equations :</SP>
+      </ITEM>
+      <ITEM label="levin">
+        <SP>: solve recursively Toeplitz system (normal equations)</SP>
+      </ITEM>
+      <ITEM label="srfaur">
+        <SP>: square-root algorithm for the algebraic Riccati equation.</SP>
+      </ITEM>
+      <ITEM label="srkf">
+        <SP>: square-root Kalman filter algorithm</SP>
+      </ITEM>
+      <ITEM label="sskf">
+        <SP>: steady-state Kalman filter</SP>
+      </ITEM>
+      <ITEM label="system">
+        <SP>: generates the next observation given the old state</SP>
+      </ITEM>
+      <ITEM label="trans">
+        <SP>: transformation of standardized low-pass filter into low-pass, high-pass, band-pass, stop-band.</SP>
+      </ITEM>
+      <ITEM label="wfir">
+        <SP>: linear-phase windowed FIR low-pass, band-pass, high-pass, stop-band</SP>
+      </ITEM>
+      <ITEM label="wiener">
+        <SP>: Wiener estimate (forward-backward Kalman filter formulation)</SP>
+      </ITEM>
+      <ITEM label="wigner">
+        <SP>: time-frequency wigner spectrum of a signal.</SP>
+      </ITEM>
+      <ITEM label="window">
+        <SP>: calculate symmetric window</SP>
+      </ITEM>
+      <ITEM label="zpbutt">
+        <SP>: Butterworth analog filter</SP>
+      </ITEM>
+      <ITEM label="zpch1">
+        <SP>: poles of a type 1 Chebyshev analog filter</SP>
+      </ITEM>
+      <ITEM label="zpch2">
+        <SP>: poles and zeros of a type 2 Chebyshev analog filter</SP>
+      </ITEM>
+      <ITEM label="zpell">
+        <SP>: poles and zeros of prototype lowpass elliptic filter</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Spectral estimation">
+    <ITEMIZE>
+      <ITEM label="corr">
+        <SP>: correlation coefficients</SP>
+      </ITEM>
+      <ITEM label="cspect">
+        <SP>: spectral estimation using the modified periodogram method.</SP>
+      </ITEM>
+      <ITEM label="czt">
+        <SP>: chirp z-transform algorithm</SP>
+      </ITEM>
+      <ITEM label="intdec">
+        <SP>: change the sampling rate of a 1D or 2D signal</SP>
+      </ITEM>
+      <ITEM label="mese">
+        <SP>: calculate the maximum entropy spectral estimate</SP>
+      </ITEM>
+      <ITEM label="pspect">
+        <SP>: auto and cross-spectral estimate</SP>
+      </ITEM>
+      <ITEM label="wigner">
+        <SP>: Wigner-Ville time/frequency spectral estimation</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Transforms">
+    <ITEMIZE>
+      <ITEM label="dft">
+        <SP>: discrete Fourier transform</SP>
+      </ITEM>
+      <ITEM label="fft">
+        <SP>: fast flourier transform</SP>
+      </ITEM>
+      <ITEM label="hilb">
+        <SP>: Hilbert transform centred around the origin.</SP>
+      </ITEM>
+      <ITEM label="hank">
+        <SP>: hankel matrix of the covariance sequence of a vector process</SP>
+      </ITEM>
+      <ITEM label="mfft">
+        <SP>: fft for a multi-dimensional signal</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Identification">
+    <ITEMIZE>
+      <ITEM label="lattn,lattp">
+        <SP>: recursive solution of normal equations</SP>
+      </ITEM>
+      <ITEM label="phc">
+        <SP>: State space realisation by the principal hankel component  approximation method,</SP>
+      </ITEM>
+      <ITEM label="rpem">
+        <SP>: identification by the recursive prediction error method</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Miscellaneous">
+    <ITEMIZE>
+      <ITEM label="lgfft">
+        <SP>: computes p = ceil (log_2(x))</SP>
+      </ITEM>
+      <ITEM label="sinc">
+        <SP>: calculate the function sin(2*pi*fl*t)/(pi*t)</SP>
+      </ITEM>
+      <ITEM label="sincd">
+        <SP>: calculates the function Sin(N*x)/Sin(x)</SP>
+      </ITEM>
+      <ITEM label="%k">
+        <SP>: Jacobi's complete elliptic integral</SP>
+      </ITEM>
+      <ITEM label="%asn">
+        <SP>: .TP the elliptic integral :</SP>
+      </ITEM>
+      <ITEM label="%sn">
+        <SP>: Jacobi 's elliptic function with parameter m</SP>
+      </ITEM>
+      <ITEM label="bilt">
+        <SP>: bilinear transform or biquadratic transform.</SP>
+      </ITEM>
+      <ITEM label="jmat">
+        <SP>: permutes block rows or block columns of a matrix</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/analpf.xml b/scilab/modules/signal_processing/help/eng/analpf.xml
new file mode 100644 (file)
index 0000000..99d418f
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>analpf</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="analpf"> create analog low-pass filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[hs,pols,zers,gain]=analpf(n,fdesign,rp,omega)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive integer : filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fdesign</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : filter design method : <VERB>'butt'</VERB> or <VERB>'cheb1'</VERB> or <VERB>'cheb2'</VERB> or <VERB>'ellip'</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>rp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 2-vector of error values for cheb1, cheb2 and ellip filters where only <VERB>rp(1)</VERB> is used for cheb1 case, only <VERB>rp(2)</VERB> is used for cheb2 case, and <VERB>rp(1)</VERB> and <VERB>rp(2)</VERB> are both used for ellip case.  <VERB>0&lt;rp(1),rp(2)&lt;1</VERB></SP>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for cheb1 filters <VERB>1-rp(1)&lt;ripple&lt;1</VERB> in passband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for cheb2 filters <VERB>0&lt;ripple&lt;rp(2)</VERB> in stopband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for ellip filters <VERB>1-rp(1)&lt;ripple&lt;1</VERB> in passband <VERB>0&lt;ripple&lt;rp(2)</VERB> in stopband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omega</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: cut-off frequency of low-pass filter in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>hs</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: rational polynomial transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>pols</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: poles of transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zers</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: zeros of transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>gain</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: gain of transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Creates analog low-pass filter with cut-off frequency at omega.</P>
+    <P>
+      <VERB>hs=gain*poly(zers,'s')/poly(pols,'s')</VERB>
+    </P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//Evaluate magnitude response of continuous-time system 
+hs=analpf(4,'cheb1',[.1 0],5)
+fr=0:.1:15;
+hf=freq(hs(2),hs(3),%i*fr);
+hm=abs(hf);
+plot(fr,hm)
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/buttmag.xml b/scilab/modules/signal_processing/help/eng/buttmag.xml
new file mode 100644 (file)
index 0000000..392e767
--- /dev/null
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>buttmag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="buttmag">  response of Butterworth filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[h]=buttmag(order,omegac,sample)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>order</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegac</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : cut-off frequency in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sample</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of frequency where <VERB>buttmag</VERB> is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Butterworth filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    squared magnitude response of a Butterworth filter
+    <VERB>omegac</VERB> = cutoff frequency ; <VERB>sample</VERB> = sample of frequencies</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//squared magnitude response of Butterworth filter
+h=buttmag(13,300,1:1000);
+mag=20*log(h)'/log(10);
+plot2d((1:1000)',mag,[2],"011"," ",[0,-180,1000,20])
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>F. D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/casc.xml b/scilab/modules/signal_processing/help/eng/casc.xml
new file mode 100644 (file)
index 0000000..827241e
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>casc</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="casc">  cascade realization of filter from coefficients</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[cels]=casc(x,z)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: (4xN)-matrix where each column is a cascade element, the first two column entries being the numerator coefficients and the second two column entries being the denominator coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>z</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string representing the cascade variable</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cels</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting cascade representation</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Creates cascade realization of filter from a matrix of coefficients
+    (utility function).</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+x=[1,2,3;4,5,6;7,8,9;10,11,12]
+cels=casc(x,'z')
+ ]]>
+  </EXAMPLE>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/cepstrum.xml b/scilab/modules/signal_processing/help/eng/cepstrum.xml
new file mode 100644 (file)
index 0000000..9b20438
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cepstrum</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cepstrum"> cepstrum calculation</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>fresp = cepstrum(w,mag)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>w</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive real vector of frequencies (rad/sec)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>mag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real vector of magnitudes (same size as <VERB>w</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fresp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: complex vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P><VERB>fresp = cepstrum(w,mag)</VERB> returns a frequency response <VERB>fresp(i)</VERB>
+    whose magnitude at frequency <VERB>w(i)</VERB> equals <VERB>mag(i)</VERB>  and such
+    that the phase of <VERB>freq</VERB> corresponds to a stable and minimum phase
+    system. <VERB>w</VERB> needs not to be sorted, but  minimal entry should not be
+    close to zero and all the entries of <VERB>w</VERB> should be different.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+w=0.1:0.1:5;mag=1+abs(sin(w));
+fresp=cepstrum(w,mag);
+plot2d([w',w'],[mag(:),abs(fresp)])
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>frfit</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/cheb1mag.xml b/scilab/modules/signal_processing/help/eng/cheb1mag.xml
new file mode 100644 (file)
index 0000000..0a92f3f
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cheb1mag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cheb1mag">  response of Chebyshev type 1 filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[h2]=cheb1mag(n,omegac,epsilon,sample)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegac</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : cut-off frequency</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>epsilon</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : ripple in pass band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sample</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of frequencies where <VERB>cheb1mag</VERB> is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h2</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Chebyshev I filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Square magnitude response of a type 1 Chebyshev filter.</P>
+    <P><VERB>omegac</VERB>=passband edge.</P>
+    <P><VERB>epsilon</VERB>: such that <VERB>1/(1+epsilon^2)</VERB>=passband ripple.</P>
+    <P><VERB>sample</VERB>: vector of frequencies where the square magnitude
+    is desired.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//Chebyshev; ripple in the passband
+n=13;epsilon=0.2;omegac=3;sample=0:0.05:10;
+h=cheb1mag(n,omegac,epsilon,sample);
+plot2d(sample,h)
+xtitle('','frequencies','magnitude')
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>buttmag</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/cheb2mag.xml b/scilab/modules/signal_processing/help/eng/cheb2mag.xml
new file mode 100644 (file)
index 0000000..2f4bcf6
--- /dev/null
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cheb2mag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cheb2mag"> response of type 2 Chebyshev filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[h2]=cheb2mag(n,omegar,A,sample)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer ; filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real scalar : cut-off frequency</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>A</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: attenuation in stop band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sample</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of frequencies where cheb2mag is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h2</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of Chebyshev II filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Square magnitude response of a type 2 Chebyshev filter.</P>
+    <P><VERB>omegar</VERB> = stopband edge, <VERB>sample</VERB> = vector of 
+    frequencies where the square magnitude <VERB>h2</VERB> is desired.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//Chebyshev; ripple in the stopband
+n=10;omegar=6;A=1/0.2;sample=0.0001:0.05:10;
+h2=cheb2mag(n,omegar,A,sample);
+plot(sample,log(h2)/log(10),'frequencies','magnitude in dB')
+//Plotting of frequency edges
+minval=(-maxi(-log(h2)))/log(10);
+plot2d([omegar;omegar],[minval;0],[2],"000");
+//Computation of the attenuation in dB at the stopband edge
+attenuation=-log(A*A)/log(10);
+plot2d(sample',attenuation*ones(sample)',[5],"000")
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>cheb1mag</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/chepol.xml b/scilab/modules/signal_processing/help/eng/chepol.xml
new file mode 100644 (file)
index 0000000..decaaed
--- /dev/null
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>chepol</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="chepol"> Chebychev polynomial</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[Tn]=chepol(n,var)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : polynomial order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>var</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : polynomial variable</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>Tn</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: polynomial in the variable <VERB>var</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Recursive implementation of Chebychev polynomial.
+    <VERB>Tn=2*poly(0,var)*chepol(n-1,var)-chepol(n-2,var)</VERB> with
+    <VERB>T0=1</VERB> and <VERB>T1=poly(0,var)</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+chepol(4,'x')
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>F. D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/convol.xml b/scilab/modules/signal_processing/help/eng/convol.xml
new file mode 100644 (file)
index 0000000..515731e
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>convol</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="convol"> convolution</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y]=convol(h,x)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[y,e1]=convol(h,x,e0)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x,h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>:input sequences (<VERB>h</VERB> is a &quot;short&quot; sequence, <VERB>x</VERB> a &quot;long&quot; one)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>e0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: old tail to overlap add (not used in first call)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output of convolution</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>e1</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: new tail to overlap add (not used in last call)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    calculates the convolution <VERB>y= h*x</VERB> of two
+    discrete sequences by using the fft.  Overlap add method can be used.</P>
+    <P>
+    USE OF OVERLAP ADD METHOD: 
+    For x=[x1,x2,...,xNm1,xN]
+    First call is [y1,e1]=convol(h,x1); 
+    Subsequent calls : [yk,ek]=convol(h,xk,ekm1);
+    Final call : [yN]=convol(h,xN,eNm1);
+    Finally y=[y1,y2,...,yNm1,yN]</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+x=1:3;
+h1=[1,0,0,0,0];h2=[0,1,0,0,0];h3=[0,0,1,0,0];
+x1=convol(h1,x),x2=convol(h2,x),x3=convol(h3,x),
+convol(h1+h2+h3,x)
+p1=poly(x,'x','coeff')
+p2=poly(h1+h2+h3,'x','coeff')
+p1*p2
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>corr</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>pspect</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>F. D , C. Bunks Date 3 Oct. 1988; ;   </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/corr.xml b/scilab/modules/signal_processing/help/eng/corr.xml
new file mode 100644 (file)
index 0000000..92dded4
--- /dev/null
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>corr</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="corr"> correlation, covariance</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[cov,Mean]=corr(x,[y],nlags)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[cov,Mean]=corr('fft',xmacro,[ymacro],n,sect)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[w,xu]=corr('updt',x1,[y1],w0)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[w,xu]=corr('updt',x2,[y2],w,xu)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM> ...  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[wk]=corr('updt',xk,[yk],w,xu)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector, default value x.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>nlags</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer, number of correlation coefficients desired.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xmacro</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a scilab external (see below).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ymacro</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a scilab external (see below), default value xmacro</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: an integer, total size of the sequence (see below).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sect</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: size of sections of the sequence (see below).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xi</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>yi</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector,default value xi.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cov</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real vector, the correlation coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>Mean</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real number or vector,  the mean of x and if given y</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Computes
+  </P>
+    <VERBATIM>
+<![CDATA[
+                n - m 
+                 ====
+                 \                                                 1
+        cov(m) =  >        (x(k)  - xmean) (y(m+k)      - ymean) * ---
+                 /                                                  n
+                 ====
+                 k = 1
+   ]]>
+    </VERBATIM>
+    <P>
+    for   m=0,..,<VERB>nlag-1</VERB> and two vectors <VERB>x=[x(1),..,x(n)]</VERB>
+     <VERB>y=[y(1),..,y(n)]</VERB>
+  </P>
+    <P>
+    Note that if x and y sequences are differents corr(x,y,...) is
+    different with corr(y,x,...)
+  </P>
+    <DESCRIPTION_INDENT>
+      <DESCRIPTION_ITEM label="Short sequences">
+        <SP><VERB>[cov,Mean]=corr(x,[y],nlags)</VERB> returns the first nlags
+    correlation coefficients and Mean = <VERB>mean(x)</VERB>
+    (mean of <VERB>[x,y]</VERB> if <VERB>y</VERB> is an argument).
+    The sequence <VERB>x</VERB> (resp. <VERB>y</VERB>) is assumed real, and <VERB>x</VERB> 
+    and <VERB>y</VERB> are of same dimension n.</SP>
+      </DESCRIPTION_ITEM>
+      <DESCRIPTION_ITEM label="Long sequences">
+        <SP><VERB>[cov,Mean]=corr('fft',xmacro,[ymacro],n,sect)</VERB> Here <VERB>xmacro</VERB> is either</SP>
+        <DESCRIPTION_INDENT>
+          <DESCRIPTION_ITEM>
+            <P> 
+        a function of type <VERB>[xx]=xmacro(sect,istart)</VERB> which
+        returns a vector <VERB>xx</VERB> of dimension
+        <VERB>nsect</VERB> containing the part of the sequence with
+        indices from <VERB>istart</VERB> to
+        <VERB>istart+sect-1</VERB>.</P>
+          </DESCRIPTION_ITEM>
+          <DESCRIPTION_ITEM>
+            <P>
+        a fortran subroutine or C procedure which performs the same
+        calculation. (See the source code of <VERB>dgetx</VERB> for an
+        example). <VERB>n</VERB> = total size of the
+        sequence. <VERB>sect</VERB> = size of sections of the
+        sequence. <VERB>sect</VERB> must be a power of
+        2. <VERB>cov</VERB> has dimension
+        <VERB>sect</VERB>. Calculation is performed by FFT.</P>
+          </DESCRIPTION_ITEM>
+        </DESCRIPTION_INDENT>
+      </DESCRIPTION_ITEM>
+      <DESCRIPTION_ITEM label="Updating method">
+        <VERBATIM>
+<![CDATA[
+    [w,xu]=corr('updt',x1,[y1],w0)
+    [w,xu]=corr('updt',x2,[y2],w,xu)
+     ...
+    wk=corr('updt',xk,[yk],w,xu)
+    ]]>
+        </VERBATIM>
+        <P>
+    With this calling sequence the calculation is updated at each
+    call to <VERB>corr</VERB>.</P>
+        <VERBATIM>
+<![CDATA[
+    w0 = 0*ones(1,2*nlags);
+    nlags = power of 2.
+    ]]>
+        </VERBATIM>
+        <P><VERB>x1,x2,...</VERB> are parts of <VERB>x</VERB> such that
+    <VERB>x=[x1,x2,...]</VERB> and sizes of <VERB>xi</VERB> a power of
+    2.  To get <VERB>nlags</VERB> coefficients a final fft must be
+    performed <VERB>c=fft(w,1)/n</VERB>; <VERB>cov=c(1nlags)</VERB>
+    (<VERB>n</VERB> is the size of <VERB>x (y)</VERB>).  Caution: this
+    calling sequence assumes that <VERB>xmean = ymean = 0</VERB>.</P>
+      </DESCRIPTION_ITEM>
+    </DESCRIPTION_INDENT>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+x=%pi/10:%pi/10:102.4*%pi;
+rand('seed');rand('normal');
+y=[.8*sin(x)+.8*sin(2*x)+rand(x);.8*sin(x)+.8*sin(1.99*x)+rand(x)];
+c=[];
+for j=1:2,for k=1:2,c=[c;corr(y(k,:),y(j,:),64)];end;end;
+c=matrix(c,2,128);cov=[];
+for j=1:64,cov=[cov;c(:,(j-1)*2+1:2*j)];end;
+rand('unif')
+//
+rand('normal');x=rand(1,256);y=-x;
+deff('[z]=xx(inc,is)','z=x(is:is+inc-1)');
+deff('[z]=yy(inc,is)','z=y(is:is+inc-1)');
+[c,mxy]=corr(x,y,32);
+x=x-mxy(1)*ones(x);y=y-mxy(2)*ones(y);  //centring
+c1=corr(x,y,32);c2=corr(x,32);
+norm(c1+c2,1)
+[c3,m3]=corr('fft',xx,yy,256,32);
+norm(c1-c3,1)
+[c4,m4]=corr('fft',xx,256,32);
+norm(m3,1),norm(m4,1)
+norm(c3-c1,1),norm(c4-c2,1)
+x1=x(1:128);x2=x(129:256);
+y1=y(1:128);y2=y(129:256);
+w0=0*ones(1:64);   //32 coeffs
+[w1,xu]=corr('u',x1,y1,w0);w2=corr('u',x2,y2,w1,xu);
+zz=real(fft(w2,1))/256;c5=zz(1:32);
+norm(c5-c1,1)
+[w1,xu]=corr('u',x1,w0);w2=corr('u',x2,w1,xu);
+zz=real(fft(w2,1))/256;c6=zz(1:32);
+norm(c6-c2,1)
+rand('unif')
+// test for Fortran or C external 
+//
+deff('[y]=xmacro(sec,ist)','y=sin(ist:(ist+sec-1))');
+x=xmacro(100,1);
+[cc1,mm1]=corr(x,2^3);
+[cc,mm]=corr('fft',xmacro,100,2^3);
+[cc2,mm2]=corr('fft','corexx',100,2^3);
+[maxi(abs(cc-cc1)),maxi(abs(mm-mm1)),maxi(abs(cc-cc2)),maxi(abs(mm-mm2))]
+
+deff('[y]=ymacro(sec,ist)','y=cos(ist:(ist+sec-1))');
+y=ymacro(100,1);
+[cc1,mm1]=corr(x,y,2^3);
+[cc,mm]=corr('fft',xmacro,ymacro,100,2^3);
+[cc2,mm2]=corr('fft','corexx','corexy',100,2^3);
+[maxi(abs(cc-cc1)),maxi(abs(mm-mm1)),maxi(abs(cc-cc2)),maxi(abs(mm-mm2))]
+
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/cspect.xml b/scilab/modules/signal_processing/help/eng/cspect.xml
new file mode 100644 (file)
index 0000000..8493a8c
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cspect</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cspect"> spectral estimation (correlation method)  </SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[sm,cwp]=cspect(nlags,ntp,wtype,x,y,wpar)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data if vector, amount of input data if scalar</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data if vector, amount of input data if scalar</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>nlags</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of correlation lags (positive integer)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ntp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of transform points (positive integer)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wtype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : <VERB>'re','tr','hm','hn','kr','ch'</VERB> (window type)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wpar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: optional window parameters for <VERB>wtype='kr', wpar&gt;0</VERB> and for <VERB>wtype='ch', 0 &lt; wpar(1) &lt; .5, wpar(2) &gt; 0</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sm</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: power spectral estimate in the interval [0,1]</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cwp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: calculated value of unspecified Chebyshev window parameter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Spectral estimation using the  correlation method.
+    Cross-spectral estimate of <VERB>x</VERB> and <VERB>y</VERB> is calculated when both
+    <VERB>x</VERB> and <VERB>y</VERB> are given. Auto-spectral estimate of <VERB>x</VERB> is calculated
+    if <VERB>y</VERB> is not given.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+rand('normal');rand('seed',0);
+x=rand(1:1024-33+1);
+//make low-pass filter with eqfir
+nf=33;bedge=[0 .1;.125 .5];des=[1 0];wate=[1 1];
+h=eqfir(nf,bedge,des,wate);
+//filter white data to obtain colored data 
+h1=[h 0*ones(1:maxi(size(x))-1)];
+x1=[x 0*ones(1:maxi(size(h))-1)];
+hf=fft(h1,-1);   xf=fft(x1,-1);yf=hf.*xf;y=real(fft(yf,1));
+sm=cspect(100,200,'tr',y);
+smsize=maxi(size(sm));fr=(1:smsize)/smsize;
+plot(fr,log(sm))
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>pspect</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. Bunks ;  Digital Signal Processing by Oppenheim and Schafer</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/czt.xml b/scilab/modules/signal_processing/help/eng/czt.xml
new file mode 100644 (file)
index 0000000..0afeb03
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>czt</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="czt"> chirp z-transform algorithm</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[czx]=czt(x,m,w,phi,a,theta)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input data sequence</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: czt is evaluated at <VERB>m</VERB> points in z-plane</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>w</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: magnitude multiplier</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>phi</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: phase increment</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>a</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: initial magnitude</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>theta</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: initial phase</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>czx</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: chirp z-transform output</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    chirp z-transform algorithm which calcultes the z-transform on a
+    spiral in the z-plane at the points
+    <VERB>[a*exp(j*theta)][w^kexp(j*k*phi)] </VERB> for
+    <VERB>k=0,1,...,m-1</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+a=.7*exp(%i*%pi/6);
+[ffr,bds]=xgetech(); //preserve current context
+rect=[-1.2,-1.2*sqrt(2),1.2,1.2*sqrt(2)];
+t=2*%pi*(0:179)/179;xsetech([0,0,0.5,1]);
+plot2d(sin(t)',cos(t)',[2],"012",' ',rect)
+plot2d([0 real(a)]',[0 imag(a)]',[3],"000")
+xsegs([-1.0,0;1.0,0],[0,-1.0;0,1.0])
+w0=.93*exp(-%i*%pi/15);w=exp(-(0:9)*log(w0));z=a*w;
+zr=real(z);zi=imag(z);
+plot2d(zr',zi',[5],"000")
+xsetech([0.5,0,0.5,1]);
+plot2d(sin(t)',cos(t)',[2],"012",' ',rect)
+plot2d([0 real(a)]',[0 imag(a)]',[-1],"000")
+xsegs([-1.0,0;1.0,0],[0,-1.0;0,1.0])
+w0=w0/(.93*.93);w=exp(-(0:9)*log(w0));z=a*w;
+zr=real(z);zi=imag(z);
+plot2d(zr',zi',[5],"000")
+xsetech(ffr,bds); //restore context
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. Bunks</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/detrend.xml b/scilab/modules/signal_processing/help/eng/detrend.xml
new file mode 100644 (file)
index 0000000..6abf5f4
--- /dev/null
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>detrend</TITLE>
+  <TYPE>Scilab Function  </TYPE>
+  <DATE>24-Apr-2005</DATE>
+  <SHORT_DESCRIPTION name="detrend">remove constant, linear or piecewise linear trend from a vector</SHORT_DESCRIPTION>
+
+  <CALLING_SEQUENCE>
+  <CALLING_SEQUENCE_ITEM>y = detrend(x)</CALLING_SEQUENCE_ITEM>
+  <CALLING_SEQUENCE_ITEM>y = detrend(x,flag)</CALLING_SEQUENCE_ITEM>
+  <CALLING_SEQUENCE_ITEM>y = detrend(x,flag,bp)</CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+
+  <PARAM>
+  <PARAM_INDENT>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>x</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : vector or matrix of real or complex numbers (the signal to treat)
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>flag</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : a string equal to "linear" (or "l") for linear or piecewise linear treatment  
+         or "constant" (or "c") for constant treatment.
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>bp</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : the breakpoints to provide if you want a piecewise linear treatment. 
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>y</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : output, the signal x with the trend removed from it.
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+  </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+     <P>
+      This function removes the constant or linear or
+      piecewise linear trend from a vector <VERB>x</VERB>. In general
+      this can be useful before a fourier analysis. If <VERB>x</VERB> is
+      matrix this function removes the trend of each column of x.
+      </P>
+     <P>
+     When <VERB>flag</VERB> = "constant" or "c"  <VERB>detrend</VERB> removes the constant trend 
+     (simply the mean of the signal) and when <VERB>flag</VERB> = "linear" or "l" the function
+     removes the linear trend. By adding a third argument <VERB>bp</VERB> it is possible to
+     remove a continuous <EM>piecewise linear</EM> trend. Note that the "instants" of the signal 
+     <VERB>x</VERB> goes from 0 to m-1  (m = length(x) if x is a vector and m = size(x,1) in case
+     x is a matrix). So the breakpoints <VERB>bp(i)</VERB> must be reals in <EM>[0 m-1]</EM> 
+     (breakpoints outside are simply removed from <VERB>bp</VERB> vector). 
+     </P>
+     <P>
+     The trend is got by a least square fit of <VERB>x</VERB> on the appropriate function space. 
+     </P>
+  </DESCRIPTION>
+
+  <EXAMPLE><![CDATA[
+// example #1
+t = linspace(0,16*%pi,1000)';
+x = -20 + t + 0.3*sin(0.5*t) + sin(t) + 2*sin(2*t) + 0.5*sin(3*t); 
+y = detrend(x);
+xbasc()
+plot2d(t,[x y],style=[2 5])
+legend(["before detrend","after detrend"]);
+xgrid()
+
+// example #2
+t = linspace(0,32*%pi,2000)';
+x = abs(t-16*%pi) + 0.3*sin(0.5*t) + sin(t) + 2*sin(2*t) + 0.5*sin(3*t); 
+y = detrend(x,"linear",1000);
+xbasc()
+plot2d(t,[x y],style=[2 5])
+legend(["before detrend","after detrend"]);
+xgrid()
+  ]]></EXAMPLE>
+
+  <AUTHOR>
+    Bruno Pincon
+  </AUTHOR>
+
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/dft.xml b/scilab/modules/signal_processing/help/eng/dft.xml
new file mode 100644 (file)
index 0000000..00f61a0
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>dft</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="dft"> discrete Fourier transform</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[xf]=dft(x,flag);  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>flag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: indicates dft (flag=-1)  or idft (flag=1)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xf</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Function which computes dft of vector <VERB>x</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+n=8;omega = exp(-2*%pi*%i/n);
+j=0:n-1;F=omega.^(j'*j);  //Fourier matrix
+x=1:8;x=x(:);
+F*x
+fft(x,-1)
+dft(x,-1)
+inv(F)*x
+fft(x,1)
+dft(x,1)
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/ell1mag.xml b/scilab/modules/signal_processing/help/eng/ell1mag.xml
new file mode 100644 (file)
index 0000000..96a5bc1
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>ell1mag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="ell1mag"> magnitude of elliptic filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[v]=ell1mag(eps,m1,z)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>eps</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: passband ripple=<VERB>1/(1+eps^2)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m1</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: stopband ripple=<VERB>1/(1+(eps^2)/m1)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>z</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: sample vector of values in the complex plane</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>v</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: elliptic filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Function used for squared magnitude of an elliptic filter.
+    Usually <VERB>m1=eps*eps/(a*a-1)</VERB>. Returns 
+    <VERB>v=real(ones(z)./(ones(z)+eps*eps*s.*s))</VERB> for <VERB>s=%sn(z,m1)</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+deff('[alpha,beta]=alpha_beta(n,m,m1)',...
+'if 2*int(n/2)=n then, beta=K1; else, beta=0;end;...
+alpha=%k(1-m1)/%k(1-m);')
+epsilon=0.1;A=10;  //ripple parameters
+m1=(epsilon*epsilon)/(A*A-1);n=5;omegac=6;
+m=find_freq(epsilon,A,n);omegar = omegac/sqrt(m)
+%k(1-m1)*%k(m)/(%k(m1)*%k(1-m))-n   //Check...
+[alpha,beta]=alpha_beta(n,m,m1)
+alpha*%asn(1,m)-n*%k(m1)      //Check
+sample=0:0.01:20;
+//Now we map the positive real axis into the contour...
+z=alpha*%asn(sample/omegac,m)+beta*ones(sample);
+plot(sample,ell1mag(epsilon,m1,z))
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>buttmag</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/eqfir.xml b/scilab/modules/signal_processing/help/eng/eqfir.xml
new file mode 100644 (file)
index 0000000..7082f7b
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>eqfir</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="eqfir"> minimax approximation of FIR filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[hn]=eqfir(nf,bedge,des,wate)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>nf</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of output filter points desired</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>bedge</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Mx2 matrix giving a pair of edges for each band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>des</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: M-vector giving desired magnitude for each band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wate</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: M-vector giving relative weight of error in each band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>hn</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output of linear-phase FIR filter coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Minimax approximation of multi-band, linear phase, FIR filter</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+hn=eqfir(33,[0 .2;.25 .35;.4 .5],[0 1 0],[1 1 1]);
+[hm,fr]=frmag(hn,256);
+plot(fr,hm),
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/eqiir.xml b/scilab/modules/signal_processing/help/eng/eqiir.xml
new file mode 100644 (file)
index 0000000..604ab11
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>eqiir</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="eqiir"> Design of iir filters</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[cells,fact,zzeros,zpoles]=eqiir(ftype,approx,om,deltap,deltas)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>ftype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter type (<VERB>'lp','hp','sb','bp'</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>approx</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: design approximation (<VERB>'butt','cheb1','cheb2','ellip'</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>om</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 4-vector of cutoff frequencies (in radians)  <VERB>om=[om1,om2,om3,om4]</VERB>, <VERB>0 &lt;= om1 &lt;= om2 &lt;= om3 &lt;= om4 &lt;= pi</VERB>.  When <VERB>ftype</VERB>='lp' or 'hp', <VERB>om3</VERB> and <VERB>om4</VERB> are not used  and may be set to 0.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>deltap</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: ripple in the passband. <VERB>0&lt;= deltap &lt;=1</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>deltas</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: ripple in the stopband. <VERB>0&lt;= deltas &lt;=1</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cells</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: realization of the filter as second order cells</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fact</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: normalization constant</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zzeros</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: zeros in the z-domain</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zpoles</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: poles in the z-domain</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Design of iir filter interface with eqiir (syredi)</P>
+    <P>
+    The filter obtained is <VERB>h(z)=fact</VERB>*product of the elements of
+    <VERB>cells</VERB>.</P>
+    <P>
+    That is <VERB>hz=fact*prod(cells(2))./prod(cells(3))</VERB></P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+[cells,fact,zzeros,zpoles]=...
+eqiir('lp','ellip',[2*%pi/10,4*%pi/10],0.02,0.001)
+transfer=fact*poly(zzeros,'z')/poly(zpoles,'z')
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>eqfir</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>iir</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/faurre.xml b/scilab/modules/signal_processing/help/eng/faurre.xml
new file mode 100644 (file)
index 0000000..ca93385
--- /dev/null
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>faurre</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="faurre"> filter computation by simple Faurre algorithm</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[P,R,T]=faurre(n,H,F,G,R0)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>H, F, G</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: estimated triple from the covariance sequence of <VERB>y</VERB>.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>R0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: E(yk*yk')</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>P</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: solution of the Riccati equation after n iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>R, T</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: gain matrix of the filter.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    This function computes iteratively the minimal solution of the algebraic
+    Riccati equation and gives the matrices <VERB>R</VERB> and <VERB>T</VERB> of the 
+    filter model.
+    The algorithm tries to compute the solution P as the growing limit of a
+    sequence of matrices Pn such that</P>
+    <VERBATIM>
+<![CDATA[
+                                     -1
+Pn+1=F*Pn*F'+(G-F*Pn*h')*(R0-H*Pn*H')  *(G'-H*Pn*F')
+       -1
+P0=G*R0 *G'
+   ]]>
+    </VERBATIM>
+    <P>
+    Note that this method may not converge,especially when F has poles
+    near the unit circle. Use preferably the srfaur function.</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>srfaur</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>lindquist</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>phc</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>G. Le V.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/ffilt.xml b/scilab/modules/signal_processing/help/eng/ffilt.xml
new file mode 100644 (file)
index 0000000..1a4ebf8
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>ffilt</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="ffilt"> coefficients of FIR low-pass</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[x]=ffilt(ft,n,fl,fh)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>ft</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter type where <VERB>ft</VERB> can take the values</SP>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;lp&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for low-pass filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;hp&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for high-pass filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;bp&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for band-pass filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;sb&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for stop-band filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (number of filter samples desired)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fl</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real (low frequency cut-off)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fh</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real (high frequency cut-off)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of filter coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Get <VERB>n</VERB> coefficients of a FIR low-pass,
+    high-pass, band-pass, or stop-band filter.
+    For low and high-pass filters one cut-off
+    frequency must be specified whose value is
+    given in <VERB>fl</VERB>. For band-pass and stop-band
+    filters two cut-off frequencies must be
+    specified for which the lower value is in
+    <VERB>fl</VERB> and the higher value is in <VERB>fh</VERB></P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/fft.xml b/scilab/modules/signal_processing/help/eng/fft.xml
new file mode 100644 (file)
index 0000000..3fd5332
--- /dev/null
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+
+  <TITLE>fft</TITLE>
+
+  <TYPE>Scilab Function</TYPE>
+
+  <DATE>April 1993</DATE>
+
+  <SHORT_DESCRIPTION name="fft">fast Fourier transform.</SHORT_DESCRIPTION>
+
+  <SHORT_DESCRIPTION name="ifft">fast Fourier transform.</SHORT_DESCRIPTION>
+
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>x=fft(a ,-1) or x=fft(a)</CALLING_SEQUENCE_ITEM>
+
+    <CALLING_SEQUENCE_ITEM>x=fft(a,1) or x=ifft(a)</CALLING_SEQUENCE_ITEM>
+
+    <CALLING_SEQUENCE_ITEM>x=fft(a,-1,dim,incr)</CALLING_SEQUENCE_ITEM>
+
+    <CALLING_SEQUENCE_ITEM>x=fft(a,1,dim,incr)</CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector. Real or complex matrix (2-dim
+          fft)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>a</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector, matrix or multidimensionnal
+          array.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>dim</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: integer</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>incr</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: integer</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+
+  <DESCRIPTION>
+    <DESCRIPTION_INDENT>
+      <DESCRIPTION_ITEM label="Short syntax ">
+        <DESCRIPTION_INDENT>
+          <DESCRIPTION_ITEM label="direct">
+            <P><VERB>x=fft(a,-1)</VERB> or <VERB>x=fft(a)</VERB> gives a
+            direct transform.</P>
+
+            <DESCRIPTION_INDENT>
+              <DESCRIPTION_ITEM label="single variate">
+                <P>If <VERB>a</VERB> is a vector a single variate direct FFT
+                is computed that is:</P>
+
+                <P>x(k)=sum over m from 1 to n of
+                a(m)*exp(-2i*pi*(m-1)*(k-1)/n)</P>
+
+                <P>for k varying from 1 to n (n=size of vector
+                <VERB>a</VERB>).</P>
+
+                <P>(the <VERB>-1</VERB> argument refers to the sign of the
+                exponent..., NOT to "inverse"),</P>
+              </DESCRIPTION_ITEM>
+
+              <DESCRIPTION_ITEM label="multivariate">
+                <P>If <VERB>a</VERB> is a matrix or or a multidimensionnal
+                array a multivariate direct FFT is performed.</P>
+              </DESCRIPTION_ITEM>
+            </DESCRIPTION_INDENT>
+          </DESCRIPTION_ITEM>
+
+          <DESCRIPTION_ITEM label="inverse">
+            <P><VERB>a=fft(x,1)</VERB> or <VERB>a=ifft(x)</VERB>performs the
+            inverse transform normalized by <VERB>1/n</VERB>.</P>
+
+            <DESCRIPTION_INDENT>
+              <DESCRIPTION_ITEM label="single variate">
+                <P>If <VERB>a</VERB> is a vector a single variate inverse FFT
+                is computed</P>
+              </DESCRIPTION_ITEM>
+
+              <DESCRIPTION_ITEM label="multivariate">
+                <P>If <VERB>a</VERB> is a matrix or or a multidimensionnal
+                array a multivariate inverse FFT is performed.</P>
+              </DESCRIPTION_ITEM>
+            </DESCRIPTION_INDENT>
+          </DESCRIPTION_ITEM>
+        </DESCRIPTION_INDENT>
+      </DESCRIPTION_ITEM>
+
+      <DESCRIPTION_ITEM label="Long syntax for multidimensional FFT">
+        <P><VERB>x=fft(a,-1,dim,incr)</VERB> allows to perform an
+        multidimensional fft.</P>
+
+        <P>If a is a real or complex vector implicitly indexed by
+        <VERB>j1,j2,..,jp</VERB> i.e. <VERB>a(j1,j2,..,jp)</VERB> where
+        <VERB>j1</VERB> lies in <VERB>1:dim(1),</VERB> <VERB>j2</VERB> in
+        <VERB>1:dim(2),...</VERB> one gets a p-variate FFT by calling p times
+        <VERB>fft</VERB> as follows</P>
+
+        <VERBATIM>incrk=1; x=a; for k=1:p x=fft(x ,-1,dim(k),incrk)
+        incrk=incrk*dim(k) end</VERBATIM>
+
+        <P>where <VERB>dimk</VERB> is the dimension of the current variable
+        w.r.t which one is integrating and <VERB>incrk</VERB> is the increment
+        which separates two successive <VERB>jk</VERB> elements in
+        <VERB>a</VERB>.</P>
+
+        <P>In particular,if <VERB>a</VERB> is an mxn matrix,
+        <VERB>x=fft(a,-1)</VERB> is equivalent to the two instructions:</P>
+
+        <P><VERB>a1=fft(a,-1,m,1)</VERB> and
+        <VERB>x=fft(a1,-1,n,m)</VERB>.</P>
+      </DESCRIPTION_ITEM>
+    </DESCRIPTION_INDENT>
+  </DESCRIPTION>
+
+  <EXAMPLE><![CDATA[
+
+  //Comparison with explicit formula
+  //----------------------------------
+  a=[1;2;3];n=size(a,'*');
+  norm(1/n*exp(2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,1))
+  norm(exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,-1)) 
+  //Frequency components of a signal
+  //----------------------------------
+  // build a noides signal sampled at 1000hz  containing to pure frequencies 
+  // at 50 and 70 Hz
+  sample_rate=1000;
+  t = 0:1/sample_rate:0.6;
+  N=size(t,'*'); //number of samples
+  s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);
+  
+  y=fft(s);
+  //the fft response is symetric we retain only the first N/2 points
+  f=sample_rate*(0:(N/2))/N; //associated frequency vector
+  n=size(f,'*')
+  clf()
+  plot2d(f,abs(y(1:n)))
+  ]]></EXAMPLE>
+
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>corr</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/help/eng/fft2.xml b/scilab/modules/signal_processing/help/eng/fft2.xml
new file mode 100644 (file)
index 0000000..1e55d24
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+
+  <TITLE>fft2</TITLE>
+
+  <TYPE>Scilab Function</TYPE>
+
+  <DATE>November 2005</DATE>
+
+  <SHORT_DESCRIPTION name="fft2">two-dimension fast Fourier
+  transform</SHORT_DESCRIPTION>
+
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>y=fft2(x)</CALLING_SEQUENCE_ITEM>
+
+    <CALLING_SEQUENCE_ITEM>y=fft2(x,n,m)</CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a vector/matrix/array (Real or Complex)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a vector/matrix/array (Real or Complex)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: integer, number of rows.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: integer, number of columns.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+
+  <DESCRIPTION>
+    <VERBATIM>This functions performs the two-dimension discrete Fourier
+    transform.</VERBATIM>
+
+    <P><VERB>y=fft2(x)</VERB>: y and x have the same size</P>
+
+    <P><VERB>y=fft2(x,m,n):</VERB> If <VERB>m</VERB> (respectively
+    <VERB>n</VERB>) is less than the rows number (respectively columns) of
+    <VERB>x</VERB> then the <VERB>x</VERB> rows number (resp. columns) is
+    truncated, else if m (resp. <VERB>n</VERB>) is more than the rows number
+    (resp. columns) of <VERB>x</VERB> then <VERB>x</VERB> rows are completed
+    by zero (resp. columns) .</P>
+
+    <P>if <VERB>x</VERB> is a matrix then <VERB>y</VERB> is a matrix, if
+    <VERB>x</VERB> is a hypermatrix then <VERB>y</VERB> is a hypermatrix, with
+    the size of the first dimension of <VERB>y</VERB> is equal to
+    <VERB>m</VERB>, the size of the second dimension of <VERB>y</VERB> is
+    equal to <VERB>n</VERB>, the size of the ith dimension of <VERB>y</VERB>
+    (for i&gt;2, case hypermatrix) equal to the size of the ith dimension of
+    <VERB>x</VERB>. (i.e size(y,1)=m, size(y,2)=n and size(y,i)=size(x,i) for
+    i&gt;2)</P>
+  </DESCRIPTION>
+
+  <EXAMPLE><![CDATA[
+//Comparison with explicit formula
+a=[1 2 3 ;4 5 6 ;7 8 9 ;10 11 12]  
+m=size(a,1)
+n=size(a,2)
+// fourier transform along the rows
+for i=1:n
+a1(:,i)=exp(-2*%i*%pi*(0:m-1)'.*.(0:m-1)/m)*a(:,i) 
+end
+// fourier transform along the columns
+for j=1:m
+a2temp=exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*(a1(j,:)).' 
+a2(j,:)=a2temp.'
+end
+norm(a2-fft2(a))
+
+
+  ]]></EXAMPLE>
+
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/help/eng/fftshift.xml b/scilab/modules/signal_processing/help/eng/fftshift.xml
new file mode 100644 (file)
index 0000000..3bb4538
--- /dev/null
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>fftshift</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>2001</DATE>
+  <SHORT_DESCRIPTION name="fftshift"> rearranges the fft output, moving the zero frequency to the center of the spectrum</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>y=fftshift(x [,job])  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector or matrix.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector or matrix.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>job</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer, dimension selection, or string 'all'</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    if <VERB>x</VERB> results of an fft computation <VERB>y= fftshift(x)</VERB> or <VERB>y= fftshift(x,&quot;all&quot;)</VERB> moves the zero frequency component to the center
+    of the spectrum, which is sometimes a more convenient form.</P>
+    <P>
+    If <VERB>x</VERB> is a vector of size n, y is the vector <VERB>x([n/2+1:n,1:n/2])</VERB></P>
+    <P>
+    If <VERB>x</VERB> is an <VERB>m</VERB> by <VERB>n</VERB>  matrix <VERB>y</VERB> is the matrix
+    <VERB>x([m/2+1:n,1:m/2],[n/2+1:n,1:n/2])</VERB>.</P>
+    <VERBATIM>
+<![CDATA[
+  [x11 x12]                  [x22 x21]
+x=[       ]        gives   y=[       ]
+  [x21 x22]                  [x12 x11]
+   ]]>
+    </VERBATIM>
+    <P><VERB>y= fftshift(x,n)</VERB>  make the swap only along the <VERB>n</VERB>th dimension</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//make a signal
+t=0:0.1:1000;
+x=3*sin(t)+8*sin(3*t)+0.5*sin(5*t)+3*rand(t);
+//compute the fft
+y=fft(x,-1);
+//display 
+xbasc();
+subplot(2,1,1);plot2d(abs(y))
+subplot(2,1,2);plot2d(fftshift(abs(y)))
+
+//make a 2D image
+t=0:0.1:30;
+x=3*sin(t')*cos(2*t)+8*sin(3*t')*sin(5*t)+..
+  0.5*sin(5*t')*sin(5*t)+3*rand(t')*rand(t);
+//compute the fft
+y=fft(x,-1);
+//display 
+xbasc();
+xset('colormap',hotcolormap(256))
+subplot(2,1,1);Matplot(abs(y))
+subplot(2,1,2);Matplot(fftshift(abs(y)))
+
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/filter.xml b/scilab/modules/signal_processing/help/eng/filter.xml
new file mode 100644 (file)
index 0000000..cce4114
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>filter</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="filter"> modelling filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y,xt]=filter(n,F,H,Rt,T)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of computed points.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>F, H</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: relevant matrices of the Markovian model.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>Rt, T</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: gain matrices.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output of the filter.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter process.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    This function computes the modelling filter</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>faurre</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>G. Le V.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/find_freq.xml b/scilab/modules/signal_processing/help/eng/find_freq.xml
new file mode 100644 (file)
index 0000000..4315684
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>find_freq</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="find_freq"> parameter compatibility for elliptic filter design</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[m]=find_freq(epsilon,A,n)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>epsilon</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: passband ripple</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>A</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: stopband attenuation</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: frequency needed for construction of elliptic filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Search for m such that <VERB>n=K(1-m1)K(m)/(K(m1)K(1-m))</VERB>
+    with</P>
+    <P><VERB>m1=(epsilon*epsilon)/(A*A-1)</VERB>;</P>
+    <P>
+    If <VERB>m = omegar^2/omegac^2</VERB>, the parameters
+    <VERB>epsilon,A,omegac,omegar</VERB> and <VERB>n</VERB> are then
+    compatible for defining a prototype elliptic filter.
+    Here, <VERB>K=%k(m)</VERB> is the complete elliptic integral with parameter <VERB>m</VERB>.</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>%k</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>F. D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/findm.xml b/scilab/modules/signal_processing/help/eng/findm.xml
new file mode 100644 (file)
index 0000000..614f616
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>findm</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="findm"> for elliptic filter design</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[m]=findm(chi)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <DESCRIPTION>
+    <P>
+    Search for <VERB>m</VERB> such that <VERB>chi = %k(1-m)/%k(m)</VERB>
+    (For use with <VERB>find_freq</VERB>).</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>%k</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>F. D.;   </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/frfit.xml b/scilab/modules/signal_processing/help/eng/frfit.xml
new file mode 100644 (file)
index 0000000..16176e6
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>frfit</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="frfit"> frequency response fit</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>sys=frfit(w,fresp,order)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[num,den]=frfit(w,fresp,order)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>sys=frfit(w,fresp,order,weight)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[num,den]=frfit(w,fresp,order,weight)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>w</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive real vector of frequencies (Hz)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fresp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: complex vector of frequency responses (same size as <VERB>w</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>order</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (required order, degree of <VERB>den</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>weight</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive real vector (default value <VERB>ones(w)</VERB>).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>num,den</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: stable polynomials</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P><VERB>sys=frfit(w,fresp,order,weight)</VERB> returns a bi-stable transfer function
+    <VERB>G(s)=sys=num/den</VERB>, of of given <VERB>order</VERB> such that 
+    its frequency response <VERB>G(w(i))</VERB> matches <VERB>fresp(i)</VERB>, i.e.
+    <VERB>freq(num,den,%i*w)</VERB> should be close to <VERB>fresp</VERB>.
+    <VERB>weight(i)</VERB> is the weight given to <VERB>w(i)</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+w=0.01:0.01:2;s=poly(0,'s');
+G=syslin('c',2*(s^2+0.1*s+2), (s^2+s+1)*(s^2+0.3*s+1));
+fresp=repfreq(G,w);
+Gid=frfit(w,fresp,4);
+frespfit=repfreq(Gid,w);
+bode(w,[fresp;frespfit])
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>frep2tf</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>factors</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>cepstrum</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>mrfit</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>freq</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>calfrq</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/frmag.xml b/scilab/modules/signal_processing/help/eng/frmag.xml
new file mode 100644 (file)
index 0000000..900d503
--- /dev/null
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>frmag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="frmag"> magnitude of FIR and IIR filters</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[xm,fr]=frmag(num[,den],npts)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>npts</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (number of points in frequency response)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xm</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: mvector of magnitude of frequency response at the points <VERB>fr</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fr</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: points in the frequency domain where magnitude is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>num</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: if <VERB>den</VERB> is omitted vector coefficients/polynomial/rational polynomial of filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>num</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: if <VERB>den</VERB> is given vector coefficients/polynomial of filter numerator</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>den</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector coefficients/polynomial of filter denominator</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    calculates the magnitude of the frequency responses of
+    FIR and IIR filters. The filter description can be
+    one or two vectors of coefficients, one or two polynomials,
+    or a rational polynomial.</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/fsfirlin.xml b/scilab/modules/signal_processing/help/eng/fsfirlin.xml
new file mode 100644 (file)
index 0000000..63f7984
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>fsfirlin</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="fsfirlin"> design of FIR, linear phase filters, frequency sampling technique</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[hst]=fsfirlin(hd,flag)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>hd</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of desired frequency response samples</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>flag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: is equal to 1 or 2, according to the choice of type 1 or type 2 design</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>hst</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector giving the approximated continuous response on a dense grid of frequencies</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function for the design of FIR, linear phase filters
+    using the frequency sampling technique</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//
+//Example of how to use the fsfirlin macro for the design 
+//of an FIR filter by a frequency sampling technique.
+//
+//Two filters are designed : the first (response hst1) with 
+//abrupt transitions from 0 to 1 between passbands and stop 
+//bands; the second (response hst2) with one sample in each 
+//transition band (amplitude 0.5) for smoothing.
+//
+hd=[zeros(1,15) ones(1,10) zeros(1,39)];//desired samples
+hst1=fsfirlin(hd,1);//filter with no sample in the transition
+hd(15)=.5;hd(26)=.5;//samples in the transition bands
+hst2=fsfirlin(hd,1);//corresponding filter
+pas=1/prod(size(hst1))*.5;
+fg=0:pas:.5;//normalized frequencies grid
+plot2d([1 1].*.fg(1:257)',[hst1' hst2']);
+// 2nd example
+hd=[0*ones(1,15) ones(1,10) 0*ones(1,39)];//desired samples
+hst1=fsfirlin(hd,1);//filter with no sample in the transition
+hd(15)=.5;hd(26)=.5;//samples in the transition bands
+hst2=fsfirlin(hd,1);//corresponding filter
+pas=1/prod(size(hst1))*.5;
+fg=0:pas:.5;//normalized frequencies grid
+n=prod(size(hst1))
+plot(fg(1:n),hst1);
+plot2d(fg(1:n)',hst2',[3],"000");
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>ffilt</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>wfir</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>G. Le Vey</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/group.xml b/scilab/modules/signal_processing/help/eng/group.xml
new file mode 100644 (file)
index 0000000..2a250f7
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>group</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="group"> group delay for digital filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[tg,fr]=group(npts,a1i,a2i,b1i,b2i)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>npts</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : number of points desired in calculation of group delay</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>a1i</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: in coefficient, polynomial, rational polynomial, or cascade polynomial form this variable is the transfer function of the filter. In coefficient polynomial form this is a vector of coefficients (see below).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>a2i</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: in coeff poly form this is a vector of coeffs</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>b1i</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: in coeff poly form this is a vector of coeffs</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>b2i</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: in coeff poly form this is a vector of coeffs</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>tg</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: values of group delay evaluated on the grid fr</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fr</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: grid of frequency values where group delay is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Calculate the group delay of a digital filter
+    with transfer function h(z).</P>
+    <P>
+    The filter specification can be in coefficient form,
+    polynomial form, rational polynomial form, cascade
+    polynomial form, or in coefficient polynomial form.</P>
+    <P>
+    In the coefficient polynomial form the transfer function is
+    formulated by the following expression</P>
+    <P>
+      <VERB>h(z)=prod(a1i+a2i*z+z**2)/prod(b1i+b2i*z+z^2)</VERB>
+    </P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+z=poly(0,'z');
+h=z/(z-.5);
+[tg,fr]=group(100,h);
+plot(fr,tg)
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/hank.xml b/scilab/modules/signal_processing/help/eng/hank.xml
new file mode 100644 (file)
index 0000000..8674d35
--- /dev/null
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>hank</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="hank"> covariance to hankel matrix</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[hk]=hank(m,n,cov)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of bloc-rows</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of bloc-columns</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cov</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: sequence of covariances; it must be given as :[R0 R1 R2...Rk]</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>hk</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: computed hankel matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    this function builds the hankel matrix of size <VERB>(m*d,n*d)</VERB>
+    from the covariance sequence of a vector process</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//Example of how to use the hank macro for 
+//building a Hankel matrix from multidimensional 
+//data (covariance or Markov parameters e.g.)
+//
+//This is used e.g. in the solution of normal equations
+//by classical identification methods (Instrumental Variables e.g.)
+//
+//1)let's generate the multidimensional data under the form :
+//  C=[c_0 c_1 c_2 .... c_n]
+//where each bloc c_k is a d-dimensional matrix (e.g. the k-th correlation 
+//of a d-dimensional stochastic process X(t) [c_k = E(X(t) X'(t+k)], ' 
+//being the transposition in scilab)
+//
+//we take here d=2 and n=64
+//
+c=rand(2,2*64)
+//
+//generate the hankel matrix H (with 4 bloc-rows and 5 bloc-columns)
+//from the data in c
+//
+H=hank(4,5,c);
+//
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>toeplitz</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>G. Le Vey</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/helpbuildereng.sce b/scilab/modules/signal_processing/help/eng/helpbuildereng.sce
new file mode 100644 (file)
index 0000000..c73ffb6
--- /dev/null
@@ -0,0 +1,6 @@
+mode(-1); //force silent execution\r
+path=get_absolute_file_path('helpbuildereng.sce');//get the absolute path of this file\r
+add_help_chapter("Signal Processing",path);//add help chapter\r
+xmltohtml(path,"Signal Processing");\r
+//clear the variable stack\r
+clear path add_help_chapter get_absolute_file_path; 
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/help/eng/hilb.xml b/scilab/modules/signal_processing/help/eng/hilb.xml
new file mode 100644 (file)
index 0000000..c64be35
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>hilb</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="hilb"> Hilbert transform</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[xh]=hilb(n[,wtype][,par])  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: odd integer : number of points in filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wtype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : window type <VERB>('re','tr','hn','hm','kr','ch')</VERB> (default <VERB>='re'</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>par</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: window parameter for <VERB>wtype='kr' or 'ch'</VERB> default <VERB>par=[0 0]</VERB> see the function window for more help</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xh</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Hilbert transform</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    returns the first n points of the
+    Hilbert transform centred around the origin.</P>
+    <P>
+    That is, <VERB>xh=(2/(n*pi))*(sin(n*pi/2))^2</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+plot(hilb(51))
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/iir.xml b/scilab/modules/signal_processing/help/eng/iir.xml
new file mode 100644 (file)
index 0000000..f2eeda2
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>iir</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="iir"> iir digital filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[hz]=iir(n,ftype,fdesign,frq,delta)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter order (pos. integer)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ftype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string  specifying the filter type  <VERB>'lp','hp','bp','sb'</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fdesign</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string specifying the analog filter design  <VERB>='butt','cheb1','cheb2','ellip'</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>frq</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 2-vector of discrete cut-off frequencies (i.e.,
+  <VERB>0&lt;frq&lt;.5</VERB>). For <VERB>lp</VERB> and
+  <VERB>hp</VERB> filters only <VERB>frq(1)</VERB> is used. For
+  <VERB>bp</VERB> and <VERB>sb</VERB> filters <VERB>frq(1)</VERB> is
+  the lower cut-off frequency and <VERB>frq(2)</VERB> is the upper
+  cut-off frequency</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>delta</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <P>
+    : 2-vector of error values for <VERB>cheb1, cheb2</VERB>, and
+  <VERB>ellip</VERB> filters where only <VERB>delta(1)</VERB> is used
+  for <VERB>cheb1</VERB> case, only <VERB>delta(2)</VERB> is used for
+  <VERB>cheb2</VERB> case, and <VERB>delta(1)</VERB> and
+  <VERB>delta(2)</VERB> are both used for <VERB>ellip</VERB>
+  case. <VERB>0&lt;delta(1),delta(2)&lt;1</VERB></P>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for <VERB>cheb1</VERB> filters <VERB>1-delta(1)&lt;ripple&lt;1</VERB> in passband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for <VERB>cheb2</VERB> filters <VERB>0&lt;ripple&lt;delta(2)</VERB> in stopband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for <VERB>ellip</VERB> filters <VERB>1-delta(1)&lt;ripple&lt;1</VERB> in passband and <VERB>0&lt;ripple&lt;delta(2)</VERB> in stopband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function which designs an iir digital filter using analog filter designs.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+hz=iir(3,'bp','ellip',[.15 .25],[.08 .03]);
+[hzm,fr]=frmag(hz,256);
+plot2d(fr',hzm')
+xtitle('Discrete IIR filter band pass  0.15<fr<0.25 ',' ',' ');
+q=poly(0,'q');     //to express the result in terms of the ...
+hzd=horner(hz,1/q) //delay operator q=z^-1
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>eqfir</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>eqiir</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/iirgroup.xml b/scilab/modules/signal_processing/help/eng/iirgroup.xml
new file mode 100644 (file)
index 0000000..46e9510
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>iirgroup</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="iirgroup"> group delay Lp IIR filter optimization</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[lt,grad]=iirgroup(p,r,theta,omega,wt,td)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[cout,grad,ind]=iirlp(x,ind,p,[flag],lambda,omega,ad,wa,td,wt)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of the module of the poles and the zeros of the filters</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>theta</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of the argument of the poles and the zeros of the filters</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omega</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: frequencies where the filter specifications are given</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: weighting function for and the group delay</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>td</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: desired group delay</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>lt, grad</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: criterium and gradient values</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    optimization of IIR filters for the Lp criterium for the
+    the group delay. (Rabiner &amp; Gold pp270-273).</P>
+  </DESCRIPTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/iirlp.xml b/scilab/modules/signal_processing/help/eng/iirlp.xml
new file mode 100644 (file)
index 0000000..a24b2ea
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>iirlp</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="iirlp"> Lp IIR filter optimization</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[cost,grad,ind]=iirlp(x,ind,p,[flag],lambda,omega,ad,wa,td,wt)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 1X2 vector of the module and argument of the poles and the zeros of the filters</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>flag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : <VERB>'a'</VERB>  for amplitude, 'gd' for group delay; default case for amplitude and group delay.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omega</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: frequencies where the filter specifications are given</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wa,wt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: weighting functions for the amplitude and the group delay</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>lambda</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: weighting (with <VERB>1-lambda</VERB>) of the costs (<VERB>'a'</VERB> and <VERB>'gd'</VERB> for getting the global cost.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ad, td</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: desired amplitude and group delay</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cost, grad</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: criterium and gradient values</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    optimization of IIR filters for the Lp criterium for the
+    amplitude and/or the group delay. (Rabiner &amp; Gold pp270-273).</P>
+  </DESCRIPTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/intdec.xml b/scilab/modules/signal_processing/help/eng/intdec.xml
new file mode 100644 (file)
index 0000000..2519834
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>intdec</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="intdec"> Changes  sampling rate of a signal</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y]=intdec(x,lom)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input sampled signal</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>lom</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: For a 1D signal this is a scalar which gives the rate change. For a 2D signal this is a 2-Vector of sampling rate changes <VERB>lom</VERB>=(col rate change,row rate change)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Output sampled signal</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Changes the sampling rate of a 1D or 2D signal by the rates in lom</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/jmat.xml b/scilab/modules/signal_processing/help/eng/jmat.xml
new file mode 100644 (file)
index 0000000..8bf362f
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>jmat</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="jmat"> row or column block permutation</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[j]=jmat(n,m)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of block rows or block columns of the matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: size of the (square) blocks</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    This function permutes block rows or block columns of a matrix</P>
+  </DESCRIPTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/kalm.xml b/scilab/modules/signal_processing/help/eng/kalm.xml
new file mode 100644 (file)
index 0000000..98e9463
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>kalm</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="kalm"> Kalman update</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[x1,p1,x,p]=kalm(y,x0,p0,f,g,h,q,r)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>f,g,h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: current system matrices</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>q, r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: covariance matrices of dynamics and observation noise</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x0,p0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: state estimate and error variance at t=0 based on data up to t=-1</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: current observation Output from the function is:</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x1,p1</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: updated estimate and error covariance at t=1 based on data up to t=0</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: updated estimate and error covariance at t=0  based on data up to t=0</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function which gives the Kalman update and error variance</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/lattn.xml b/scilab/modules/signal_processing/help/eng/lattn.xml
new file mode 100644 (file)
index 0000000..8621ade
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>lattn</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="lattn"> recursive solution of normal equations</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[la,lb]=lattn(n,p,cov)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: maximum order of the filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>p</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: fixed dimension of the MA part. If <VERB>p= -1</VERB>, the algorithm reduces to the classical Levinson recursions.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cov</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: matrix containing the <VERB>Rk</VERB>'s (<VERB>d*d</VERB> matrices for a d-dimensional process).It must be given the following way</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>la</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: list-type variable, giving the successively calculated polynomials (degree 1 to degree n),with coefficients Ak</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    solves recursively on <VERB>n</VERB> (<VERB>p</VERB> being fixed)
+    the following system (normal equations), i.e. identifies
+    the AR part (poles) of a vector ARMA(n,p) process</P>
+    <P>
+    where {<VERB>Rk;k=1,nlag</VERB>} is the sequence of empirical covariances</P>
+  </DESCRIPTION>
+  <AUTHOR>G. Le V.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/lattp.xml b/scilab/modules/signal_processing/help/eng/lattp.xml
new file mode 100644 (file)
index 0000000..d85ba3c
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>lattp</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="lattp"> lattp</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[la,lb]=lattp(n,p,cov)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <DESCRIPTION>
+    <P>
+    see lattn</P>
+  </DESCRIPTION>
+  <AUTHOR>G.Levey</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/lev.xml b/scilab/modules/signal_processing/help/eng/lev.xml
new file mode 100644 (file)
index 0000000..a28e01e
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>lev</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="lev"> Yule-Walker equations (Levinson's algorithm)  </SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[ar,sigma2,rc]=lev(r)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: correlation coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: auto-Regressive model parameters</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sigma2</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: scale constant</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>rc</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: reflection coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    resolve the Yule-Walker equations</P>
+    <P>
+    using Levinson's algorithm.</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/levin.xml b/scilab/modules/signal_processing/help/eng/levin.xml
new file mode 100644 (file)
index 0000000..a7158ae
--- /dev/null
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>levin</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="levin"> Toeplitz system solver by Levinson algorithm (multidimensional)  </SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[la,sig]=levin(n,cov)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: maximum order of the filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cov</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: matrix containing the</SP>
+          <P>
+    (d x d matrices for a d-dimensional process). It must be given the following way :
+  </P>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>la</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: list-type variable, giving the successively calculated Levinson polynomials (degree 1 to n), with coefficients <VERB>Ak</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sig</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: list-type variable, giving the successive mean-square errors.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function which solves recursively on n
+    the following Toeplitz system (normal equations)</P>
+    <P>
+    where {<VERB>Rk;k=1,nlag</VERB>} is the sequence of <VERB>nlag</VERB> empirical covariances</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//We use the 'levin' macro for solving the normal equations 
+//on two examples: a one-dimensional and a two-dimensional process.
+//We need the covariance sequence of the stochastic process.
+//This example may usefully be compared with the results from 
+//the 'phc' macro (see the corresponding help and example in it)
+//
+//
+//1) A one-dimensional process
+//   -------------------------
+//
+//We generate the process defined by two sinusoids (1Hz and 2 Hz) 
+//in additive Gaussian noise (this is the observed process); 
+//the simulated process is sampled at 10 Hz (step 0.1 in t, underafter).
+//
+t1=0:.1:100;rand('normal');
+y1=sin(2*%pi*t1)+sin(2*%pi*2*t1);y1=y1+rand(y1);plot(t1,y1);
+//
+//covariance of y1
+//
+nlag=128;
+c1=corr(y1,nlag);
+c1=c1';//c1 needs to be given columnwise (see the section PARAMETERS of this help)
+//
+//compute the filter for a maximum order of n=10
+//la is a list-type variable each element of which 
+//containing the filters of order ranging from 1 to n; (try varying n)
+//in the d-dimensional case this is a matrix polynomial (square, d X d)
+//sig gives, the same way, the mean-square error
+//
+n=15;
+[la1,sig1]=levin(n,c1);
+//
+//verify that the roots of 'la' contain the 
+//frequency spectrum of the observed process y
+//(remember that y is sampled -in our example 
+//at 10Hz (T=0.1s) so that we need to retrieve 
+//the original frequencies (1Hz and 2 Hz) through 
+//the log and correct scaling by the frequency sampling)
+//we verify this for each filter order
+//
+for i=1:n, s1=roots(la1(i));s1=log(s1)/2/%pi/.1;
+//
+//now we get the estimated poles (sorted, positive ones only !)
+//
+s1=sort(imag(s1));s1=s1(1:i/2);end;
+//
+//the last two frequencies are the ones really present in the observed 
+//process ---> the others are "artifacts" coming from the used model size.
+//This is related to the rather difficult problem of order estimation.
+//
+//2) A 2-dimensional process 
+//   -----------------------
+//(4 frequencies 1, 2, 3, and 4 Hz, sampled at 0.1 Hz :
+//   |y_1|        y_1=sin(2*Pi*t)+sin(2*Pi*2*t)+Gaussian noise
+// y=|   | with : 
+//   |y_2|        y_2=sin(2*Pi*3*t)+sin(2*Pi*4*t)+Gaussian noise
+//
+//
+d=2;dt=0.1;
+nlag=64;
+t2=0:2*%pi*dt:100;
+y2=[sin(t2)+sin(2*t2)+rand(t2);sin(3*t2)+sin(4*t2)+rand(t2)];
+c2=[];
+for j=1:2, for k=1:2, c2=[c2;corr(y2(k,:),y2(j,:),nlag)];end;end;
+c2=matrix(c2,2,128);cov=[];
+for j=1:64,cov=[cov;c2(:,(j-1)*d+1:j*d)];end;//covar. columnwise
+c2=cov;
+//
+//in the multidimensional case, we have to compute the 
+//roots of the determinant of the matrix polynomial 
+//(easy in the 2-dimensional case but tricky if d>=3 !). 
+//We just do that here for the maximum desired 
+//filter order (n); mp is the matrix polynomial of degree n
+//
+[la2,sig2]=levin(n,c2);
+mp=la2(n);determinant=mp(1,1)*mp(2,2)-mp(1,2)*mp(2,1);
+s2=roots(determinant);s2=log(s2)/2/%pi/0.1;//same trick as above for 1D process
+s2=sort(imag(s2));s2=s2(1:d*n/2);//just the positive ones !
+//
+//There the order estimation problem is seen to be much more difficult !
+//many artifacts ! The 4 frequencies are in the estimated spectrum 
+//but beneath many non relevant others.
+//
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>phc</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>G. Le Vey</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/lgfft.xml b/scilab/modules/signal_processing/help/eng/lgfft.xml
new file mode 100644 (file)
index 0000000..e0bed1a
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>lgfft</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="lgfft"> utility for fft</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y]=lgfft(x)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    returns the lowest power of 2 larger than <VERB>size(x)</VERB> (for FFT use).</P>
+  </DESCRIPTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/lindquist.xml b/scilab/modules/signal_processing/help/eng/lindquist.xml
new file mode 100644 (file)
index 0000000..ffd102d
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>lindquist</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="lindquist"> Lindquist's algorithm</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[P,R,T]=lindquist(n,H,F,G,R0)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>H, F, G</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: estimated triple from the covariance sequence of <VERB>y</VERB>.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>R0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: E(yk*yk')</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>P</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: solution of the Riccati equation after n iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>R, T</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: gain matrices of the filter.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    computes iteratively the minimal solution of the algebraic
+    Riccati equation and gives the matrices <VERB>R</VERB> and <VERB>T</VERB> of the 
+    filter model, by the Lindquist's algorithm.</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>srfaur</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>faurre</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>phc</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>G. Le V.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/mese.xml b/scilab/modules/signal_processing/help/eng/mese.xml
new file mode 100644 (file)
index 0000000..5ca0968
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>mese</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="mese"> maximum entropy spectral estimation</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[sm,fr]=mese(x [,npts]);  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Input sampled data sequence</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>npts</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Optional parameter giving number of points of <VERB>fr</VERB> and <VERB>sm</VERB> (default is 256)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sm</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Samples of spectral estimate on the frequency grid <VERB>fr</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fr</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: npts equally spaced frequency samples in <VERB>[0,.5)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Calculate the maximum entropy spectral estimate of <VERB>x</VERB></P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/mfft.xml b/scilab/modules/signal_processing/help/eng/mfft.xml
new file mode 100644 (file)
index 0000000..5549f42
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>mfft</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="mfft"> multi-dimensional fft</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[xk]=mfft(x,flag,dim)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: <VERB>x(i,j,k,...)</VERB> input signal in the form of a row vector whose values are arranged so that the i index runs the quickest, followed by the j index, etc.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>flag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: (-1) FFT or (1) inverse FFT</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>dim</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: dimension vector which gives the number of values of <VERB>x</VERB> for each of its indices</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xk</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output of multidimensional fft in same format as for <VERB>x</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    FFT for a multi-dimensional signal</P>
+    <P>
+    For example for a three dimensional vector which has three points
+    along its first dimension, two points along its second
+    dimension and three points along its third dimension the row
+    vector is arranged as follows</P>
+    <VERBATIM>
+<![CDATA[
+     x=[x(1,1,1),x(2,1,1),x(3,1,1),
+        x(1,2,1),x(2,2,1),x(3,2,1),
+              x(1,1,2),x(2,1,2),x(3,1,2),
+              x(1,2,2),x(2,2,2),x(3,2,2),
+                    x(1,1,3),x(2,1,3),x(3,1,3),
+                    x(1,2,3),x(2,2,3),x(3,2,3)]
+   ]]>
+    </VERBATIM>
+    <P>
+    and the <VERB>dim</VERB> vector is: <VERB>dim=[3,2,3]</VERB></P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/mrfit.xml b/scilab/modules/signal_processing/help/eng/mrfit.xml
new file mode 100644 (file)
index 0000000..bc4b324
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>mrfit</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="mrfit"> frequency response fit</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>sys=mrfit(w,mag,order)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[num,den]=mrfit(w,mag,order)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>sys=mrfit(w,mag,order,weight)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[num,den]=mrfit(w,mag,order,weight)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>w</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive real vector of frequencies (Hz)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>mag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real vector of frequency responses magnitude (same size as <VERB>w</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>order</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (required order, degree of <VERB>den</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>weight</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive real vector (default value <VERB>ones(w)</VERB>).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>num,den</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: stable polynomials</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P><VERB>sys=mrfit(w,mag,order,weight)</VERB> returns a bi-stable transfer function
+    <VERB>G(s)=sys=num/den</VERB>, of of given <VERB>order</VERB> such that 
+    its frequency response magnitude <VERB>abs(G(w(i)))</VERB> 
+    matches <VERB>mag(i)</VERB> i.e. <VERB>abs(freq(num,den,%i*w))</VERB> should be 
+    close to <VERB>mag</VERB>.
+    <VERB>weight(i)</VERB> is the weigth given to <VERB>w(i)</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+w=0.01:0.01:2;s=poly(0,'s');
+G=syslin('c',2*(s^2+0.1*s+2),(s^2+s+1)*(s^2+0.3*s+1)); // syslin('c',Num,Den);
+fresp=repfreq(G,w);
+mag=abs(fresp);
+Gid=mrfit(w,mag,4);
+frespfit=repfreq(Gid,w);
+plot2d([w',w'],[mag(:),abs(frespfit(:))])
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>cepstrum</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>frfit</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>freq</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>calfrq</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/percentasn.xml b/scilab/modules/signal_processing/help/eng/percentasn.xml
new file mode 100644 (file)
index 0000000..204f205
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>%asn</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="%asn"> elliptic integral</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y]=%asn(x,m)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: upper limit of integral (<VERB>x&gt;0</VERB>) (can be a vector)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: parameter of integral (<VERB>0&lt;m&lt;1</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: value of the integral</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Calculates the elliptic integral</P>
+    <P>
+    If <VERB>x</VERB> is a vector, <VERB>y</VERB> is a vector of same dimension as <VERB>x</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+m=0.8;z=%asn(1/sqrt(m),m);K=real(z);Ktilde=imag(z);
+x2max=1/sqrt(m);
+x1=0:0.05:1;x2=1:((x2max-1)/20):x2max;x3=x2max:0.05:10;
+x=[x1,x2,x3];
+y=%asn(x,m);
+rect=[0,-Ktilde,1.1*K,2*Ktilde];
+plot2d(real(y)',imag(y)',1,'011',' ',rect)
+//
+deff('y=f(t)','y=1/sqrt((1-t^2)*(1-m*t^2))');
+intg(0,0.9,f)-%asn(0.9,m)  //Works for real case only!
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>F. D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/percentk.xml b/scilab/modules/signal_processing/help/eng/percentk.xml
new file mode 100644 (file)
index 0000000..d5a7a4c
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>%k</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="%k"> Jacobi's complete elliptic integral</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[K]=%k(m)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: parameter of the elliptic integral <VERB>0&lt;m&lt;1</VERB> (<VERB>m</VERB> can be a vector)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>K</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: value of the elliptic integral from 0 to 1 on the real axis</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Calculates Jacobi's complete elliptic integral
+    of the first kind :</P>
+  </DESCRIPTION>
+  <SECTION label="References">
+    <P>
+    Abramowitz and Stegun page 598</P>
+  </SECTION>
+  <EXAMPLE>
+<![CDATA[
+m=0.4;
+%asn(1,m)
+%k(m)
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>%asn</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>F.D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/percentsn.xml b/scilab/modules/signal_processing/help/eng/percentsn.xml
new file mode 100644 (file)
index 0000000..337433a
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>%sn</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="%sn"> Jacobi 's elliptic function</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y]=%sn(x,m)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a point inside the fundamental rectangle  defined by the elliptic integral; <VERB>x</VERB> is a vector of complex numbers</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: parameter of the elliptic integral (<VERB>0&lt;m&lt;1</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: result</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Jacobi 's sn elliptic function with parameter <VERB>m</VERB>: the inverse 
+    of the elliptic integral for the parameter <VERB>m</VERB>.</P>
+    <P>
+    The amplitude am is computed in fortran and 
+    the addition formulas for elliptic functions are applied</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+m=0.36;
+K=%k(m);
+P=4*K; //Real period
+real_val=0:(P/50):P;
+plot(real_val,real(%sn(real_val,m)))
+xbasc();
+KK=%k(1-m);
+Ip=2*KK;
+ima_val1=0:(Ip/50):KK-0.001;
+ima_val2=(KK+0.05):(Ip/25):(Ip+KK);
+z1=%sn(%i*ima_val1,m);z2=%sn(%i*ima_val2,m);
+plot2d([ima_val1',ima_val2'],[imag(z1)',imag(z2)']);
+xgrid(3)
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>%asn</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>%k</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>F. D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/phc.xml b/scilab/modules/signal_processing/help/eng/phc.xml
new file mode 100644 (file)
index 0000000..33e675a
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>phc</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="phc"> Markovian representation</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[H,F,G]=phc(hk,d,r)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>hk</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: hankel matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>d</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: dimension of the observation</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: desired dimension of the state vector for the approximated model</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>H, F, G</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: relevant matrices of the Markovian model</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Function which computes the matrices <VERB>H, F, G</VERB> of a Markovian 
+    representation by the principal hankel
+    component approximation method, from the hankel matrix built
+    from the covariance sequence of a stochastic process.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//
+//This example may usefully be compared with the results from 
+//the 'levin' macro (see the corresponding help and example)
+//
+//We consider the process defined by two sinusoids (1Hz and 2 Hz) 
+//in additive Gaussian noise (this is the observation); 
+//the simulated process is sampled at 10 Hz.
+//
+t=0:.1:100;rand('normal');
+y=sin(2*%pi*t)+sin(2*%pi*2*t);y=y+rand(y);plot(t,y)
+//
+//covariance of y
+//
+nlag=128;
+c=corr(y,nlag);
+//
+//hankel matrix from the covariance sequence
+//(we can choose to take more information from covariance
+//by taking greater n and m; try it to compare the results !
+//
+n=20;m=20;
+h=hank(n,m,c);
+//
+//compute the Markov representation (mh,mf,mg)
+//We just take here a state dimension equal to 4 :
+//this is the rather difficult problem of estimating the order !
+//Try varying ns ! 
+//(the observation dimension is here equal to one)
+ns=4;
+[mh,mf,mg]=phc(h,1,ns);
+//
+//verify that the spectrum of mf contains the 
+//frequency spectrum of the observed process y
+//(remember that y is sampled -in our example 
+//at 10Hz (T=0.1s) so that we need 
+//to retrieve the original frequencies through the log 
+//and correct scaling by the frequency sampling)
+//
+s=spec(mf);s=log(s);
+s=s/2/%pi/.1;
+//
+//now we get the estimated spectrum
+imag(s),
+//
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>levin</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/pspect.xml b/scilab/modules/signal_processing/help/eng/pspect.xml
new file mode 100644 (file)
index 0000000..269cda2
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>pspect</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="pspect"> cross-spectral estimate between 2 series</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[sm,cwp]=pspect(sec_step,sec_leng,wtype,x,y,wpar)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data if vector, amount of input data if scalar</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data if vector, amount of input data if scalar</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sec_step</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: offset of each data window</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sec_leng</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: length of each data window</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wtype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: window type <VERB>(re,tr,hm,hn,kr,ch)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wpar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: optional parameters  for <VERB>wtype='kr', wpar&gt;0</VERB>  for <VERB>wtype='ch', 0&lt;wpar(1)&lt;.5, wpar(2)&gt;0</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sm</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: power spectral estimate in the interval <VERB>[0,1]</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cwp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: unspecified Chebyshev window parameter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Cross-spectral estimate between <VERB>x</VERB> and <VERB>y</VERB> if both are given
+    and auto-spectral estimate of <VERB>x</VERB> otherwise.
+    Spectral estimate obtained using the modified periodogram method.</P>
+  </DESCRIPTION>
+  <SECTION label="Reference">
+    <P>
+     Digital Signal Processing by Oppenheim and Schafer</P>
+  </SECTION>
+  <EXAMPLE>
+<![CDATA[
+rand('normal');rand('seed',0);
+x=rand(1:1024-33+1);
+//make low-pass filter with eqfir
+nf=33;bedge=[0 .1;.125 .5];des=[1 0];wate=[1 1];
+h=eqfir(nf,bedge,des,wate);
+//filter white data to obtain colored data 
+h1=[h 0*ones(1:maxi(size(x))-1)];
+x1=[x 0*ones(1:maxi(size(h))-1)];
+hf=fft(h1,-1);   xf=fft(x1,-1);yf=hf.*xf;y=real(fft(yf,1));
+//plot magnitude of filter
+//h2=[h 0*ones(1:968)];hf2=fft(h2,-1);hf2=real(hf2.*conj(hf2));
+//hsize=maxi(size(hf2));fr=(1:hsize)/hsize;plot(fr,log(hf2));
+//pspect example
+sm=pspect(100,200,'tr',y);smsize=maxi(size(sm));fr=(1:smsize)/smsize;
+plot(fr,log(sm));
+rand('unif');
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>cspect</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/remez.xml b/scilab/modules/signal_processing/help/eng/remez.xml
new file mode 100644 (file)
index 0000000..a6d36a7
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>REMEZ</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="remez"> Remez's algorithm</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[an]=remez(nc,fg,ds,wt)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>nc</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer, number of cosine functions</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fg,ds,wt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real vectors</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fg</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: grid of frequency points in [0,.5)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ds</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: desired magnitude on grid <VERB>fg</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: weighting function on error on grid <VERB>fg</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    minimax approximation of a frequency domain magnitude response.
+    The approximation takes the form</P>
+    <VERBATIM>
+<![CDATA[
+ h = sum[a(n)*cos(wn)]
+   ]]>
+    </VERBATIM>
+    <P>
+    An FIR, linear-phase filter
+    can be obtained from the the output of <VERB>remez</VERB> by using the
+    following commands:</P>
+    <VERBATIM>
+<![CDATA[
+                 hn(1:nc-1)=an(nc:-1:2)/2;
+                 hn(nc)=an(1);
+                 hn(nc+1:2*nc-1)=an(2:nc)/2;
+   ]]>
+    </VERBATIM>
+    <P>
+    where <VERB>an</VERB> = cosine filter coefficients</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>remezb</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/remezb.xml b/scilab/modules/signal_processing/help/eng/remezb.xml
new file mode 100644 (file)
index 0000000..efcebf3
--- /dev/null
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>remezb</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="remezb"> Minimax approximation of magnitude response</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[an]=remezb(nc,fg,ds,wt)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>nc</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Number of cosine functions</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fg</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Grid of frequency points in [0,.5)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ds</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Desired magnitude on grid <VERB>fg</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Weighting function on error on grid <VERB>fg</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>an</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Cosine filter coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Minimax approximation of a frequency domain
+    magnitude response. The approximation takes
+    the form <VERB>h = sum[a(n)*cos(wn)]</VERB>
+    for n=0,1,...,nc. An FIR, linear-phase filter
+    can be obtained from the the output of the function
+    by using the following commands</P>
+    <VERBATIM>
+<![CDATA[
+         hn(1:nc-1)=an(nc:-1:2)/2;
+         hn(nc)=an(1);
+         hn(nc+1:2*nc-1)=an(2:nc)/2;
+   ]]>
+    </VERBATIM>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+// Choose the number of cosine functions and create a dense grid 
+// in [0,.24) and [.26,.5)
+nc=21;ngrid=nc*16;
+fg=.24*(0:ngrid/2-1)/(ngrid/2-1);
+fg(ngrid/2+1:ngrid)=fg(1:ngrid/2)+.26*ones(1:ngrid/2);
+// Specify a low pass filter magnitude for the desired response
+ds(1:ngrid/2)=ones(1:ngrid/2);
+ds(ngrid/2+1:ngrid)=zeros(1:ngrid/2);
+// Specify a uniform weighting function
+wt=ones(fg);
+// Run remezb
+an=remezb(nc,fg,ds,wt)
+// Make a linear phase FIR filter 
+hn(1:nc-1)=an(nc:-1:2)/2;
+hn(nc)=an(1);
+hn(nc+1:2*nc-1)=an(2:nc)/2;
+// Plot the filter's magnitude response
+plot(.5*(0:255)/256,frmag(hn,256));
+//////////////
+// Choose the number of cosine functions and create a dense grid in [0,.5)
+nc=21; ngrid=nc*16;
+fg=.5*(0:(ngrid-1))/ngrid;
+// Specify a triangular shaped magnitude for the desired response
+ds(1:ngrid/2)=(0:ngrid/2-1)/(ngrid/2-1);
+ds(ngrid/2+1:ngrid)=ds(ngrid/2:-1:1);
+// Specify a uniform weighting function
+wt=ones(fg);
+// Run remezb
+an=remezb(nc,fg,ds,wt)
+// Make a linear phase FIR filter 
+hn(1:nc-1)=an(nc:-1:2)/2;
+hn(nc)=an(1);
+hn(nc+1:2*nc-1)=an(2:nc)/2;
+// Plot the filter's magnitude response
+plot(.5*(0:255)/256,frmag(hn,256));
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>eqfir</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/rpem.xml b/scilab/modules/signal_processing/help/eng/rpem.xml
new file mode 100644 (file)
index 0000000..9a01574
--- /dev/null
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>rpem</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="rpem"> RPEM estimation</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[w1,[v]]=rpem(w0,u0,y0,[lambda,[k,[c]]])  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>a,b,c</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: <VERB>a=[a(1),...,a(n)], b=[b(1),...,b(n)], c=[c(1),...,c(n)]</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>w0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: <VERB>list(theta,p,phi,psi,l)</VERB> where:</SP>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>theta</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: [a,b,c] is a real vector of order <VERB>3*n</VERB></SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>p</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: (3*n x 3*n) real matrix.</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>phi,psi,l</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: real vector of dimension <VERB>3*n</VERB></SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+          <P>
+    During the first call on can take:
+  </P>
+          <VERBATIM>
+<![CDATA[
+theta=phi=psi=l=0*ones(1,3*n). p=eye(3*n,3*n)
+   ]]>
+          </VERBATIM>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>u0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real vector of inputs (arbitrary size) (if no input take <VERB>u0=[ ]</VERB>).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of outputs (same dimension as <VERB>u0</VERB> if <VERB>u0</VERB> is not empty). (<VERB>y0(1)</VERB> is not used by rpem).</SP>
+          <P>
+    If the time domain is <VERB>(t0,t0+k-1)</VERB> the <VERB>u0</VERB> vector contains the inputs 
+  </P>
+          <P><VERB>u(t0),u(t0+1),..,u(t0+k-1)</VERB> and <VERB>y0</VERB> the outputs 
+  </P>
+          <P>
+            <VERB>y(t0),y(t0+1),..,y(t0+k-1)</VERB>
+          </P>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Recursive estimation of parameters in an ARMAX model.
+    Uses Ljung-Soderstrom recursive prediction error method.
+    Model considered is the following:
+  </P>
+    <VERBATIM>
+<![CDATA[
+y(t)+a(1)*y(t-1)+...+a(n)*y(t-n)=
+b(1)*u(t-1)+...+b(n)*u(t-n)+e(t)+c(1)*e(t-1)+...+c(n)*e(t-n)
+   ]]>
+    </VERBATIM>
+    <P>
+  </P>
+    <P>
+    The effect of this command is to update the estimation of
+    unknown parameter <VERB>theta=[a,b,c]</VERB> with
+  </P>
+    <P><VERB>a=[a(1),...,a(n)], b=[b(1),...,b(n)], c=[c(1),...,c(n)]</VERB>.
+  </P>
+  </DESCRIPTION>
+  <SECTION label="Optional parameters">
+    <ITEMIZE>
+      <ITEM label="lambda">
+        <SP>: optional parameter (forgetting constant) choosed close to 1 as convergence occur:</SP>
+        <P><VERB>lambda=[lambda0,alfa,beta]</VERB> evolves according to :</P>
+        <VERBATIM>
+<![CDATA[
+lambda(t)=alfa*lambda(t-1)+beta 
+   ]]>
+        </VERBATIM>
+        <P>
+    with <VERB>lambda(0)=lambda0</VERB></P>
+        <P><VERB>k</VERB> : contraction factor to be chosen close to 1 as convergence occurs.</P>
+        <P><VERB>k=[k0,mu,nu]</VERB> evolves according to:</P>
+        <VERBATIM>
+<![CDATA[
+k(t)=mu*k(t-1)+nu 
+   ]]>
+        </VERBATIM>
+        <P>
+    with <VERB>k(0)=k0</VERB>.</P>
+        <P><VERB>c</VERB> : large parameter.(<VERB>c=1000</VERB> is the default value).</P>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Output parameters:">
+    <P><VERB>w1</VERB>: update for <VERB>w0</VERB>.</P>
+    <P><VERB>v</VERB>: sum of squared prediction errors on <VERB>u0, y0</VERB>.(optional).</P>
+    <P>
+    In particular <VERB>w1(1)</VERB> is the new estimate of <VERB>theta</VERB>. If a new sample <VERB>u1, y1</VERB> is available the update is obtained by:</P>
+    <P><VERB>[w2,[v]]=rpem(w1,u1,y1,[lambda,[k,[c]]])</VERB>. Arbitrary large series can thus be treated.</P>
+  </SECTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/sinc.xml b/scilab/modules/signal_processing/help/eng/sinc.xml
new file mode 100644 (file)
index 0000000..e01d78e
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>sinc</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="sinc">  samples of sinc function</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[x]=sinc(n,fl)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of samples</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fl</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: cut-off frequency of the associated low-pass filter in Hertz.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: samples of the sinc function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Calculate n samples of the function <VERB>sin(2*pi*fl*t)/(pi*t)</VERB>
+    for <VERB>t=-(n-1)/2:(n-1)/2</VERB> (i.e. centred around the origin).</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+plot(sinc(100,0.1))
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>sincd</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. B.;   </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/sincd.xml b/scilab/modules/signal_processing/help/eng/sincd.xml
new file mode 100644 (file)
index 0000000..ffca1e8
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>sincd</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="sincd"> digital sinc function or Direchlet kernel</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[s]=sincd(n,flag)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>flag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: if <VERB>flag = 1</VERB> the function is centred around the origin; if <VERB>flag = 2</VERB> the function is delayed by <VERB>%pi/(2*n)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>s</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of values of the function on a dense grid of frequencies</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function which calculates the function <VERB>Sin(N*x)/N*Sin(x)</VERB></P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+plot(sincd(10,1)) 
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>G. Le V.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/srfaur.xml b/scilab/modules/signal_processing/help/eng/srfaur.xml
new file mode 100644 (file)
index 0000000..df21151
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>srfaur</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="srfaur"> square-root algorithm</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[p,s,t,l,rt,tt]=srfaur(h,f,g,r0,n,p,s,t,l)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>h, f, g</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: convenient matrices of the state-space model.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>r0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: E(yk*yk').</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>p</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: estimate of the solution after n iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>s, t, l</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: intermediate matrices for  successive iterations;</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>rt, tt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: gain matrices of the filter model after <VERB>n</VERB> iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>p, s, t, l</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: may be given as input if more than one recursion is desired (evaluation of intermediate values of <VERB>p</VERB>).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    square-root algorithm for the algebraic Riccati equation.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//GENERATE SIGNAL
+x=%pi/10:%pi/10:102.4*%pi;
+rand('seed',0);rand('normal');
+y=[1;1]*sin(x)+[sin(2*x);sin(1.9*x)]+rand(2,1024);
+//COMPUTE CORRELATIONS
+c=[];for j=1:2,for k=1:2,c=[c;corr(y(k,:),y(j,:),64)];end;end
+c=matrix(c,2,128);
+//FINDING H,F,G with 6 states
+hk=hank(20,20,c);
+[H,F,G]=phc(hk,2,6);
+//SOLVING RICCATI EQN
+r0=c(1:2,1:2);
+[P,s,t,l,Rt,Tt]=srfaur(H,F,G,r0,200);
+//Make covariance matrix exactly symetric
+Rt=(Rt+Rt')/2
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>phc</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>faurre</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>lindquist</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/srkf.xml b/scilab/modules/signal_processing/help/eng/srkf.xml
new file mode 100644 (file)
index 0000000..200e168
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>srkf</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="srkf"> square root Kalman filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[x1,p1]=srkf(y,x0,p0,f,h,q,r)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>f, h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: current system matrices</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>q, r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: covariance matrices of dynamics and observation noise</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x0, p0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: state estimate and error variance at t=0 based on data up to t=-1</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: current observation Output from the function is</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x1, p1</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: updated estimate and error covariance at t=1 based on data up to t=0</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    square root Kalman filter algorithm</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/sskf.xml b/scilab/modules/signal_processing/help/eng/sskf.xml
new file mode 100644 (file)
index 0000000..8b25e0c
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>sskf</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="sskf"> steady-state Kalman filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[xe,pe]=sskf(y,f,h,q,r,x0)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data in form <VERB>[y0,y1,...,yn]</VERB>, <VERB>yk</VERB> a column vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>f</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: system matrix dim(NxN)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: observations matrix dim(MxN)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>q</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: dynamics noise matrix dim(NxN)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: observations noise matrix dim(MxM)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: initial state estimate</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xe</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: estimated state</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>pe</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: steady-state error covariance</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    steady-state Kalman filter</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/system.xml b/scilab/modules/signal_processing/help/eng/system.xml
new file mode 100644 (file)
index 0000000..89c434e
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>system</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="system"> observation update</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[x1,y]=system(x0,f,g,h,q,r)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input state vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>f</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: system matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>g</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Output matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>q</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input noise covariance matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output noise covariance matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x1</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output state vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output observation</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    define system function which generates the next
+    observation given the old state.
+    System recursively calculated</P>
+    <VERBATIM>
+<![CDATA[
+     x1=f*x0+g*u
+     y=h*x0+v
+   ]]>
+    </VERBATIM>
+    <P>
+    where <VERB>u</VERB> is distributed <VERB>N(0,q)</VERB>
+    and <VERB>v</VERB> is distribute <VERB>N(0,r)</VERB>.</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/trans.xml b/scilab/modules/signal_processing/help/eng/trans.xml
new file mode 100644 (file)
index 0000000..d9ca828
--- /dev/null
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>trans</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="trans"> low-pass to other filter transform</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>hzt=trans(hz,tr_type,frq)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>hzt=trans(pd,zd,gd,tr_type,frq)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>hz</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: given fiter transfert function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+  
+      <PARAM_ITEM>
+        <PARAM_NAME>pd</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Vector of given fiter poles</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zd</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Vector of given fiter zeros</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>gd</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: scalar: the given fiter gain</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>tr_type</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string, the type of transformation, see description for possible values </SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>frq</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 2-vector of discrete cut-off frequencies (i.e.,<VERB>0&lt;frq&lt;.5</VERB>). For lp and hp filters only frq(1) is used. For bp and sb filters frq(1) is the lower cut-off frequency and frq(2) is the upper cut-off frequency. </SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>hzt</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: transformed filter transfert function.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function for transforming standardized low-pass filter given its
+      poles-zeros_gain representation into
+    one of the following filters:
+    </P>
+    <P>
+      low-pass ('lp'), the cutoff frequency is given by the first entry of frq,
+      the second one is ignored
+    </P>
+    <P>
+      high-pass ('hp'),  the cutoff frequency is given by the first entry of frq,
+      the second one is ignored
+    </P>
+    <P>
+      
+      band-pass ('bp'), the frequency range is given by frq(1) and frq(2)
+    </P>
+    <P>
+      stop-band ('sb') , the frequency range is given by frq(1) and frq(2).
+    </P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+clf()
+
+Hlp=iir(3,'lp','ellip',[0.1 0],[.08 .03]);
+subplot(311)
+gainplot(Hlp,1d-3,0.48)
+legend('original low pass')
+
+
+Hbp=trans(Hlp,'bp',[0.01 0.1]);
+subplot(312)
+gainplot(Hbp,1d-3,0.48)
+legend('band pass')
+
+
+Hsb=trans(Hlp,'sb',[0.01 0.1])
+subplot(313)
+gainplot(Hsb,1d-3,0.48)
+legend('stop band')
+
+
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. Bunks ;   </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/wfir.xml b/scilab/modules/signal_processing/help/eng/wfir.xml
new file mode 100644 (file)
index 0000000..4902e84
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>wfir</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="wfir"> linear-phase FIR filters</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>ftype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : <VERB>'lp','hp','bp','sb'</VERB> (filter type)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>forder</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Filter order (pos integer)(odd for <VERB>ftype='hp'</VERB> or <VERB>'sb'</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cfreq</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 2-vector of cutoff frequencies (<VERB>0&lt;cfreq(1),cfreq(2)&lt;.5</VERB>)  only <VERB>cfreq(1)</VERB> is used when <VERB>ftype='lp'</VERB> or <VERB>'hp'</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wtype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Window type (<VERB>'re','tr','hm','hn','kr','ch'</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fpar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 2-vector of window parameters. Kaiser window <VERB>fpar(1)&gt;0 fpar(2)=0</VERB>. Chebyshev window  <VERB>fpar(1)&gt;0, fpar(2)&lt;0</VERB> or <VERB>fpar(1)&lt;0, 0&lt;fpar(2)&lt;.5</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wft</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: time domain filter coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wfm</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: frequency domain filter response on the grid fr</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fr</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Frequency grid</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Function which makes linear-phase, FIR low-pass, band-pass,
+    high-pass, and stop-band filters
+    using the windowing technique.
+    Works interactively if called with no arguments.</P>
+  </DESCRIPTION>
+  <AUTHOR>C. Bunks</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/wiener.xml b/scilab/modules/signal_processing/help/eng/wiener.xml
new file mode 100644 (file)
index 0000000..b046bef
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>wiener</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="wiener">  Wiener estimate</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[xs,ps,xf,pf]=wiener(y,x0,p0,f,g,h,q,r)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>f, g, h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: system matrices in the interval <VERB>[t0,tf]</VERB></SP>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>f</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>=<VERB>[f0,f1,...,ff]</VERB>, and <VERB>fk</VERB> is a nxn matrix</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>g</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>=<VERB>[g0,g1,...,gf]</VERB>, and <VERB>gk</VERB> is a nxn matrix</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>h</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>=<VERB>[h0,h1,...,hf]</VERB>, and <VERB>hk</VERB> is a mxn matrix</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>q, r</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: covariance matrices of dynamics and observation noise</SP>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>q</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>=<VERB>[q0,q1,...,qf]</VERB>, and <VERB>qk</VERB> is a nxn matrix</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>r</PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>=<VERB>[r0,r1,...,rf]</VERB>, and <VERB>gk</VERB> is a mxm matrix</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x0, p0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: initial state estimate and error variance</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: observations in the interval <VERB>[t0,tf]</VERB>. <VERB>y=[y0,y1,...,yf]</VERB>, and <VERB>yk</VERB> is a column m-vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xs</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Smoothed state estimate <VERB>xs= [xs0,xs1,...,xsf]</VERB>, and <VERB>xsk</VERB> is a column n-vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ps</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Error covariance of smoothed estimate <VERB>ps=[p0,p1,...,pf]</VERB>, and <VERB>pk</VERB> is a nxn matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xf</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Filtered state estimate <VERB>xf= [xf0,xf1,...,xff]</VERB>, and <VERB>xfk</VERB> is a column n-vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>pf</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Error covariance of filtered estimate <VERB>pf=[p0,p1,...,pf]</VERB>, and <VERB>pk</VERB> is a nxn matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function which gives the Wiener estimate using
+    the forward-backward Kalman filter formulation</P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/wigner.xml b/scilab/modules/signal_processing/help/eng/wigner.xml
new file mode 100644 (file)
index 0000000..0d95277
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>wigner</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="wigner"> 'time-frequency' wigner spectrum</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[tab]=wigner(x,h,deltat,zp)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>tab</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: wigner spectrum (lines correspond to the time variable)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: analyzed signal</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data window</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>deltat</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: analysis time increment (in samples)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: length of FFT's. <VERB>%pi/zp</VERB> gives the frequency increment.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    function which computes the 'time-frequency' wigner
+    spectrum of a signal.</P>
+  </DESCRIPTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/window.xml b/scilab/modules/signal_processing/help/eng/window.xml
new file mode 100644 (file)
index 0000000..1ea1055
--- /dev/null
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>window</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="window"> compute symmetric window of various type</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>
+      win_l=window('re',n)
+    </CALLING_SEQUENCE_ITEM>
+   <CALLING_SEQUENCE_ITEM>
+      win_l=window('tr',n)
+    </CALLING_SEQUENCE_ITEM>
+   <CALLING_SEQUENCE_ITEM>
+      win_l=window('hn',n)
+    </CALLING_SEQUENCE_ITEM>
+   <CALLING_SEQUENCE_ITEM>
+      win_l=window('hm',n)
+    </CALLING_SEQUENCE_ITEM>
+   <CALLING_SEQUENCE_ITEM>
+      win_l=window('kr',n,alpha)
+    </CALLING_SEQUENCE_ITEM>
+   <CALLING_SEQUENCE_ITEM>
+      [win_l,cwp]=window('ch',n,par)
+    </CALLING_SEQUENCE_ITEM>
+
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: window length</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>par</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: parameter 2-vector <VERB>par=[dp,df])</VERB>, where
+           <VERB>dp</VERB>  (<VERB>0&lt;dp&lt;.5</VERB>) rules the  main lobe
+           width and  <VERB>df</VERB> rules the side lobe height
+           (<VERB>df&gt;0</VERB>).</SP>
+         <SP>Only one of these two value should be specified the other one
+           should set equal to <VERB>-1</VERB>.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>alpha</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: kaiser window parameter <VERB>alpha &gt;0</VERB>). </SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+     
+      <PARAM_ITEM>
+        <PARAM_NAME>win</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: window</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cwp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: unspecified Chebyshev window parameter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+  <P>
+      function which calculates various symmetric window for Disgital signal processing</P>
+ <P>
+      The Kaiser window is a nearly optimal window function. <VERB>alpha</VERB>
+      is an arbitrary positive real number that determines the shape of the
+      window,  and the integer  <VERB>n</VERB> is the length of the window.
+</P>
+ <P>
+    By construction, this function peaks at unity for <VERB> k = n/2</VERB> ,
+    i.e. at the center of the window, and decays exponentially towards the 
+    window edges.   The larger the value of <VERB>alpha</VERB>, the narrower 
+    the window becomes; <VERB>alpha = 0</VERB> corresponds to a rectangular window.
+    Conversely, for larger <VERB>alpha</VERB> the width of the main lobe
+    increases in the Fourier transform, while the side lobes decrease in
+    amplitude. 
+    Thus, this parameter controls the tradeoff between main-lobe width and
+    side-lobe area.
+</P>
+    <TABLE>
+      <TABLE_NEW_ROW>
+        <TABLE_NEW_COLUMN>alpha</TABLE_NEW_COLUMN>
+        <TABLE_NEW_COLUMN>window shape</TABLE_NEW_COLUMN>
+      </TABLE_NEW_ROW>
+      <TABLE_NEW_ROW>
+        <TABLE_NEW_COLUMN>0</TABLE_NEW_COLUMN>
+        <TABLE_NEW_COLUMN>Rectangular shape</TABLE_NEW_COLUMN>
+      </TABLE_NEW_ROW>
+      <TABLE_NEW_ROW>
+        <TABLE_NEW_COLUMN>5</TABLE_NEW_COLUMN>
+        <TABLE_NEW_COLUMN>Similar to the Hamming window</TABLE_NEW_COLUMN>
+      </TABLE_NEW_ROW>
+     <TABLE_NEW_ROW>
+        <TABLE_NEW_COLUMN>6</TABLE_NEW_COLUMN>
+        <TABLE_NEW_COLUMN>Similar to the Hanning window</TABLE_NEW_COLUMN>
+      </TABLE_NEW_ROW>
+     <TABLE_NEW_ROW>
+        <TABLE_NEW_COLUMN>8.6</TABLE_NEW_COLUMN>
+        <TABLE_NEW_COLUMN>Similar to the Blackman window</TABLE_NEW_COLUMN>
+      </TABLE_NEW_ROW>
+   </TABLE>
+<P>
+      The Chebyshev window minimizes the mainlobe width, given a particular sidelobe
+      height. It is characterized by an equiripple behavior, that is, its
+      sidelobes all have the same height.
+</P>
+
+<P>
+      The Hanning and Hamming windows are quite similar, they only differ in
+      the choice of one parameter <VERB>alpha</VERB>: 
+      <VERB> w=alpha+(1 - alpha)*cos(2*%pi*x/(n-1))</VERB> 
+      <VERB>alpha</VERB> is equal to 1/2 in Hanning window and to 0.54 in
+      Hamming window.
+    </P>
+
+  </DESCRIPTION>
+
+  <EXAMPLE>
+<![CDATA[
+// Hamming window
+clf()
+N=64;
+w=window('hm',N);
+subplot(121);plot2d(1:N,w,style=color('blue'))
+set(gca(),'grid',[1 1]*color('gray'))
+subplot(122)
+n=256;[W,fr]=frmag(w,n);
+plot2d(fr,20*log10(W),style=color('blue'))
+set(gca(),'grid',[1 1]*color('gray'))
+
+//Kaiser window
+clf()
+N=64;
+w=window('kr',N,6);
+subplot(121);plot2d(1:N,w,style=color('blue'))
+set(gca(),'grid',[1 1]*color('gray'))
+subplot(122)
+n=256;[W,fr]=frmag(w,n);
+plot2d(fr,20*log10(W),style=color('blue'))
+set(gca(),'grid',[1 1]*color('gray'))
+
+//Chebyshev window
+clf()
+N=64;
+[w,df]=window('ch',N,[0.005,-1]);
+subplot(121);plot2d(1:N,w,style=color('blue'))
+set(gca(),'grid',[1 1]*color('gray'))
+subplot(122)
+n=256;[W,fr]=frmag(w,n);
+plot2d(fr,20*log10(W),style=color('blue'))
+set(gca(),'grid',[1 1]*color('gray'))
+   ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>wfir</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>frmag</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>ffilt</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+
+  <AUTHOR>Carey  Bunks  </AUTHOR>
+<BIBLIO>
+    <SP>IEEE. Programs for Digital Signal Processing. IEEE Press. New York: John
+    Wiley and Sons, 1979. Program 5.2.</SP>
+</BIBLIO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/yulewalk.xml b/scilab/modules/signal_processing/help/eng/yulewalk.xml
new file mode 100644 (file)
index 0000000..9d78b37
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>yulewalk</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="yulewalk">  least-square filter design</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>Hz = yulewalk(N,frq,mag)   </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>N</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (order of desired filter)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>frq</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real row vector (non-decreasing order), frequencies.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>mag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: non negative real row vector (same size as frq), desired magnitudes.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>Hz</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter <VERB>B(z)/A(z)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Hz = yulewalk(N,frq,mag) finds the N-th order iir filter</P>
+    <VERBATIM>
+<![CDATA[
+                  n-1         n-2            
+      B(z)   b(1)z     + b(2)z    + .... + b(n)
+H(z)= ---- = ---------------------------------
+                n-1       n-2
+      A(z)    z   + a(2)z    + .... + a(n)
+   ]]>
+    </VERBATIM>
+    <P>
+    which matches the magnitude frequency response given by vectors frq and mag.
+    Vectors frq and mag specify the frequency and magnitude of the desired
+    frequency response. The frequencies in frq must be between 0.0 and 1.0,
+    with 1.0 corresponding to half the sample rate. They must be in
+    increasing order and start with 0.0 and end with 1.0.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+f=[0,0.4,0.4,0.6,0.6,1];H=[0,0,1,1,0,0];Hz=yulewalk(8,f,H);
+fs=1000;fhz = f*fs/2;  
+xbasc(0);xset('window',0);plot2d(fhz',H');
+xtitle('Desired Frequency Response (Magnitude)')
+[frq,repf]=repfreq(Hz,0:0.001:0.5);
+xbasc(1);xset('window',1);plot2d(fs*frq',abs(repf'));
+xtitle('Obtained Frequency Response (Magnitude)')
+ ]]>
+  </EXAMPLE>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/zpbutt.xml b/scilab/modules/signal_processing/help/eng/zpbutt.xml
new file mode 100644 (file)
index 0000000..66456ca
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>zpbutt</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="zpbutt"> Butterworth analog filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[pols,gain]=zpbutt(n,omegac)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (filter order)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegac</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real (cut-off frequency in Hertz)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>pols</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting poles of filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>gain</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting gain of filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    computes the poles of a Butterworth analog
+    filter of order <VERB>n</VERB> and cutoff frequency omegac
+    transfer function H(s) is calculated by <VERB>H(s)=gain/real(poly(pols,'s'))</VERB></P>
+  </DESCRIPTION>
+  <AUTHOR>F. Delebecque INRIA</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/zpch1.xml b/scilab/modules/signal_processing/help/eng/zpch1.xml
new file mode 100644 (file)
index 0000000..843f9da
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>zpch1</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="zpch1"> Chebyshev analog filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[poles,gain]=zpch1(n,epsilon,omegac)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (filter order)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>epsilon</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : ripple in the pass band (<VERB>0&lt;epsilon&lt;1</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegac</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : cut-off frequency in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>poles</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting filter poles</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>gain</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting filter gain</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Poles of a Type 1 Chebyshev analog filter. The transfer function is given by :</P>
+    <VERBATIM>
+<![CDATA[
+ H(s)=gain/poly(poles,'s')
+   ]]>
+    </VERBATIM>
+  </DESCRIPTION>
+  <AUTHOR>F.D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/zpch2.xml b/scilab/modules/signal_processing/help/eng/zpch2.xml
new file mode 100644 (file)
index 0000000..d9b217c
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>zpch2</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="zpch2"> Chebyshev analog filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[zeros,poles,gain]=zpch2(n,A,omegar)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>A</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : attenuation in stop band (<VERB>A&gt;1</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : cut-off frequency in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zeros</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting filter zeros</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>poles</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting filter poles</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>gain</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Resulting filter gain</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Poles and zeros of a type 2 Chebyshev analog filter
+    gain is the gain of the filter</P>
+    <VERBATIM>
+<![CDATA[
+H(s)=gain*poly(zeros,'s')/poly(poles,'s')
+   ]]>
+    </VERBATIM>
+  </DESCRIPTION>
+  <AUTHOR>F.D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/eng/zpell.xml b/scilab/modules/signal_processing/help/eng/zpell.xml
new file mode 100644 (file)
index 0000000..19bc84e
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>zpell</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="zpell"> lowpass elliptic filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[zeros,poles,gain]=zpell(epsilon,A,omegac,omegar)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>epsilon</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : ripple of filter in pass band (<VERB>0&lt;epsilon&lt;1</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>A</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : attenuation of filter in stop band (<VERB>A&gt;1</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegac</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : pass band cut-off frequency in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : stop band cut-off frequency in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zeros</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting zeros of filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>poles</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting poles of filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>gain</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting gain of filter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Poles and zeros of prototype lowpass elliptic filter.
+    <VERB>gain</VERB> is the gain of the filter</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>ell1mag</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>eqiir</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>F.D.   </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/Signal.xml b/scilab/modules/signal_processing/help/fr/Signal.xml
new file mode 100644 (file)
index 0000000..4296b00
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>Signal</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="Signal"> Signal manual description</SHORT_DESCRIPTION>
+  <SECTION label="Filters">
+    <ITEMIZE>
+      <ITEM label="analpf">
+        <SP>: analog low-pass filter</SP>
+      </ITEM>
+      <ITEM label="buttmag">
+        <SP>: squared magnitude response of a Butterworth filter</SP>
+      </ITEM>
+      <ITEM label="casc">
+        <SP>: creates cascade realization of filter</SP>
+      </ITEM>
+      <ITEM label="cheb1mag">
+        <SP>: square magnitude response of a type 1 Chebyshev filter</SP>
+      </ITEM>
+      <ITEM label="cheb2mag">
+        <SP>: square magnitude response of a type 1 Chebyshev filter</SP>
+      </ITEM>
+      <ITEM label="chepol">
+        <SP>: recursive implementation of Chebychev polynomial</SP>
+      </ITEM>
+      <ITEM label="convol">
+        <SP>: convolution of 2 discrete series</SP>
+      </ITEM>
+      <ITEM label="ell1 mag">
+        <SP>: squared magnitude of an elliptic filter</SP>
+      </ITEM>
+      <ITEM label="eqfir">
+        <SP>: minimax multi-band, linear phase, FIR filter</SP>
+      </ITEM>
+      <ITEM label="eqiir">
+        <SP>: design of iir filter</SP>
+      </ITEM>
+      <ITEM label="faurre">
+        <SP>: optimal lqg filter.</SP>
+      </ITEM>
+      <ITEM label="lindquis">
+        <SP>: optimal lqg filter lindquist algorithm</SP>
+      </ITEM>
+      <ITEM label="ffilt">
+        <SP>: FIR low-pass,high-pass, band-pass, or stop-band filter</SP>
+      </ITEM>
+      <ITEM label="filter">
+        <SP>: compute the filter model</SP>
+      </ITEM>
+      <ITEM label="find_freq">
+        <SP>: parameter compatibility for elliptic filter design</SP>
+      </ITEM>
+      <ITEM label="findm">
+        <SP>: for elliptic filter design</SP>
+      </ITEM>
+      <ITEM label="frmag">
+        <SP>: magnitude of the frequency responses of FIR and IIR filters.</SP>
+      </ITEM>
+      <ITEM label="fsfirlin">
+        <SP>: design of FIR, linear phase (frequency sampling technique)</SP>
+      </ITEM>
+      <ITEM label="fwiir">
+        <SP>: optimum design of IIR filters in cascade realization,</SP>
+      </ITEM>
+      <ITEM label="iir">
+        <SP>: designs an iir digital filter using analog filter designs.</SP>
+      </ITEM>
+      <ITEM label="iirgroup">
+        <SP>: group delay of iir filter</SP>
+      </ITEM>
+      <ITEM label="iirlp">
+        <SP>: Lp IIR filters optimization</SP>
+      </ITEM>
+      <ITEM label="group">
+        <SP>: calculate the group delay of a digital filter</SP>
+      </ITEM>
+      <ITEM label="optfir">
+        <SP>: optimal design of linear phase filters using linear programming</SP>
+      </ITEM>
+      <ITEM label="remezb">
+        <SP>: minimax approximation of a frequency domain magnitude response.</SP>
+      </ITEM>
+      <ITEM label="kalm">
+        <SP>: Kalman update and error variance</SP>
+      </ITEM>
+      <ITEM label="lev">
+        <SP>: resolve the Yule-Walker equations :</SP>
+      </ITEM>
+      <ITEM label="levin">
+        <SP>: solve recursively Toeplitz system (normal equations)</SP>
+      </ITEM>
+      <ITEM label="srfaur">
+        <SP>: square-root algorithm for the algebraic Riccati equation.</SP>
+      </ITEM>
+      <ITEM label="srkf">
+        <SP>: square-root Kalman filter algorithm</SP>
+      </ITEM>
+      <ITEM label="sskf">
+        <SP>: steady-state Kalman filter</SP>
+      </ITEM>
+      <ITEM label="system">
+        <SP>: generates the next observation given the old state</SP>
+      </ITEM>
+      <ITEM label="trans">
+        <SP>: transformation of standardized low-pass filter into low-pass, high-pass, band-pass, stop-band.</SP>
+      </ITEM>
+      <ITEM label="wfir">
+        <SP>: linear-phase windowed FIR low-pass, band-pass, high-pass, stop-band</SP>
+      </ITEM>
+      <ITEM label="wiener">
+        <SP>: Wiener estimate (forward-backward Kalman filter formulation)</SP>
+      </ITEM>
+      <ITEM label="wigner">
+        <SP>: time-frequency wigner spectrum of a signal.</SP>
+      </ITEM>
+      <ITEM label="window">
+        <SP>: calculate symmetric window</SP>
+      </ITEM>
+      <ITEM label="zpbutt">
+        <SP>: Butterworth analog filter</SP>
+      </ITEM>
+      <ITEM label="zpch1">
+        <SP>: poles of a type 1 Chebyshev analog filter</SP>
+      </ITEM>
+      <ITEM label="zpch2">
+        <SP>: poles and zeros of a type 2 Chebyshev analog filter</SP>
+      </ITEM>
+      <ITEM label="zpell">
+        <SP>: poles and zeros of prototype lowpass elliptic filter</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Spectral estimation">
+    <ITEMIZE>
+      <ITEM label="corr">
+        <SP>: correlation coefficients</SP>
+      </ITEM>
+      <ITEM label="cspect">
+        <SP>: spectral estimation using the modified periodogram method.</SP>
+      </ITEM>
+      <ITEM label="czt">
+        <SP>: chirp z-transform algorithm</SP>
+      </ITEM>
+      <ITEM label="intdec">
+        <SP>: change the sampling rate of a 1D or 2D signal</SP>
+      </ITEM>
+      <ITEM label="mese">
+        <SP>: calculate the maximum entropy spectral estimate</SP>
+      </ITEM>
+      <ITEM label="pspect">
+        <SP>: auto and cross-spectral estimate</SP>
+      </ITEM>
+      <ITEM label="wigner">
+        <SP>: Wigner-Ville time/frequency spectral estimation</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Transforms">
+    <ITEMIZE>
+      <ITEM label="dft">
+        <SP>: discrete Fourier transform</SP>
+      </ITEM>
+      <ITEM label="fft">
+        <SP>: fast flourier transform</SP>
+      </ITEM>
+      <ITEM label="hilb">
+        <SP>: Hilbert transform centred around the origin.</SP>
+      </ITEM>
+      <ITEM label="hank">
+        <SP>: hankel matrix of the covariance sequence of a vector process</SP>
+      </ITEM>
+      <ITEM label="mfft">
+        <SP>: fft for a multi-dimensional signal</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Identification">
+    <ITEMIZE>
+      <ITEM label="lattn,lattp">
+        <SP>: recursive solution of normal equations</SP>
+      </ITEM>
+      <ITEM label="phc">
+        <SP>: State space realisation by the principal hankel component  approximation method,</SP>
+      </ITEM>
+      <ITEM label="rpem">
+        <SP>: identification by the recursive prediction error method</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+  <SECTION label="Miscellaneous">
+    <ITEMIZE>
+      <ITEM label="lgfft">
+        <SP>: computes p = ceil (log_2(x))</SP>
+      </ITEM>
+      <ITEM label="sinc">
+        <SP>: calculate the function sin(2*pi*fl*t)/(pi*t)</SP>
+      </ITEM>
+      <ITEM label="sincd">
+        <SP>: calculates the function Sin(N*x)/Sin(x)</SP>
+      </ITEM>
+      <ITEM label="%k">
+        <SP>: Jacobi's complete elliptic integral</SP>
+      </ITEM>
+      <ITEM label="%asn">
+        <SP>: .TP the elliptic integral :</SP>
+      </ITEM>
+      <ITEM label="%sn">
+        <SP>: Jacobi 's elliptic function with parameter m</SP>
+      </ITEM>
+      <ITEM label="bilt">
+        <SP>: bilinear transform or biquadratic transform.</SP>
+      </ITEM>
+      <ITEM label="jmat">
+        <SP>: permutes block rows or block columns of a matrix</SP>
+      </ITEM>
+    </ITEMIZE>
+  </SECTION>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/analpf.xml b/scilab/modules/signal_processing/help/fr/analpf.xml
new file mode 100644 (file)
index 0000000..99d418f
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>analpf</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="analpf"> create analog low-pass filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[hs,pols,zers,gain]=analpf(n,fdesign,rp,omega)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive integer : filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fdesign</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : filter design method : <VERB>'butt'</VERB> or <VERB>'cheb1'</VERB> or <VERB>'cheb2'</VERB> or <VERB>'ellip'</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>rp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 2-vector of error values for cheb1, cheb2 and ellip filters where only <VERB>rp(1)</VERB> is used for cheb1 case, only <VERB>rp(2)</VERB> is used for cheb2 case, and <VERB>rp(1)</VERB> and <VERB>rp(2)</VERB> are both used for ellip case.  <VERB>0&lt;rp(1),rp(2)&lt;1</VERB></SP>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for cheb1 filters <VERB>1-rp(1)&lt;ripple&lt;1</VERB> in passband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for cheb2 filters <VERB>0&lt;ripple&lt;rp(2)</VERB> in stopband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>-  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>for ellip filters <VERB>1-rp(1)&lt;ripple&lt;1</VERB> in passband <VERB>0&lt;ripple&lt;rp(2)</VERB> in stopband</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omega</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: cut-off frequency of low-pass filter in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>hs</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: rational polynomial transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>pols</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: poles of transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zers</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: zeros of transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>gain</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: gain of transfer function</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Creates analog low-pass filter with cut-off frequency at omega.</P>
+    <P>
+      <VERB>hs=gain*poly(zers,'s')/poly(pols,'s')</VERB>
+    </P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//Evaluate magnitude response of continuous-time system 
+hs=analpf(4,'cheb1',[.1 0],5)
+fr=0:.1:15;
+hf=freq(hs(2),hs(3),%i*fr);
+hm=abs(hf);
+plot(fr,hm)
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/buttmag.xml b/scilab/modules/signal_processing/help/fr/buttmag.xml
new file mode 100644 (file)
index 0000000..392e767
--- /dev/null
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>buttmag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="buttmag">  response of Butterworth filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[h]=buttmag(order,omegac,sample)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>order</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegac</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : cut-off frequency in Hertz</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sample</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of frequency where <VERB>buttmag</VERB> is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Butterworth filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    squared magnitude response of a Butterworth filter
+    <VERB>omegac</VERB> = cutoff frequency ; <VERB>sample</VERB> = sample of frequencies</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//squared magnitude response of Butterworth filter
+h=buttmag(13,300,1:1000);
+mag=20*log(h)'/log(10);
+plot2d((1:1000)',mag,[2],"011"," ",[0,-180,1000,20])
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>F. D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/casc.xml b/scilab/modules/signal_processing/help/fr/casc.xml
new file mode 100644 (file)
index 0000000..827241e
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>casc</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="casc">  cascade realization of filter from coefficients</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[cels]=casc(x,z)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: (4xN)-matrix where each column is a cascade element, the first two column entries being the numerator coefficients and the second two column entries being the denominator coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>z</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string representing the cascade variable</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cels</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: resulting cascade representation</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Creates cascade realization of filter from a matrix of coefficients
+    (utility function).</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+x=[1,2,3;4,5,6;7,8,9;10,11,12]
+cels=casc(x,'z')
+ ]]>
+  </EXAMPLE>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/cepstrum.xml b/scilab/modules/signal_processing/help/fr/cepstrum.xml
new file mode 100644 (file)
index 0000000..9b20438
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cepstrum</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cepstrum"> cepstrum calculation</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>fresp = cepstrum(w,mag)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>w</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: positive real vector of frequencies (rad/sec)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>mag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real vector of magnitudes (same size as <VERB>w</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fresp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: complex vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P><VERB>fresp = cepstrum(w,mag)</VERB> returns a frequency response <VERB>fresp(i)</VERB>
+    whose magnitude at frequency <VERB>w(i)</VERB> equals <VERB>mag(i)</VERB>  and such
+    that the phase of <VERB>freq</VERB> corresponds to a stable and minimum phase
+    system. <VERB>w</VERB> needs not to be sorted, but  minimal entry should not be
+    close to zero and all the entries of <VERB>w</VERB> should be different.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+w=0.1:0.1:5;mag=1+abs(sin(w));
+fresp=cepstrum(w,mag);
+plot2d([w',w'],[mag(:),abs(fresp)])
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>frfit</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/cheb1mag.xml b/scilab/modules/signal_processing/help/fr/cheb1mag.xml
new file mode 100644 (file)
index 0000000..0a92f3f
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cheb1mag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cheb1mag">  response of Chebyshev type 1 filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[h2]=cheb1mag(n,omegac,epsilon,sample)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegac</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : cut-off frequency</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>epsilon</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real : ripple in pass band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sample</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of frequencies where <VERB>cheb1mag</VERB> is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h2</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Chebyshev I filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Square magnitude response of a type 1 Chebyshev filter.</P>
+    <P><VERB>omegac</VERB>=passband edge.</P>
+    <P><VERB>epsilon</VERB>: such that <VERB>1/(1+epsilon^2)</VERB>=passband ripple.</P>
+    <P><VERB>sample</VERB>: vector of frequencies where the square magnitude
+    is desired.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//Chebyshev; ripple in the passband
+n=13;epsilon=0.2;omegac=3;sample=0:0.05:10;
+h=cheb1mag(n,omegac,epsilon,sample);
+plot2d(sample,h)
+xtitle('','frequencies','magnitude')
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>buttmag</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/cheb2mag.xml b/scilab/modules/signal_processing/help/fr/cheb2mag.xml
new file mode 100644 (file)
index 0000000..2f4bcf6
--- /dev/null
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cheb2mag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cheb2mag"> response of type 2 Chebyshev filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[h2]=cheb2mag(n,omegar,A,sample)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer ; filter order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>omegar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real scalar : cut-off frequency</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>A</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: attenuation in stop band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sample</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of frequencies where cheb2mag is evaluated</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>h2</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of Chebyshev II filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Square magnitude response of a type 2 Chebyshev filter.</P>
+    <P><VERB>omegar</VERB> = stopband edge, <VERB>sample</VERB> = vector of 
+    frequencies where the square magnitude <VERB>h2</VERB> is desired.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//Chebyshev; ripple in the stopband
+n=10;omegar=6;A=1/0.2;sample=0.0001:0.05:10;
+h2=cheb2mag(n,omegar,A,sample);
+plot(sample,log(h2)/log(10),'frequencies','magnitude in dB')
+//Plotting of frequency edges
+minval=(-maxi(-log(h2)))/log(10);
+plot2d([omegar;omegar],[minval;0],[2],"000");
+//Computation of the attenuation in dB at the stopband edge
+attenuation=-log(A*A)/log(10);
+plot2d(sample',attenuation*ones(sample)',[5],"000")
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>cheb1mag</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/chepol.xml b/scilab/modules/signal_processing/help/fr/chepol.xml
new file mode 100644 (file)
index 0000000..decaaed
--- /dev/null
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>chepol</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="chepol"> Chebychev polynomial</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[Tn]=chepol(n,var)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer : polynomial order</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>var</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : polynomial variable</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>Tn</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: polynomial in the variable <VERB>var</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Recursive implementation of Chebychev polynomial.
+    <VERB>Tn=2*poly(0,var)*chepol(n-1,var)-chepol(n-2,var)</VERB> with
+    <VERB>T0=1</VERB> and <VERB>T1=poly(0,var)</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+chepol(4,'x')
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>F. D.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/convol.xml b/scilab/modules/signal_processing/help/fr/convol.xml
new file mode 100644 (file)
index 0000000..515731e
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>convol</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="convol"> convolution</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y]=convol(h,x)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[y,e1]=convol(h,x,e0)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x,h</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>:input sequences (<VERB>h</VERB> is a &quot;short&quot; sequence, <VERB>x</VERB> a &quot;long&quot; one)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>e0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: old tail to overlap add (not used in first call)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output of convolution</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>e1</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: new tail to overlap add (not used in last call)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    calculates the convolution <VERB>y= h*x</VERB> of two
+    discrete sequences by using the fft.  Overlap add method can be used.</P>
+    <P>
+    USE OF OVERLAP ADD METHOD: 
+    For x=[x1,x2,...,xNm1,xN]
+    First call is [y1,e1]=convol(h,x1); 
+    Subsequent calls : [yk,ek]=convol(h,xk,ekm1);
+    Final call : [yN]=convol(h,xN,eNm1);
+    Finally y=[y1,y2,...,yNm1,yN]</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+x=1:3;
+h1=[1,0,0,0,0];h2=[0,1,0,0,0];h3=[0,0,1,0,0];
+x1=convol(h1,x),x2=convol(h2,x),x3=convol(h3,x),
+convol(h1+h2+h3,x)
+p1=poly(x,'x','coeff')
+p2=poly(h1+h2+h3,'x','coeff')
+p1*p2
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>corr</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>pspect</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>F. D , C. Bunks Date 3 Oct. 1988; ;   </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/corr.xml b/scilab/modules/signal_processing/help/fr/corr.xml
new file mode 100644 (file)
index 0000000..92dded4
--- /dev/null
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>corr</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="corr"> correlation, covariance</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[cov,Mean]=corr(x,[y],nlags)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[cov,Mean]=corr('fft',xmacro,[ymacro],n,sect)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[w,xu]=corr('updt',x1,[y1],w0)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[w,xu]=corr('updt',x2,[y2],w,xu)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM> ...  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[wk]=corr('updt',xk,[yk],w,xu)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector, default value x.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>nlags</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer, number of correlation coefficients desired.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xmacro</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a scilab external (see below).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ymacro</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a scilab external (see below), default value xmacro</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: an integer, total size of the sequence (see below).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sect</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: size of sections of the sequence (see below).</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xi</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>yi</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: a real vector,default value xi.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cov</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real vector, the correlation coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>Mean</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real number or vector,  the mean of x and if given y</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Computes
+  </P>
+    <VERBATIM>
+<![CDATA[
+                n - m 
+                 ====
+                 \                                                 1
+        cov(m) =  >        (x(k)  - xmean) (y(m+k)      - ymean) * ---
+                 /                                                  n
+                 ====
+                 k = 1
+   ]]>
+    </VERBATIM>
+    <P>
+    for   m=0,..,<VERB>nlag-1</VERB> and two vectors <VERB>x=[x(1),..,x(n)]</VERB>
+     <VERB>y=[y(1),..,y(n)]</VERB>
+  </P>
+    <P>
+    Note that if x and y sequences are differents corr(x,y,...) is
+    different with corr(y,x,...)
+  </P>
+    <DESCRIPTION_INDENT>
+      <DESCRIPTION_ITEM label="Short sequences">
+        <SP><VERB>[cov,Mean]=corr(x,[y],nlags)</VERB> returns the first nlags
+    correlation coefficients and Mean = <VERB>mean(x)</VERB>
+    (mean of <VERB>[x,y]</VERB> if <VERB>y</VERB> is an argument).
+    The sequence <VERB>x</VERB> (resp. <VERB>y</VERB>) is assumed real, and <VERB>x</VERB> 
+    and <VERB>y</VERB> are of same dimension n.</SP>
+      </DESCRIPTION_ITEM>
+      <DESCRIPTION_ITEM label="Long sequences">
+        <SP><VERB>[cov,Mean]=corr('fft',xmacro,[ymacro],n,sect)</VERB> Here <VERB>xmacro</VERB> is either</SP>
+        <DESCRIPTION_INDENT>
+          <DESCRIPTION_ITEM>
+            <P> 
+        a function of type <VERB>[xx]=xmacro(sect,istart)</VERB> which
+        returns a vector <VERB>xx</VERB> of dimension
+        <VERB>nsect</VERB> containing the part of the sequence with
+        indices from <VERB>istart</VERB> to
+        <VERB>istart+sect-1</VERB>.</P>
+          </DESCRIPTION_ITEM>
+          <DESCRIPTION_ITEM>
+            <P>
+        a fortran subroutine or C procedure which performs the same
+        calculation. (See the source code of <VERB>dgetx</VERB> for an
+        example). <VERB>n</VERB> = total size of the
+        sequence. <VERB>sect</VERB> = size of sections of the
+        sequence. <VERB>sect</VERB> must be a power of
+        2. <VERB>cov</VERB> has dimension
+        <VERB>sect</VERB>. Calculation is performed by FFT.</P>
+          </DESCRIPTION_ITEM>
+        </DESCRIPTION_INDENT>
+      </DESCRIPTION_ITEM>
+      <DESCRIPTION_ITEM label="Updating method">
+        <VERBATIM>
+<![CDATA[
+    [w,xu]=corr('updt',x1,[y1],w0)
+    [w,xu]=corr('updt',x2,[y2],w,xu)
+     ...
+    wk=corr('updt',xk,[yk],w,xu)
+    ]]>
+        </VERBATIM>
+        <P>
+    With this calling sequence the calculation is updated at each
+    call to <VERB>corr</VERB>.</P>
+        <VERBATIM>
+<![CDATA[
+    w0 = 0*ones(1,2*nlags);
+    nlags = power of 2.
+    ]]>
+        </VERBATIM>
+        <P><VERB>x1,x2,...</VERB> are parts of <VERB>x</VERB> such that
+    <VERB>x=[x1,x2,...]</VERB> and sizes of <VERB>xi</VERB> a power of
+    2.  To get <VERB>nlags</VERB> coefficients a final fft must be
+    performed <VERB>c=fft(w,1)/n</VERB>; <VERB>cov=c(1nlags)</VERB>
+    (<VERB>n</VERB> is the size of <VERB>x (y)</VERB>).  Caution: this
+    calling sequence assumes that <VERB>xmean = ymean = 0</VERB>.</P>
+      </DESCRIPTION_ITEM>
+    </DESCRIPTION_INDENT>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+x=%pi/10:%pi/10:102.4*%pi;
+rand('seed');rand('normal');
+y=[.8*sin(x)+.8*sin(2*x)+rand(x);.8*sin(x)+.8*sin(1.99*x)+rand(x)];
+c=[];
+for j=1:2,for k=1:2,c=[c;corr(y(k,:),y(j,:),64)];end;end;
+c=matrix(c,2,128);cov=[];
+for j=1:64,cov=[cov;c(:,(j-1)*2+1:2*j)];end;
+rand('unif')
+//
+rand('normal');x=rand(1,256);y=-x;
+deff('[z]=xx(inc,is)','z=x(is:is+inc-1)');
+deff('[z]=yy(inc,is)','z=y(is:is+inc-1)');
+[c,mxy]=corr(x,y,32);
+x=x-mxy(1)*ones(x);y=y-mxy(2)*ones(y);  //centring
+c1=corr(x,y,32);c2=corr(x,32);
+norm(c1+c2,1)
+[c3,m3]=corr('fft',xx,yy,256,32);
+norm(c1-c3,1)
+[c4,m4]=corr('fft',xx,256,32);
+norm(m3,1),norm(m4,1)
+norm(c3-c1,1),norm(c4-c2,1)
+x1=x(1:128);x2=x(129:256);
+y1=y(1:128);y2=y(129:256);
+w0=0*ones(1:64);   //32 coeffs
+[w1,xu]=corr('u',x1,y1,w0);w2=corr('u',x2,y2,w1,xu);
+zz=real(fft(w2,1))/256;c5=zz(1:32);
+norm(c5-c1,1)
+[w1,xu]=corr('u',x1,w0);w2=corr('u',x2,w1,xu);
+zz=real(fft(w2,1))/256;c6=zz(1:32);
+norm(c6-c2,1)
+rand('unif')
+// test for Fortran or C external 
+//
+deff('[y]=xmacro(sec,ist)','y=sin(ist:(ist+sec-1))');
+x=xmacro(100,1);
+[cc1,mm1]=corr(x,2^3);
+[cc,mm]=corr('fft',xmacro,100,2^3);
+[cc2,mm2]=corr('fft','corexx',100,2^3);
+[maxi(abs(cc-cc1)),maxi(abs(mm-mm1)),maxi(abs(cc-cc2)),maxi(abs(mm-mm2))]
+
+deff('[y]=ymacro(sec,ist)','y=cos(ist:(ist+sec-1))');
+y=ymacro(100,1);
+[cc1,mm1]=corr(x,y,2^3);
+[cc,mm]=corr('fft',xmacro,ymacro,100,2^3);
+[cc2,mm2]=corr('fft','corexx','corexy',100,2^3);
+[maxi(abs(cc-cc1)),maxi(abs(mm-mm1)),maxi(abs(cc-cc2)),maxi(abs(mm-mm2))]
+
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/cspect.xml b/scilab/modules/signal_processing/help/fr/cspect.xml
new file mode 100644 (file)
index 0000000..8493a8c
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>cspect</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="cspect"> spectral estimation (correlation method)  </SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[sm,cwp]=cspect(nlags,ntp,wtype,x,y,wpar)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data if vector, amount of input data if scalar</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: data if vector, amount of input data if scalar</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>nlags</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of correlation lags (positive integer)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>ntp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of transform points (positive integer)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wtype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: string : <VERB>'re','tr','hm','hn','kr','ch'</VERB> (window type)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wpar</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: optional window parameters for <VERB>wtype='kr', wpar&gt;0</VERB> and for <VERB>wtype='ch', 0 &lt; wpar(1) &lt; .5, wpar(2) &gt; 0</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>sm</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: power spectral estimate in the interval [0,1]</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cwp</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: calculated value of unspecified Chebyshev window parameter</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Spectral estimation using the  correlation method.
+    Cross-spectral estimate of <VERB>x</VERB> and <VERB>y</VERB> is calculated when both
+    <VERB>x</VERB> and <VERB>y</VERB> are given. Auto-spectral estimate of <VERB>x</VERB> is calculated
+    if <VERB>y</VERB> is not given.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+rand('normal');rand('seed',0);
+x=rand(1:1024-33+1);
+//make low-pass filter with eqfir
+nf=33;bedge=[0 .1;.125 .5];des=[1 0];wate=[1 1];
+h=eqfir(nf,bedge,des,wate);
+//filter white data to obtain colored data 
+h1=[h 0*ones(1:maxi(size(x))-1)];
+x1=[x 0*ones(1:maxi(size(h))-1)];
+hf=fft(h1,-1);   xf=fft(x1,-1);yf=hf.*xf;y=real(fft(yf,1));
+sm=cspect(100,200,'tr',y);
+smsize=maxi(size(sm));fr=(1:smsize)/smsize;
+plot(fr,log(sm))
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>pspect</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. Bunks ;  Digital Signal Processing by Oppenheim and Schafer</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/czt.xml b/scilab/modules/signal_processing/help/fr/czt.xml
new file mode 100644 (file)
index 0000000..0afeb03
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>czt</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="czt"> chirp z-transform algorithm</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[czx]=czt(x,m,w,phi,a,theta)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input data sequence</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: czt is evaluated at <VERB>m</VERB> points in z-plane</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>w</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: magnitude multiplier</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>phi</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: phase increment</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>a</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: initial magnitude</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>theta</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: initial phase</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>czx</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: chirp z-transform output</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    chirp z-transform algorithm which calcultes the z-transform on a
+    spiral in the z-plane at the points
+    <VERB>[a*exp(j*theta)][w^kexp(j*k*phi)] </VERB> for
+    <VERB>k=0,1,...,m-1</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+a=.7*exp(%i*%pi/6);
+[ffr,bds]=xgetech(); //preserve current context
+rect=[-1.2,-1.2*sqrt(2),1.2,1.2*sqrt(2)];
+t=2*%pi*(0:179)/179;xsetech([0,0,0.5,1]);
+plot2d(sin(t)',cos(t)',[2],"012",' ',rect)
+plot2d([0 real(a)]',[0 imag(a)]',[3],"000")
+xsegs([-1.0,0;1.0,0],[0,-1.0;0,1.0])
+w0=.93*exp(-%i*%pi/15);w=exp(-(0:9)*log(w0));z=a*w;
+zr=real(z);zi=imag(z);
+plot2d(zr',zi',[5],"000")
+xsetech([0.5,0,0.5,1]);
+plot2d(sin(t)',cos(t)',[2],"012",' ',rect)
+plot2d([0 real(a)]',[0 imag(a)]',[-1],"000")
+xsegs([-1.0,0;1.0,0],[0,-1.0;0,1.0])
+w0=w0/(.93*.93);w=exp(-(0:9)*log(w0));z=a*w;
+zr=real(z);zi=imag(z);
+plot2d(zr',zi',[5],"000")
+xsetech(ffr,bds); //restore context
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. Bunks</AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/detrend.xml b/scilab/modules/signal_processing/help/fr/detrend.xml
new file mode 100644 (file)
index 0000000..6abf5f4
--- /dev/null
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>detrend</TITLE>
+  <TYPE>Scilab Function  </TYPE>
+  <DATE>24-Apr-2005</DATE>
+  <SHORT_DESCRIPTION name="detrend">remove constant, linear or piecewise linear trend from a vector</SHORT_DESCRIPTION>
+
+  <CALLING_SEQUENCE>
+  <CALLING_SEQUENCE_ITEM>y = detrend(x)</CALLING_SEQUENCE_ITEM>
+  <CALLING_SEQUENCE_ITEM>y = detrend(x,flag)</CALLING_SEQUENCE_ITEM>
+  <CALLING_SEQUENCE_ITEM>y = detrend(x,flag,bp)</CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+
+  <PARAM>
+  <PARAM_INDENT>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>x</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : vector or matrix of real or complex numbers (the signal to treat)
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>flag</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : a string equal to "linear" (or "l") for linear or piecewise linear treatment  
+         or "constant" (or "c") for constant treatment.
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>bp</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : the breakpoints to provide if you want a piecewise linear treatment. 
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+
+    <PARAM_ITEM>
+    <PARAM_NAME>y</PARAM_NAME>
+    <PARAM_DESCRIPTION>
+       <SP>
+       : output, the signal x with the trend removed from it.
+       </SP>
+    </PARAM_DESCRIPTION>
+    </PARAM_ITEM>
+  </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+     <P>
+      This function removes the constant or linear or
+      piecewise linear trend from a vector <VERB>x</VERB>. In general
+      this can be useful before a fourier analysis. If <VERB>x</VERB> is
+      matrix this function removes the trend of each column of x.
+      </P>
+     <P>
+     When <VERB>flag</VERB> = "constant" or "c"  <VERB>detrend</VERB> removes the constant trend 
+     (simply the mean of the signal) and when <VERB>flag</VERB> = "linear" or "l" the function
+     removes the linear trend. By adding a third argument <VERB>bp</VERB> it is possible to
+     remove a continuous <EM>piecewise linear</EM> trend. Note that the "instants" of the signal 
+     <VERB>x</VERB> goes from 0 to m-1  (m = length(x) if x is a vector and m = size(x,1) in case
+     x is a matrix). So the breakpoints <VERB>bp(i)</VERB> must be reals in <EM>[0 m-1]</EM> 
+     (breakpoints outside are simply removed from <VERB>bp</VERB> vector). 
+     </P>
+     <P>
+     The trend is got by a least square fit of <VERB>x</VERB> on the appropriate function space. 
+     </P>
+  </DESCRIPTION>
+
+  <EXAMPLE><![CDATA[
+// example #1
+t = linspace(0,16*%pi,1000)';
+x = -20 + t + 0.3*sin(0.5*t) + sin(t) + 2*sin(2*t) + 0.5*sin(3*t); 
+y = detrend(x);
+xbasc()
+plot2d(t,[x y],style=[2 5])
+legend(["before detrend","after detrend"]);
+xgrid()
+
+// example #2
+t = linspace(0,32*%pi,2000)';
+x = abs(t-16*%pi) + 0.3*sin(0.5*t) + sin(t) + 2*sin(2*t) + 0.5*sin(3*t); 
+y = detrend(x,"linear",1000);
+xbasc()
+plot2d(t,[x y],style=[2 5])
+legend(["before detrend","after detrend"]);
+xgrid()
+  ]]></EXAMPLE>
+
+  <AUTHOR>
+    Bruno Pincon
+  </AUTHOR>
+
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/dft.xml b/scilab/modules/signal_processing/help/fr/dft.xml
new file mode 100644 (file)
index 0000000..00f61a0
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>dft</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="dft"> discrete Fourier transform</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[xf]=dft(x,flag);  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: input vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>flag</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: indicates dft (flag=-1)  or idft (flag=1)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>xf</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output vector</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Function which computes dft of vector <VERB>x</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+n=8;omega = exp(-2*%pi*%i/n);
+j=0:n-1;F=omega.^(j'*j);  //Fourier matrix
+x=1:8;x=x(:);
+F*x
+fft(x,-1)
+dft(x,-1)
+inv(F)*x
+fft(x,1)
+dft(x,1)
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/ell1mag.xml b/scilab/modules/signal_processing/help/fr/ell1mag.xml
new file mode 100644 (file)
index 0000000..96a5bc1
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>ell1mag</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="ell1mag"> magnitude of elliptic filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[v]=ell1mag(eps,m1,z)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>eps</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: passband ripple=<VERB>1/(1+eps^2)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>m1</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: stopband ripple=<VERB>1/(1+(eps^2)/m1)</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>z</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: sample vector of values in the complex plane</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>v</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: elliptic filter values at sample points</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Function used for squared magnitude of an elliptic filter.
+    Usually <VERB>m1=eps*eps/(a*a-1)</VERB>. Returns 
+    <VERB>v=real(ones(z)./(ones(z)+eps*eps*s.*s))</VERB> for <VERB>s=%sn(z,m1)</VERB>.</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+deff('[alpha,beta]=alpha_beta(n,m,m1)',...
+'if 2*int(n/2)=n then, beta=K1; else, beta=0;end;...
+alpha=%k(1-m1)/%k(1-m);')
+epsilon=0.1;A=10;  //ripple parameters
+m1=(epsilon*epsilon)/(A*A-1);n=5;omegac=6;
+m=find_freq(epsilon,A,n);omegar = omegac/sqrt(m)
+%k(1-m1)*%k(m)/(%k(m1)*%k(1-m))-n   //Check...
+[alpha,beta]=alpha_beta(n,m,m1)
+alpha*%asn(1,m)-n*%k(m1)      //Check
+sample=0:0.01:20;
+//Now we map the positive real axis into the contour...
+z=alpha*%asn(sample/omegac,m)+beta*ones(sample);
+plot(sample,ell1mag(epsilon,m1,z))
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>buttmag</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/eqfir.xml b/scilab/modules/signal_processing/help/fr/eqfir.xml
new file mode 100644 (file)
index 0000000..7082f7b
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>eqfir</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="eqfir"> minimax approximation of FIR filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[hn]=eqfir(nf,bedge,des,wate)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>nf</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of output filter points desired</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>bedge</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: Mx2 matrix giving a pair of edges for each band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>des</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: M-vector giving desired magnitude for each band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>wate</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: M-vector giving relative weight of error in each band</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>hn</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: output of linear-phase FIR filter coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Minimax approximation of multi-band, linear phase, FIR filter</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+hn=eqfir(33,[0 .2;.25 .35;.4 .5],[0 1 0],[1 1 1]);
+[hm,fr]=frmag(hn,256);
+plot(fr,hm),
+ ]]>
+  </EXAMPLE>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/eqiir.xml b/scilab/modules/signal_processing/help/fr/eqiir.xml
new file mode 100644 (file)
index 0000000..604ab11
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>eqiir</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="eqiir"> Design of iir filters</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[cells,fact,zzeros,zpoles]=eqiir(ftype,approx,om,deltap,deltas)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>ftype</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter type (<VERB>'lp','hp','sb','bp'</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>approx</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: design approximation (<VERB>'butt','cheb1','cheb2','ellip'</VERB>)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>om</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: 4-vector of cutoff frequencies (in radians)  <VERB>om=[om1,om2,om3,om4]</VERB>, <VERB>0 &lt;= om1 &lt;= om2 &lt;= om3 &lt;= om4 &lt;= pi</VERB>.  When <VERB>ftype</VERB>='lp' or 'hp', <VERB>om3</VERB> and <VERB>om4</VERB> are not used  and may be set to 0.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>deltap</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: ripple in the passband. <VERB>0&lt;= deltap &lt;=1</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>deltas</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: ripple in the stopband. <VERB>0&lt;= deltas &lt;=1</VERB></SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>cells</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: realization of the filter as second order cells</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fact</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: normalization constant</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zzeros</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: zeros in the z-domain</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>zpoles</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: poles in the z-domain</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Design of iir filter interface with eqiir (syredi)</P>
+    <P>
+    The filter obtained is <VERB>h(z)=fact</VERB>*product of the elements of
+    <VERB>cells</VERB>.</P>
+    <P>
+    That is <VERB>hz=fact*prod(cells(2))./prod(cells(3))</VERB></P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+[cells,fact,zzeros,zpoles]=...
+eqiir('lp','ellip',[2*%pi/10,4*%pi/10],0.02,0.001)
+transfer=fact*poly(zzeros,'z')/poly(zpoles,'z')
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>eqfir</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>iir</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/faurre.xml b/scilab/modules/signal_processing/help/fr/faurre.xml
new file mode 100644 (file)
index 0000000..ca93385
--- /dev/null
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>faurre</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="faurre"> filter computation by simple Faurre algorithm</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[P,R,T]=faurre(n,H,F,G,R0)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>H, F, G</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: estimated triple from the covariance sequence of <VERB>y</VERB>.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>R0</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: E(yk*yk')</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>P</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: solution of the Riccati equation after n iterations.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>R, T</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: gain matrix of the filter.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    This function computes iteratively the minimal solution of the algebraic
+    Riccati equation and gives the matrices <VERB>R</VERB> and <VERB>T</VERB> of the 
+    filter model.
+    The algorithm tries to compute the solution P as the growing limit of a
+    sequence of matrices Pn such that</P>
+    <VERBATIM>
+<![CDATA[
+                                     -1
+Pn+1=F*Pn*F'+(G-F*Pn*h')*(R0-H*Pn*H')  *(G'-H*Pn*F')
+       -1
+P0=G*R0 *G'
+   ]]>
+    </VERBATIM>
+    <P>
+    Note that this method may not converge,especially when F has poles
+    near the unit circle. Use preferably the srfaur function.</P>
+  </DESCRIPTION>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>srfaur</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>lindquist</LINK>
+    </SEE_ALSO_ITEM>
+    <SEE_ALSO_ITEM>
+      <LINK>phc</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+  <AUTHOR>G. Le V.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/ffilt.xml b/scilab/modules/signal_processing/help/fr/ffilt.xml
new file mode 100644 (file)
index 0000000..1a4ebf8
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>ffilt</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="ffilt"> coefficients of FIR low-pass</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[x]=ffilt(ft,n,fl,fh)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>ft</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: filter type where <VERB>ft</VERB> can take the values</SP>
+          <PARAM_INDENT>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;lp&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for low-pass filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;hp&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for high-pass filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;bp&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for band-pass filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+            <PARAM_ITEM>
+              <PARAM_NAME>&quot;sb&quot;  </PARAM_NAME>
+              <PARAM_DESCRIPTION>
+                <SP>: for stop-band filter</SP>
+              </PARAM_DESCRIPTION>
+            </PARAM_ITEM>
+          </PARAM_INDENT>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer (number of filter samples desired)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fl</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real (low frequency cut-off)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>fh</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real (high frequency cut-off)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: vector of filter coefficients</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    Get <VERB>n</VERB> coefficients of a FIR low-pass,
+    high-pass, band-pass, or stop-band filter.
+    For low and high-pass filters one cut-off
+    frequency must be specified whose value is
+    given in <VERB>fl</VERB>. For band-pass and stop-band
+    filters two cut-off frequencies must be
+    specified for which the lower value is in
+    <VERB>fl</VERB> and the higher value is in <VERB>fh</VERB></P>
+  </DESCRIPTION>
+  <AUTHOR>C. B.  </AUTHOR>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/fft.xml b/scilab/modules/signal_processing/help/fr/fft.xml
new file mode 100644 (file)
index 0000000..7f0075e
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>fft</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="fft"> fast Fourier transform.  </SHORT_DESCRIPTION>
+  <SHORT_DESCRIPTION name="ifft"> fast Fourier transform.  </SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>x=fft(a ,-1) or x=fft(a) </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>x=fft(a,1)  or x=ifft(a)</CALLING_SEQUENCE_ITEM>
+    
+    <CALLING_SEQUENCE_ITEM>x=fft(a,-1,dim,incr)  </CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>x=fft(a,1,dim,incr)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector. Real or complex matrix (2-dim fft)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>a</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector, matrix or multidimensionnal array.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>dim</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>incr</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <DESCRIPTION_INDENT>
+      <DESCRIPTION_ITEM label='Short syntax '>
+       <DESCRIPTION_INDENT>
+
+         <DESCRIPTION_ITEM label='direct'>
+           <P><VERB>x=fft(a,-1)</VERB> or <VERB>x=fft(a)</VERB> gives a direct
+             transform.</P>
+           <DESCRIPTION_INDENT>
+
+             <DESCRIPTION_ITEM label='single variate'>
+               <P>If <VERB>a</VERB> is a vector a single variate direct FFT is
+                 computed that is:</P>
+               <P>x(k)=sum over m from 1 to n  of a(m)*exp(-2i*pi*(m-1)*(k-1)/n)</P>
+               <P>for k varying from 1 to n (n=size of vector <VERB>a</VERB>).</P>
+               
+               <P>(the <VERB>-1</VERB> argument refers to
+                 the sign of the exponent..., NOT to &quot;inverse&quot;), </P>
+             </DESCRIPTION_ITEM>
+             <DESCRIPTION_ITEM label='multivariate'>
+               <P>If <VERB>a</VERB> is a matrix or or a
+                 multidimensionnal array a multivariate direct FFT is performed.</P>
+             </DESCRIPTION_ITEM>
+           </DESCRIPTION_INDENT>
+         </DESCRIPTION_ITEM>
+
+         <DESCRIPTION_ITEM label='inverse'>
+           <P><VERB>a=fft(x,1)</VERB> or  <VERB>a=ifft(x)</VERB>performs the
+             inverse transform normalized by <VERB>1/n</VERB>.</P>
+           <DESCRIPTION_INDENT>
+             <DESCRIPTION_ITEM label='single variate'>
+               <P>If <VERB>a</VERB> is a vector a single variate inverse FFT is
+                 computed </P>
+             </DESCRIPTION_ITEM>
+             <DESCRIPTION_ITEM label='multivariate'>
+               <P>If <VERB>a</VERB> is a matrix or or a
+                 multidimensionnal array a multivariate inverse FFT is performed.</P>
+             </DESCRIPTION_ITEM>
+           </DESCRIPTION_INDENT>
+         </DESCRIPTION_ITEM>
+       </DESCRIPTION_INDENT>
+      </DESCRIPTION_ITEM>
+      
+      <DESCRIPTION_ITEM label='Long syntax for multidimensional FFT'>
+
+        <P><VERB>x=fft(a,-1,dim,incr)</VERB> allows to perform an multidimensional fft.</P>
+        <P>If a is a real or complex vector implicitly indexed by
+         <VERB>j1,j2,..,jp</VERB> i.e. <VERB>a(j1,j2,..,jp)</VERB> where <VERB>j1</VERB> lies in 
+         <VERB>1:dim(1),</VERB> <VERB>j2</VERB> in <VERB>1:dim(2),...</VERB> one gets 
+         a p-variate FFT  by calling p times <VERB>fft</VERB> as follows</P>
+        <VERBATIM>
+         <![CDATA[
+         incrk=1;
+         x=a;
+         for k=1:p
+           x=fft(x ,-1,dim(k),incrk)
+           incrk=incrk*dim(k)
+         end
+         ]]>
+        </VERBATIM>
+        <P>where <VERB>dimk</VERB> is the dimension of the current variable w.r.t which
+         one is integrating and <VERB>incrk</VERB> is the increment which separates
+         two successive <VERB>jk</VERB> elements in <VERB>a</VERB>.</P>
+        <P>In particular,if <VERB>a</VERB> is an nxm matrix,
+         <VERB>x=fft(a,-1)</VERB> is equivalent to the two instructions:</P>
+        <P><VERB>a1=fft(a,-1,m,1)</VERB> and <VERB>x=fft(a1,-1,n,m)</VERB>.</P>
+      </DESCRIPTION_ITEM>
+    </DESCRIPTION_INDENT>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+  //Comparison with explicit formula
+  //----------------------------------
+  a=[1;2;3];n=size(a,'*');
+  norm(1/n*exp(2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,1))
+  norm(exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,-1)) 
+  //Frequency components of a signal
+  //----------------------------------
+  // build a noides signal sampled at 1000hz  containing to pure frequencies 
+  // at 50 and 70 Hz
+  sample_rate=1000;
+  t = 0:1/sample_rate:0.6;
+  N=size(t,'*'); //number of samples
+  s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);
+  
+  y=fft(s);
+  //the fft response is symetric we retain only the first N/2 points
+  f=sample_rate*(0:(N/2))/N; //associated frequency vector
+  n=size(f,'*')
+  clf()
+  plot2d(f,abs(y(1:n)))
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>corr</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/fft2.xml b/scilab/modules/signal_processing/help/fr/fft2.xml
new file mode 100644 (file)
index 0000000..71e5412
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+
+  <TITLE>fft2</TITLE>
+
+  <TYPE>Scilab Function</TYPE>
+
+  <DATE>November 2005</DATE>
+
+  <SHORT_DESCRIPTION name="fft2">two-dimension fast Fourier
+  transform</SHORT_DESCRIPTION>
+
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>y=fft2(x)</CALLING_SEQUENCE_ITEM>
+
+    <CALLING_SEQUENCE_ITEM>y=fft2(x,n,m)</CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a vector/matrix/array (Real or Complex)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a vector/matrix/array (Real or Complex)</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>m</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: integer, number of rows.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: integer, number of columns.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+
+  <DESCRIPTION>
+    <VERBATIM>This functions performs the two-dimension discrete Fourier
+    transform.</VERBATIM>
+
+    <P><VERB>y=fft2(x)</VERB>: y and x have the same size</P>
+
+    <P><VERB>y=fft2(x,m,n):</VERB> If <VERB>m</VERB> (respectively
+    <VERB>n</VERB>) is less than the rows number (respectively columns) of
+    <VERB>x</VERB> then the <VERB>x</VERB> rows number (resp. columns) is
+    truncated, else if m (resp. <VERB>n</VERB>) is more than the rows number
+    (resp. columns) of <VERB>x</VERB> then <VERB>x</VERB> rows are completed
+    by zero (resp. columns) .</P>
+
+    <P>if <VERB>x</VERB> is a matrix then <VERB>y</VERB> is a matrix, if
+    <VERB>x</VERB> is a hypermatrix then <VERB>y</VERB> is a hypermatrix, with
+    the size of the first dimension of <VERB>y</VERB> is equal to
+    <VERB>m</VERB>, the size of the second dimension of <VERB>y</VERB> is
+    equal to <VERB>n</VERB>, the size of the ith dimension of <VERB>y</VERB>
+    (for i&gt;2, case hypermatrix) equal to the size of the ith dimension of
+    <VERB>x</VERB>. (i.e size(y,1)=m, size(y,2)=n, size(y,i)=size(x,i) for
+    i&gt;2)</P>
+  </DESCRIPTION>
+
+  <EXAMPLE><![CDATA[
+//Comparison with explicit formula
+a=[1 2 3 ;4 5 6 ;7 8 9 ;10 11 12]  
+m=size(a,1)
+n=size(a,2)
+// fourier transform along the rows
+for i=1:n
+a1(:,i)=exp(-2*%i*%pi*(0:m-1)'.*.(0:m-1)/m)*a(:,i) 
+end
+// fourier transform along the columns
+for j=1:m
+a2temp=exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*(a1(j,:)).' 
+a2(j,:)=a2temp.'
+end
+norm(a2-fft2(a))
+
+  ]]></EXAMPLE>
+
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/help/fr/fftshift.xml b/scilab/modules/signal_processing/help/fr/fftshift.xml
new file mode 100644 (file)
index 0000000..3bb4538
--- /dev/null
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>fftshift</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>2001</DATE>
+  <SHORT_DESCRIPTION name="fftshift"> rearranges the fft output, moving the zero frequency to the center of the spectrum</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>y=fftshift(x [,job])  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>x</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector or matrix.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>y</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: real or complex vector or matrix.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>job</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: integer, dimension selection, or string 'all'</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+  <DESCRIPTION>
+    <P>
+    if <VERB>x</VERB> results of an fft computation <VERB>y= fftshift(x)</VERB> or <VERB>y= fftshift(x,&quot;all&quot;)</VERB> moves the zero frequency component to the center
+    of the spectrum, which is sometimes a more convenient form.</P>
+    <P>
+    If <VERB>x</VERB> is a vector of size n, y is the vector <VERB>x([n/2+1:n,1:n/2])</VERB></P>
+    <P>
+    If <VERB>x</VERB> is an <VERB>m</VERB> by <VERB>n</VERB>  matrix <VERB>y</VERB> is the matrix
+    <VERB>x([m/2+1:n,1:m/2],[n/2+1:n,1:n/2])</VERB>.</P>
+    <VERBATIM>
+<![CDATA[
+  [x11 x12]                  [x22 x21]
+x=[       ]        gives   y=[       ]
+  [x21 x22]                  [x12 x11]
+   ]]>
+    </VERBATIM>
+    <P><VERB>y= fftshift(x,n)</VERB>  make the swap only along the <VERB>n</VERB>th dimension</P>
+  </DESCRIPTION>
+  <EXAMPLE>
+<![CDATA[
+//make a signal
+t=0:0.1:1000;
+x=3*sin(t)+8*sin(3*t)+0.5*sin(5*t)+3*rand(t);
+//compute the fft
+y=fft(x,-1);
+//display 
+xbasc();
+subplot(2,1,1);plot2d(abs(y))
+subplot(2,1,2);plot2d(fftshift(abs(y)))
+
+//make a 2D image
+t=0:0.1:30;
+x=3*sin(t')*cos(2*t)+8*sin(3*t')*sin(5*t)+..
+  0.5*sin(5*t')*sin(5*t)+3*rand(t')*rand(t);
+//compute the fft
+y=fft(x,-1);
+//display 
+xbasc();
+xset('colormap',hotcolormap(256))
+subplot(2,1,1);Matplot(abs(y))
+subplot(2,1,2);Matplot(fftshift(abs(y)))
+
+ ]]>
+  </EXAMPLE>
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>fft</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/signal_processing/help/fr/filter.xml b/scilab/modules/signal_processing/help/fr/filter.xml
new file mode 100644 (file)
index 0000000..cce4114
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+  <TITLE>filter</TITLE>
+  <TYPE>Scilab Function</TYPE>
+  <DATE>April 1993</DATE>
+  <SHORT_DESCRIPTION name="filter"> modelling filter</SHORT_DESCRIPTION>
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>[y,xt]=filter(n,F,H,Rt,T)  </CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>n</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: number of computed points.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+      <PARAM_ITEM>
+        <PARAM_NAME>F, H</PARAM_NAME>
+        <PARAM_DESCRIPTION>
+          <SP>: relevant matrices of the Markovian model.</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>