Signal package: Difference between revisions

From Octave
Jump to navigation Jump to search
(→‎Missing Functions: remove peak2peak, peak2rms, rms, shiftdata, udecode, uencode, unshiftdata)
(Undo revision 13352 by 170.0.33.10 (talk))
Tag: Undo
(11 intermediate revisions by 4 users not shown)
Line 3: Line 3:
You may also be interested in the [http://ltfat.sourceforge.net/ LTFAT] package.
You may also be interested in the [http://ltfat.sourceforge.net/ LTFAT] package.


== Missing Functions ==
== Contribution ==
 
There are many ways to contribute to the development and maintenance of the signal processing package, including but not limited to testing, writing new test cases, reviewing and editing documentation, creating useful demos or examples of how to use the functions in the package, fixing bugs in existing functions, improving compatibility with Matlab, and writing completely new functions.
 
=== Missing Tests ===
 
Octave functions can be written to include their own built-in self tests that work with the {{manual|test}} function, see [[Tests]].
 
Several functions in the signal package do not have exhaustive test suites or do not include any built-in self tests at all. This is a list of functions in the signal package that do not yet have any tests.
 
* ar_psd
* arburg
* aryule
* besselap
* bilinear
* buttap
* cceps
* cheb
* cheb1ap
* cheb2ap
* clustersegment
* cmorwavf
* cohere
* cpsd
* csd
* dct
* dct2
* dctmtx
* dftmtx
* diric
* dwt
* ellipap
* firls
* freqs
* freqs_plot
* gmonopuls
* hilbert
* idct
* idct2
* iirlp2mb
* interp
* invfreq
* invfreqs
* invfreqz
* kaiserord
* levinson
* mexihat
* meyeraux
* morlet
* movingrms
* mscohere
* ncauer
* pburg
* polystab
* primitive
* pwelch
* pyulear
* qp_kaiser
* sampled2continuous
* sawtooth
* schtrig
* sftrans
* sgolayfilt
* shanwavf
* sigmoid_train
* square
* ss2tf
* ss2zp
* tf2ss
* tf2zp
* tfe
* tfestimate
* wconv
* wkeep
* wrev
* xcorr
* xcov
* zp2ss
* zp2tf
* zplane
 
 
=== Missing Functions ===


This is a list of functions that are not yet implemented in the Octave signal package. Patches for some of these functions are available on the patch tracker and are undergoing review. You could help us by implementing the missing functions and adding them to the patch tracker, or by helping us review the ones that are already there. This list is subject to change and may not be complete in any sense. However, it is a starting point when looking for missing functionality or for possible projects to work on.
This is a list of functions that are not yet implemented in the Octave signal package. Patches for some of these functions are available on the patch tracker and are undergoing review. You could help us by implementing the missing functions and adding them to the patch tracker, or by helping us review the ones that are already there. This list is subject to change and may not be complete in any sense. However, it is a starting point when looking for missing functionality or for possible projects to work on.


=== Signals ===
==== Signal Generation ====


* demod
* demod
Line 15: Line 97:
* vco
* vco


=== Correlation and Convolution ===
==== Correlation and Convolution ====


* cconv (see patch {{patch|9570}})
* corrmtx
* corrmtx
* dtw (see bug {{bug|51572}})
* dtw (please refer to open feature request bug {{bug|51572}}, only pseudocode so far)


=== Signal Measurement ===
==== Signal Measurement ====


* bandpower (see patch {{patch|8697}})
* bandpower (see patch {{patch|8697}})
Line 33: Line 114:
* pulsewidth
* pulsewidth
* risetime
* risetime
* rssq (see patch {{patch|9055}})
* settlingtime
* settlingtime
* sfdr
* sfdr
Line 40: Line 120:
* undershoot
* undershoot


=== Filter Analysis ===
==== Filter Analysis ====


* filternorm
* filternorm
Line 56: Line 136:
* zerophase
* zerophase


=== Filter Conversion ===
==== Filter Conversion ====


* cell2sos
* cell2sos
Line 69: Line 149:
* tf2zpk
* tf2zpk


=== IIR Filter Design ===
==== FIR Filter Design ====
 
* lp2bp
* lp2bs
* lp2hp
* lp2lp (see bug {{bug|46440}})
* yulewalk
 
=== FIR Filter Design ===


* cfirpm
* cfirpm
Line 93: Line 165:
* polyscale
* polyscale


=== Transforms ===
==== IIR Filter Design ====
 
* lp2bp
* lp2bs
* lp2hp
* lp2lp (please refer to open feature request bug {{bug|46440}}, only partial code snippets so far)
* yulewalk
 
==== Transforms ====


* goertzel (see patch {{patch|8495}})
* goertzel (see patch {{patch|8495}})
* icceps
* icceps


=== Spectral Analysis ===
==== Spectral Analysis ====


* db
* db
* db2pow (see patch {{patch|9587}})
* pcov
* pcov
* peig
* peig
* pmcov
* pmcov
* pmtm
* pmtm (please refer to open feature request bug {{bug|55714}})
* pmusic
* pmusic
* pow2db (see patch {{patch|9589}})
* rooteig
* rooteig
* rootmusic
* rootmusic
* spectrogram
* spectrogram (please refer to open feature request bug {{bug|45232}})


=== Window Functions ===
==== Window Functions ====


* dpss
* dpss
Line 120: Line 198:
* taylorwin (see patch {{patch|8506}})
* taylorwin (see patch {{patch|8506}})


=== System Identification ===
==== System Identification ====


* ac2poly
* ac2poly
Line 142: Line 220:
* stmcb
* stmcb


=== Classdef-based Filter Design ===
==== Object Oriented Filter Design ====


* design
* design
Line 159: Line 237:
* validstructures
* validstructures


=== Interactive Design Tools ===
==== Interactive Design Tools ====


* dspfwiz
* dspfwiz
Line 169: Line 247:




[[Category:Octave-Forge]]
[[Category:Octave Forge]]
[[Category:Missing functions]]

Revision as of 17:56, 24 September 2020

The signal package is part of the Octave Forge project and provides signal processing algorithms for use with Octave. The functions provided by the signal package include creation of waveforms, FIR and IIR filter design, spectral analysis, Fourier and other transforms, window functions, and resampling and rate changing. There are also some wavelet functions included, because there is no separate wavelet package, at least for now.

You may also be interested in the LTFAT package.

Contribution

There are many ways to contribute to the development and maintenance of the signal processing package, including but not limited to testing, writing new test cases, reviewing and editing documentation, creating useful demos or examples of how to use the functions in the package, fixing bugs in existing functions, improving compatibility with Matlab, and writing completely new functions.

Missing Tests

Octave functions can be written to include their own built-in self tests that work with the test function, see Tests.

Several functions in the signal package do not have exhaustive test suites or do not include any built-in self tests at all. This is a list of functions in the signal package that do not yet have any tests.

  • ar_psd
  • arburg
  • aryule
  • besselap
  • bilinear
  • buttap
  • cceps
  • cheb
  • cheb1ap
  • cheb2ap
  • clustersegment
  • cmorwavf
  • cohere
  • cpsd
  • csd
  • dct
  • dct2
  • dctmtx
  • dftmtx
  • diric
  • dwt
  • ellipap
  • firls
  • freqs
  • freqs_plot
  • gmonopuls
  • hilbert
  • idct
  • idct2
  • iirlp2mb
  • interp
  • invfreq
  • invfreqs
  • invfreqz
  • kaiserord
  • levinson
  • mexihat
  • meyeraux
  • morlet
  • movingrms
  • mscohere
  • ncauer
  • pburg
  • polystab
  • primitive
  • pwelch
  • pyulear
  • qp_kaiser
  • sampled2continuous
  • sawtooth
  • schtrig
  • sftrans
  • sgolayfilt
  • shanwavf
  • sigmoid_train
  • square
  • ss2tf
  • ss2zp
  • tf2ss
  • tf2zp
  • tfe
  • tfestimate
  • wconv
  • wkeep
  • wrev
  • xcorr
  • xcov
  • zp2ss
  • zp2tf
  • zplane


Missing Functions

This is a list of functions that are not yet implemented in the Octave signal package. Patches for some of these functions are available on the patch tracker and are undergoing review. You could help us by implementing the missing functions and adding them to the patch tracker, or by helping us review the ones that are already there. This list is subject to change and may not be complete in any sense. However, it is a starting point when looking for missing functionality or for possible projects to work on.

Signal Generation

  • demod
  • modulate (see patch #9409)
  • seqperiod
  • strips
  • vco

Correlation and Convolution

  • corrmtx
  • dtw (please refer to open feature request bug #51572, only pseudocode so far)

Signal Measurement

  • bandpower (see patch #8697)
  • dutycycle
  • enbw
  • falltime
  • midcross
  • overshoot
  • pulseperiod
  • pulsesep
  • pulsewidth
  • risetime
  • settlingtime
  • sfdr
  • slewrate
  • statelevels (see patch #9199)
  • undershoot

Filter Analysis

  • filternorm
  • filtord
  • firtype
  • impzlength
  • isallpass
  • islinphase
  • ismaxphase
  • isminphase
  • isstable (see patch #9265)
  • phasedelay
  • phasez
  • stepz (see patch #8630)
  • zerophase

Filter Conversion

  • cell2sos
  • filt2block
  • latc2tf
  • latcfilt
  • realizemdl
  • sos2cell
  • sos2ss
  • ss2sos
  • tf2latc
  • tf2zpk

FIR Filter Design

  • cfirpm
  • equiripple
  • fircls
  • fircls1
  • firpm (see patch #8535)
  • firpmord
  • firrcos
  • freqsamp
  • gaussfir
  • intfilt
  • kaiserwin
  • maxflat
  • polyscale

IIR Filter Design

  • lp2bp
  • lp2bs
  • lp2hp
  • lp2lp (please refer to open feature request bug #46440, only partial code snippets so far)
  • yulewalk

Transforms

  • goertzel (see patch #8495)
  • icceps

Spectral Analysis

  • db
  • pcov
  • peig
  • pmcov
  • pmtm (please refer to open feature request bug #55714)
  • pmusic
  • rooteig
  • rootmusic
  • spectrogram (please refer to open feature request bug #45232)

Window Functions

  • dpss
  • dpssclear
  • dpssdir
  • dpssload
  • taylorwin (see patch #8506)

System Identification

  • ac2poly
  • ac2rc
  • arcov
  • armcov
  • is2rc
  • lar2rc
  • lpc (see patch #8575)
  • lsf2poly (see patch #8726)
  • poly2ac
  • poly2lsf (see patch #8726)
  • poly2rc
  • prony
  • rc2ac
  • rc2is
  • rc2lar
  • rc2poly
  • rlevinson
  • schurrc
  • stmcb

Object Oriented Filter Design

  • design
  • designmethods
  • designopts
  • fdesign
  • fdesign.arbmag
  • fdesign.bandpass
  • fdesign.bandstop
  • fdesign.differentiator
  • fdesign.highpass
  • fdesign.hilbert
  • fdesign.lowpass
  • fdesign.pulseshaping
  • setspecs
  • validstructures

Interactive Design Tools

  • dspfwiz
  • fdatool
  • filterbuilder
  • sptool
  • wintool
  • wvtool