funcFilter(a,Hs)

Implements an analog filter with transfer response specified by an arbitrary function.


Syntax

o_funcFilter(aHs)
a: Waveform or Spectrum - inputSignal
Hs: scalar Text - any function with argument "s"
return: Waveform or Spectrum - output signal formed by passing through the filter defined by Hs

Usage

Analog filters are generally specified by a rational polynomial. However there's no reason why this can't be generalized by allowing most any transfer function H(s). Use this filter for when you would like to use any H(s).

Location

menu: veeos ==> Signal Processing ==> Modules ==> funcFilter

library: sigLib

Example

Brickwall filter: The ultimate lowpass filter would remove all frequencies above a given limit. This is not realizable (is the limit of an infinite number of elements) but can certainly be modeled. For instance

H(s) = ( im(s) < 450 ? 1 : 0 )      would remove everything above 450Hz and allow everything below it to pass unimpeded

Phase shift: a pure phase shift is also not achievable in the real world except for at  single frequency, but in the mathematical world is quite doable. In this case

H(s) = exp( S )  shifts the phase of everything by 90 degrees ( e^s becomes e^jF and hence 90 degree shift ).

Notes

Rational polynomials are used for a very good reason to define filters: they are guaranteed to be stable (if poles are in LHP) , causal, and physically realizable. However there's nothing that says one can't use most any function to define the frequency response.

NOTE that the transfer function H(s) has a complex argument and that this filter filter operates on the jF axis (real frequencies) so any function that you write must be valid for complex numbers. Since some VEE functions do not support complex arguments you do need to be a little careful here.

Reference

Dependencies

Supported On

VEE 7.0+, all platforms

See Also

aFilter, AnalogFilter, rootFilter, funcFilter


© 2015-2025. All Rights Reserved. Stan Bischof (stan@worldbadminton.com). Last updated 13 February 2024 08:50.