{"id":829,"date":"2016-03-05T22:29:45","date_gmt":"2016-03-05T21:29:45","guid":{"rendered":"http:\/\/axotron.se\/blog\/?p=829"},"modified":"2016-05-04T19:36:01","modified_gmt":"2016-05-04T18:36:01","slug":"tool-for-designing-butterworth-and-chebyshev-filters","status":"publish","type":"post","link":"https:\/\/axotron.se\/blog\/tool-for-designing-butterworth-and-chebyshev-filters\/","title":{"rendered":"Tool for designing Butterworth and Chebyshev filters"},"content":{"rendered":"<p>Designing passive LC-filters typically involves looking up prototype filter component values in a table in reference books like <a href=\"http:\/\/eu.wiley.com\/WileyCDA\/WileyTitle\/productCd-0471749427.html\" target=\"_blank\">&#8220;<em>Handbook of Filter Synthesis<\/em>&#8221; by Zverev<\/a> or <a href=\"https:\/\/www.microwaves101.com\/download-area#info\" target=\"_blank\">&#8220;<em>Design of Microwave Filters, Impedance-Matching Networks, and Coupling Structures<\/em>&#8221; by Matthaei et. al.<\/a>, then transforming the values to produce a filter with the desired impedance and cut-off frequency. This can be a bit tedious and error prone, so when I found out about the classic Matthaei book, which is downloadable via the link above, and that it contains the math required to calculate the prototype filter component value tables, I set out to create a spreadsheet to help with the filter design.<\/p>\n<p>In addition to calculating the (previously) magical prototype tables for Butterworth and Chebyshev (with user-specified pass-band ripple) filters, the spreadsheet also performs the frequency and impedance transformation for filters of orders from 1 to 10.<\/p>\n<p>To make the design process even quicker and better, I added a feature to create <a href=\"http:\/\/www.linear.com\/designtools\/software\/\" target=\"_blank\">LTSpice<\/a> schematics of the selected filter so that the filter properties can be simulated (and perhaps manually adapted to standard component values and to include parasitics) using LTSpice. I used the <a href=\"http:\/\/axotron.se\/blog\/excel-vba-function-for-formatting-numbers-with-si-prefixes\/\" target=\"_blank\">SI prefix formatting function I wrote about in the previous blog post<\/a> to write out the component values in a pretty manner.<\/p>\n<p>The usage of the spreadsheet should be fairly self-explanatory, but there are also usage instructions on the first tab. Basically, the user should fill out the values in yellow cells and leave the rest alone. I did not lock any cells, since I often get annoyed by spreadsheets with locked cells and I encourage others to modify and improve it.<\/p>\n<p>Here is a link to the Excel 2002 file:<\/p>\n<p><a href=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/FilterSynthesis_v1.0.xls\"><img decoding=\"async\" src=\"wp-content\/uploads\/2016\/02\/excel.png\" alt=\"[Excel]\" \/> FilterSynthesis_v1.0.xls<\/a><\/p>\n<p>Make sure that macros are enabled if you want to use the LTSpice export features.<\/p>\n<h3>Here are some screenshots<\/h3>\n<figure id=\"attachment_830\" aria-describedby=\"caption-attachment-830\" style=\"width: 604px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth.png\" rel=\"attachment wp-att-830\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-830\" src=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth-657x1024.png\" alt=\"Butterworth tab\" width=\"604\" height=\"941\" srcset=\"https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth-657x1024.png 657w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth-192x300.png 192w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth.png 715w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/a><figcaption id=\"caption-attachment-830\" class=\"wp-caption-text\">Butterworth tab<\/figcaption><\/figure>\n<figure id=\"attachment_831\" aria-describedby=\"caption-attachment-831\" style=\"width: 798px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth_lts.png\" rel=\"attachment wp-att-831\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-831\" src=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth_lts.png\" alt=\"LTSpice simulation of a Butterworth schematic generated by the spreadsheet.\" width=\"798\" height=\"759\" srcset=\"https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth_lts.png 798w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth_lts-300x285.png 300w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/butterworth_lts-768x730.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/a><figcaption id=\"caption-attachment-831\" class=\"wp-caption-text\">LTSpice simulation of a Butterworth schematic generated by the spreadsheet.<\/figcaption><\/figure>\n<figure id=\"attachment_832\" aria-describedby=\"caption-attachment-832\" style=\"width: 604px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev.png\" rel=\"attachment wp-att-832\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-832\" src=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev-672x1024.png\" alt=\"Chebyshev tab\" width=\"604\" height=\"920\" srcset=\"https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev-672x1024.png 672w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev-197x300.png 197w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev.png 719w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/a><figcaption id=\"caption-attachment-832\" class=\"wp-caption-text\">Chebyshev tab<\/figcaption><\/figure>\n<figure id=\"attachment_833\" aria-describedby=\"caption-attachment-833\" style=\"width: 798px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev_lts.png\" rel=\"attachment wp-att-833\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-833\" src=\"http:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev_lts.png\" alt=\"LTSpice simulation of a Chebyshev schematic generated by the spreadsheet.\" width=\"798\" height=\"758\" srcset=\"https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev_lts.png 798w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev_lts-300x285.png 300w, https:\/\/axotron.se\/blog\/wp-content\/uploads\/2016\/03\/chebyshev_lts-768x730.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/a><figcaption id=\"caption-attachment-833\" class=\"wp-caption-text\">LTSpice simulation of a Chebyshev schematic generated by the spreadsheet.<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Designing passive LC-filters typically involves looking up prototype filter component values in a table in reference books like &#8220;Handbook of Filter Synthesis&#8221; by Zverev or &#8220;Design of Microwave Filters, Impedance-Matching Networks, and Coupling Structures&#8221; by Matthaei et. al., then transforming the values to produce a filter with the desired impedance and cut-off frequency. This can &hellip; <a href=\"https:\/\/axotron.se\/blog\/tool-for-designing-butterworth-and-chebyshev-filters\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Tool for designing Butterworth and Chebyshev filters<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,12],"tags":[],"class_list":["post-829","post","type-post","status-publish","format-standard","hentry","category-electronics","category-pc"],"_links":{"self":[{"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/posts\/829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/comments?post=829"}],"version-history":[{"count":4,"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/posts\/829\/revisions"}],"predecessor-version":[{"id":867,"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/posts\/829\/revisions\/867"}],"wp:attachment":[{"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/media?parent=829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/categories?post=829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/axotron.se\/blog\/wp-json\/wp\/v2\/tags?post=829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}