From: robert bristow-johnson on
On Jul 20, 10:30 am, Greg Berchin <gberc...(a)comicast.net.invalid>
wrote:
> On Tue, 20 Jul 2010 10:25:34 -0400, Greg Berchin <gberc...(a)comicast.net.invalid>
> wrote:
>
> >Grant, it's not clear from the description whether this produces continuous time
> >or discrete time filters.  
>
> Never mind.  Once I read down to the part about "biquads", the ambiguity
> disappeared.

the question remains with me. it seems likely that Grant is using
Bilinear Transform (with prewarped corner frequency placement) because
that will retain the equal ripples of the Butterworth, Chebyshev, or
Elliptic analog prototypes (just bump the frequency locations of the
ripples slightly). but he could be using Impulse Invariant. or
something else?

any of those methods can be factored into biquads. Grant, do you mind
telling us? and what does the "Adjust for Ripple" check-box option
do? does it adjust the DC gain in the case where the bottom of the
ripple is on DC (i can't remember if that is for even or odd order)?

just curious. looks like a useful little addition to scopeFIR for
PCers. probably won't run too good on my Mac.

r b-j
From: Grant Griffin on
robert bristow-johnson wrote:
> On Jul 20, 10:30 am, Greg Berchin <gberc...(a)comicast.net.invalid>
> wrote:
>> On Tue, 20 Jul 2010 10:25:34 -0400, Greg Berchin <gberc...(a)comicast.net.invalid>
>> wrote:
>>
>>> Grant, it's not clear from the description whether this produces continuous time
>>> or discrete time filters.
>> Never mind. Once I read down to the part about "biquads", the ambiguity
>> disappeared.
>
> the question remains with me. it seems likely that Grant is using
> Bilinear Transform (with prewarped corner frequency placement) because
> that will retain the equal ripples of the Butterworth, Chebyshev, or
> Elliptic analog prototypes (just bump the frequency locations of the
> ripples slightly). but he could be using Impulse Invariant. or
> something else?

Hi r,

You're right that ScopeIIR uses the bilinear transform with pre-warping.
As best I can tell, that seems to be the preferred method for basic
IIR design - I'm not aware that any other methods offer any significant
advantages

> any of those methods can be factored into biquads. Grant, do you mind
> telling us? and what does the "Adjust for Ripple" check-box option
> do? does it adjust the DC gain in the case where the bottom of the
> ripple is on DC (i can't remember if that is for even or odd order)?

Right again - it just automatically boosts the gain to center the ripple
on zero.

> just curious. looks like a useful little addition to scopeFIR for
> PCers. probably won't run too good on my Mac.

I dunno...if you've got an x86 Mac, you could probably run Linux and
Wine. My other products run just fine on Wine, though I haven't checked
ScopeIIR for that yet. (If anybody out there in comp.dsp land wants to
do that for me, I'd be eternally grateful.)

Grant
--
_____________________________________________________________________

Grant R. Griffin
Publisher of dspGuru http://www.dspguru.com
Iowegian International Corporation http://www.iowegian.com
See http://www.iowegian.com/img/contact.gif for e-mail address
From: Grant Griffin on
Nasser M. Abbasi wrote:
> On 7/20/2010 6:05 AM, Grant Griffin wrote:
>> Hi All,
>>
>> This is to announce the release of ScopeIIR 5.0, which is a
>> comprehensive Windows tool for designing and analyzing Infinite Impulse
>> Response (IIR) filters. The Trial Edition is free for 30 days.
>>
>> ScopeIIR designs high-order IIR filters based on Butterworth, Chebyshev,
>> and Elliptic prototypes. It designs lowpass, highpass, bandpass, and
>> bandstop filters.
>>
>
> Hi;
>
> How does it compare to Matlab fdatool? do you have a chart comparison?

I don't have anything like a comparison chart but maybe I should -
thanks for the idea!

I created ScopeIIR completely independently of fdatool, but I tried
fdatool out yesterday and I was surprised to find that its IIR filter
design capability is actually fairly similar to ScopeIIR's at a basic level.

However, there's a _big_ difference in terms of usability. fdatool
seems to be an answer to the question, "What filter design program can
we build with Matlab's filter design scripting capability and Matlab's
GUI capability?" Since Matlab's GUI capability is pretty primitive, the
result is pretty primitive, even though Matlab's filter design
capability is pretty sophisticated.

ScopeIIR takes the opposite approach: given the full-capability GUI
system provided by C++ with MFC, what can be done to make IIR filter
design as easy and productive as possible?

For example, ScopeIIR provides a six-panel interface for showing plots
and data. Each pane can be assigned to any plot or data display, and it
can also create an unlimited number of external windows for additional
displays. In comparison, as best I can tell, fdatool has only two
display areas: it can show only a single response plot, and has another
area that can be either design specifications or a pole-zero plot. (It
wastes a _lot_ of precious screen space.) So, it can't even display a
phase and magnitude plot at the same time.

ScopeIIR (and my other products) all provide a sophisticated,
multi-level, mouse-wheel-controlled zooming capability. In contrast,
fdatool (and Matlab's other products) provide a clunky system of zooming
based on hitting zoom-in and zoom-out buttons. This may seem like a
small point, but it's critical to your productivity, since zooming is a
primary activity during filter design. (Matlab's zooming drives me
crazy whenever I have to suffer with it.)

ScopeIIR also comes with ready-made IIR implementation examples in C and
C++, whereas fdatool lets you roll your own. (The Matlab folks are
primarily in the business of selling Matlab, not C and C++.)

So, although fdatool is undeniably useful, it's really more of a demo
than something you'd want to use interactively on a daily basis. My
guess is that most folks use it for some quick experiments or simple
filter design jobs, then do Matlab scripting for more complicated filter
designs - or to see phase and magnitude plots at the same time.

>
> I am asking, because I have matlab student version, and fdatool comes
> bundled with it.

I'm gonna resist the urge to point out that you get what you pay for. :-)

>
> http://www.mathworks.com/products/signal/demos.html?file=/products/demos/shipping/signal/introfdatooldemo.html
>
>
> I am also writing my own small IIR program in Mathematica (only
> butterworth so far), for learning digital filters, and could also use
> your program to double verify my results.
>
> I now use fdatool to verify my result. Main problems I see now is in
> numerical problems when the filter order gets too large. Matlab uses
> state space approach to convert analog to digital, I think they do this
> for better numerical stability.

ScopeIIR doesn't use state-space, it just uses the pole-zero centric
approach described in most DSP textbooks.

It's hard to generalize regarding design of large filters, but you can
just try ScopeIIR on your specific problem and see how it goes. (The
Trial Edition will design high-order filters, though it won't export
their coefficients - I've discovered that most users won't pay unless
you make them.) In my experience, though, ScopeIIR can design much
higher-order filters than one would generally ever use in practice.

>
> thanks
> --Nasser

Thanks for some interesting questions, Nasser!

Grant

--
_____________________________________________________________________

Grant R. Griffin
Publisher of dspGuru http://www.dspguru.com
Iowegian International Corporation http://www.iowegian.com
See http://www.iowegian.com/img/contact.gif for e-mail address
From: Jerry Avins on
On 7/21/2010 8:16 AM, Grant Griffin wrote:
> robert bristow-johnson wrote:

...

>> does it adjust the DC gain in the case where the bottom of the
>> ripple is on DC (i can't remember if that is for even or odd order)?
>
> Right again - it just automatically boosts the gain to center the ripple
> on zero.

As far as I know, that's an unusual choice. Making the peak gain unity
tends to avoid hidden gotchas.

...

Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
From: Rich Webb on
On Wed, 21 Jul 2010 07:16:52 -0500, Grant Griffin <nobody(a)example.com>
wrote:

>I dunno...if you've got an x86 Mac, you could probably run Linux and
>Wine. My other products run just fine on Wine, though I haven't checked
>ScopeIIR for that yet. (If anybody out there in comp.dsp land wants to
>do that for me, I'd be eternally grateful.)

Took a quick look at it under openSUSE 11.2 and Wine 1.1.28. After
figuring out the magic words necessary to run an install via an .msi
file (turns out to be easy if one knows the right magic), it installed
okay and runs mostly well.

I only looked at the four projects in the example directory:
ChebychevLowpass4.sip caused an exception that put up Wine's Something
Bad Happened dialog box and terminated the app. The other three all
seemed to execute/behave properly.

I did note that there's a new stable Wine release out, as of a week or
so ago. Haven't picked it up yet.

--
Rich Webb Norfolk, VA