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-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org