X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Sender-Id: a2hosting|x-authuser|dan AT mcmahill DOT net ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1661832293; a=rsa-sha256; cv=none; b=Nd+ADkrYDQTX054G4F8Io2enJqG73jo2YdIOY9/T454yqgv0f6JtnzQgg10q4kNZ3+csTh VCRIS2egTu8NMcUQIPkOHMJqBxcJ1XpY85KtUIq9dKYZM2I2lvqdZE0w+oAp6XAEaq97qq RGMLn5nPi7CumpeYCie6sIcudQxRbrAGTGzJ6dUMOOSpLTOYUky1WwrR1UHz3Q54aGuPbZ 8ofOOPcCTHyDFdJzcFBvYWctynwd0EDpF3pOGjzAU4SGbqHGCH65UcEK6CkNhSRkaRJ893 HkMaQZMm5xn/5f/Z4RZh7NmoHygyDnlWrKXSzrTzY2Zaluf+UdrsZz/PHrKszw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1661832293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=S6IxyQJ+IWGAqPnG1ODFk0PdjB5aDnUZNjJM0JpUsTU=; b=5qCgR8QshiTRB6g4x4pyn9WZyP5MqZXwuowwUu94lEpmmr0FenXvUeJRc/G8RhL6+ZENMK UA3EKsCV9o13tA9Zh6J2GEJBhL5bxGuSBpGPuVPCS9m/t8fQN4cmzJ+Xkue3rGKl8yNrN9 lVGMZ6SBcRRRevGg7d9VBaEU9dH/GjFr+tq3gZW0oboYJrcGSFYvhEAMUC+8j+PQmh16SA Fhx3f7T9SPqClQq3rgmn7LvToWXy1sQwbKTpiijoAZYLhcONmP2PyogxpGCy5LV4805LXm hHPbOOIqjiUwITfEpuOGmvt0EzhSxsy74Ci1KZoOTQ/j/VHzBmsmMWfWBSTsFw== ARC-Authentication-Results: i=1; rspamd-75b4464bd-45ffj; auth=pass smtp.auth=a2hosting smtp.mailfrom=dan AT mcmahill DOT net X-Sender-Id: a2hosting|x-authuser|dan AT mcmahill DOT net X-MC-Relay: Neutral X-MailChannels-SenderId: a2hosting|x-authuser|dan AT mcmahill DOT net X-MailChannels-Auth-Id: a2hosting X-Print-Trouble: 3fa5d6e91e9eb973_1661832294952_1009738864 X-MC-Loop-Signature: 1661832294952:222167158 X-MC-Ingress-Time: 1661832294952 X-Original-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mcmahill.net; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:To:Subject:MIME-Version:Date:Message-ID:Sender: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=S6IxyQJ+IWGAqPnG1ODFk0PdjB5aDnUZNjJM0JpUsTU=; b=BvmEa+0vCLjBa4SZ0gmngReF7t UeCQGU5FJesz2PawnYDimCkRavT+3U60Ne8RcV267XIa4V/LAiCGSYVyTAlEEAkDU6U9tKUEv11qv 7QfgBuyDeP+YJWWbL38ep1Aw6v0tlnwcMq+4QRdnmJw3a51m8rqe8h6a5l0p11BY2vn9oipHE6AuW y8COwhd6ExuqziqkMR81pWThx7MPRUZ3+MznjltZrBla5yhbMMql0scbqNbGcQGbt12g2rNNW++JT hR+3Ukp+3MbIEWQ4+G0yHPfR4losjXKZOrPNhPbZd7eS8smfUKvJaLfokhWobYD5Y27gsYSlNL7wJ A3XJkOLw==; Message-ID: <9b9d84c6-35fd-ba45-8da5-421fa137a167@mcmahill.net> Date: Tue, 30 Aug 2022 00:04:51 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [geda-user] Active filter Content-Language: en-US To: geda-user AT delorie DOT com References: <20220811143644 DOT 13DD38248090 AT turkos DOT aspodata DOT se> <8aaff84f-d8cc-6f94-d971-d3f1ded2b47b AT earthlink DOT net> <20220811194457 DOT 00F718248092 AT turkos DOT aspodata DOT se> From: "Dan McMahill (dan AT mcmahill DOT net) [via geda-user AT delorie DOT com]" In-Reply-To: <20220811194457.00F718248092@turkos.aspodata.se> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-AuthUser: dan AT mcmahill DOT net Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 8/11/2022 3:44 PM, karl AT aspodata DOT se [via geda-user AT delorie DOT com] wrote: > David: Schultz: > ... >> My go to reference is the "Active Filter Cookbook" by Don Lancaster. > > That seems to be a nice book, but currently I'm more interested in > how to calculate the tables used. > >> If I need something not covered there, then it is time to dust off the >> ol' college text by Van Valkenburg > > Ok, I'll look into that. > > Thanks, > /Karl Hammar > If you're looking for more details on topics like approximation methods for filter design, then two textbook resources on my "must read" list are: Adel Sedra and Peter Brackett, "Filter Theory And Design: Active and Passive", Matrix Publishers, 1978 Richard Daniels, "Approximation Methods for Electronic Filter Design", McGraw-Hill, 1974 The Daniels book is fairly obscure, the programming examples are in a language that hasn't been used for almost 50 years (Telcomp), and a fair amount of the math is in a special purpose transformed variable domain (no, not the standard Laplace domain from school, but a transformation that tends to spread out poles for better numeric stability). That said, this book really covers the details that produce the tables found in most other filter text books. It also goes into detail on a pole placer algorithm that can do some pretty cool stuff with real world applications. For example, suppose you want to produce a 0.15 dB equiripple passband, you want a notch at a fixed frequency, and you have a piecewise constant stop band spec. With the pole placing algorithm, you can design optimal polynomials for the design. This is the magic behind part of what S/FILSYN can do. It also helps engineers who weren't trained in the 50's and 60's understand the language of tools like S/FILSYN. The Sedra and Brackett book covers a lot of the same material but it is mostly presented in the more familiar Laplace domain. Both books give some attention to synthesis methods for going from a polynomial to an actual circuit. There have been more recent developments for addressing things like numeric instability in both approximation and synthesis. In addition, today's compute power makes some approaches more practical now than they were pushing 50 years ago. But these are still great books. -Dan