On Thu, Jan 05, 2006 at 09:36:14PM +0000, Toby Oliver wrote: > Hi, > > Firstly a quick question, can anyone give me some pointers on the how > to calculate the optimal parameters for the least mean squared decision > feedback equalizer in Gnuradio, or is this a case of going a reading up > in something like Proakis?
num_fftaps and num_fbtaps set the number of taps in the feedforward and feedback portions of the filter. Try using 15 for both. lambda_ff and lambda_fb control the gain of the filter adaptation loops. They are a function of the amplitude of the input signals (really the error, but that's a function of the input amplitude). There's probably some analytic approach to this, but start with them small, say 0.001, and if the taps aren't moving, increase them. If they're too big, they wander around alot. Note the if (0) block at the end of work. You might want to enable it to see what's going on. You may want some software AGC in front of the equalizer so that the signals are in a known range. The other thing you need to watch for is to ensure that the taps aren't being adjusted when there's garbage (non-valid signal) on the input. You may not have this problem in your application. > Secondly I came across a couple of interesting projects which might be > useful to some people here (apologies if you are aware of them already): > - streamit (http://cag.csail.mit.edu/streamit/) a programming language > and a compilation infrastructure from MIT which is basically concerned > with optimising streaming of data. It does a number of things, > including algebraic simplification of stateless filters (e.g., FIR, > FFT, DCT) and stateful filters (e.g., IIR, feedback loops). Thanks, hadn't heard of streamit. > - spuc (http://spuc.sourceforge.net/) a GPL C++ signal processing > library Also interesting. Eric _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio