Hi Alan

ons, 26 01 2011 kl. 17:01 -0500, skrev Alan J. Greenberger:
> I am requesting registration as an octave developer.  My sourceforge username 
> is ajgreenberger.

I am sorry for the extremely late reply; your mail has been on my
Octave-TODO for a while, but that list seems to grow faster than I can
handle...

> I needed to design a multiband filter, so I looked at the literature
> and programmed the Feyh, Franchitti, Mullis [FFM] algorithm in Octave.
> I wish to submit this but have some issues:

I guess I should know stuff about filter design, but I'm really not an
expert...

> 1 There is a matlab function iirlp2mb for this described in
> http://www.mathworks.com/help/toolbox/filterdesign/ref/iirlp2mb.html
> [matl].  It has four forms of invocation:
> [Num,Den,AllpassNum,AllpassDen] = iirlp2mb(B,A,Wo,Wt)
> [Num,Den,AllpassNum,AllpassDen]=iirlp2mb(B,A,Wo,Wt,Pass)
> [G,AllpassNum,AllpassDen] = iirlp2mb(Hd,Wo,Wt)
> [G,AllpassNum,AllpassDen] = iirlp2mb(...,Pass)
> I have implemented the first two.  I don't understand the last two,
> which are related to dfilt.  I don't think Octave supports dfilt.
> Should I call my implementation iirlp2mb or name it something else?

If your implementation supports part of the Matlab API than that is
better than nothing. I have no issues with your implementation being
called the same as the Matlab counterpart as long as you work the same
way in the supported cases.

> 2 [matl] says, "Wo | Frequency value to be transformed from the
> prototype filter".  I interpreted this to be the cutoff frequency of
> the prototype low pass filter defined by B,A.  In the [FFM] algorithm,
> the low pass cutoff must be .5 .  So if Wo is not "close" to .5, I
> perform an initial transformation of the low pass to a low pass with
> cutoff of .5 .  If I run either
> [b, a] = ellip(3, 0.1, 30, 0.409);
> [num2, den2] = iirlp2mb(b, a, 0.409, [2 4 6 8]/10, 'pass');
> [num2, den2] = iirlp2mb(b, a, 0.409, [2 4 6 8]/10, 'stop');
> or
> [b, a] = ellip(3, 0.1, 30, 0.5);
> [num2, den2] = iirlp2mb(b, a, 0.5, [2 4 6 8]/10, 'pass');
> [num2, den2] = iirlp2mb(b, a, 0.5, [2 4 6 8]/10, 'stop');
> I get figures similar to that shown in [matl].  But if I run their example
> [b, a] = ellip(3, 0.1, 30, 0.409);
> [num2, den2] = iirlp2mb(b, a, 0.5, [2 4 6 8]/10, 'pass');
> [num2, den2] = iirlp2mb(b, a, 0.5, [2 4 6 8]/10, 'stop');
> I get nonsense.  Is there someone in this group that has access to a
> matlab license and is willing to run some tests of mine against
> theirs?

I have access to Matlab on the university servers, so I guess I can run
some tests if you send me the code to run.

Søren


------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to