commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arne Ploese <aplo...@gmx.de>
Subject Re: [math] IIR filter library (Butterworth,Bessel,...)
Date Tue, 25 Oct 2016 11:33:25 GMT

Am Montag, den 24.10.2016, 10:26 +0100 schrieb Bernd Porr:
> Opps. Link doesn't work.
Sorry, here we are https://sourceforge.net/projects/dsp4j/.

there are subprojects fms(https://de.wikipedia.org/wiki/Funkmeldesystem
) and zvei(https://de.wikipedia.org/wiki/5-Ton-Folge)
I grap the audiosignal off a 4m receiver @22kHz. The (frequency shift
modulated) FMS data is decoded with a costas loop.

Arne



> 
> Do you mean the OCTAVE/MATLAB "filter" command? If you limit that to
> FIR
> coefficients then that's equivalent literally to a convolution
> operation
> which we already have. (that FIR filtering is the convolution
> function I
> have to de-bunk every year in my DSP class because in teaching
> nothing
> is filtered in realtime so an FIR filter is sold literally as a
> convolution operation, however the FIR filter does a convolution as
> any
> other filter but it performs it with the help of a delay line which
> is
> implemented usually as a ring buffer).
> 
> Perhaps before we talk about different things.
> 
> Can we all agree on the definition of an FIR filter:
> https://en.wikipedia.org/wiki/Finite_impulse_response
> it takes one sample in and spits one out by using a delay line.
> Usually
> implemented as a ring buffer. In C that can be done very elegantly
> with
> pointer gymnastics:
> https://github.com/berndporr/fir1
> Arne, do you have an efficient way of doing that in JAVA? That would
> be
> nice.
> 
> Best,
> /Bernd
> 
> On 24/10/16 09:28, Arne Ploese wrote:
> > Am Samstag, den 22.10.2016, 23:25 +0100 schrieb Bernd Porr:
> > 
> > (...)
> > 
> > > I'm not too crazy about proper FIR filters in JAVA because even
> > > in
> > > C++ 
> > > they are just too slow and one would need to write them as JNI
> > > calls
> > > to 
> > > C to make them run fast enough (for example a 50Hz notch for ECG
> > > at
> > > 1kHz 
> > > requires 500taps at a bandwidth of 4Hz -- in theory!). Not sure
> > > how 
> > > excited people here are about C/JNI calls. However the FIR
> > > filter 
> > > _design_ = creating an impulse response is useful for a-causal
> > > offline 
> > > computation using the convolution operation (but the 1D
> > > convolution
> > > is 
> > > already implemented isn't it?).
> > 
> > If the Just In Time compiler of the runtime kicks in, it will go
> > fast...
> > You can avoid wrapper code (get|set) and access the fields directly
> > -
> > ist will improve speed even more. Here is an example of a java
> > filtering (converted form the signalprocessing package of octave) I
> > did
> > a couple of years ago:
> >  https://sourceforge.net/projects/dsp4
> > 
> > (...)
> > 
> > Arne
> > 
> > -----------------------------------------------------------------
> > ----
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
> > 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message