File:Butterworth filter bode plot.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file (SVG file, nominally 1,250 × 875 pixels, file size: 31 KB)

Render this image in .

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description
English: The Bode plot of a Butterworth filter with logarithmic axes and various labels. Cutoff frequency is normalized to 1 rad/s. Gain is normalized to 0 dB in the passband. Phase is in degrees because that's typical.

The code is kind of kludgy, but makes a good output. Generated in gnuplot with the script below (save as butterworth_bode_plot.plt and then open in gnuplot). Then it was postprocessed with Inkscape. See Wikipedia graph-making tips.

Many orders on one plot: Image:Butterworth orders.png
This file is translated using SVG <switch> elements. All translations are stored in the same file! Learn more.

For most Wikipedia projects, you can embed the file normally (without a lang parameter). The Wikipedia will use its language if the SVG file supports that language. For example, the German Wikipedia will use German if the SVG file has German. To embed this file in a particular language use the lang parameter with the appropriate language code, e.g. [[File:Butterworth filter bode plot.svg|lang=en]] for the English version. Do not specify a lang parameter if it is not needed. The parameter may prevent the use of a subsequent translation.

To translate the text into your language, you can use the SVG Translate tool. Alternatively, you can download the file to your computer, add your translations using whatever software you're familiar with, and re-upload it with the same name. You will find help in Graphics Lab if you're not sure how to do this.

 
The SVG code is valid.
 
This plot was created with Gnuplot.
Multilingual: English; Spanish; Russian
Date 26 April 2006 (upload date)
Source Own work
Author Alejo2083
Other versions

[edit]

.svg:

.png:

gnuplot source
InfoField
click to expand
set terminal svg enhanced size 1250 875 fname "Times" fsize 25
set output "Butterworth_filter_bode_plot.svg"

# Butterworth amplitude response and decibel calculation.  n is the order, which is just 1 in this image.
G(w,n) = 1 / (sqrt(1 + w**(2*n)))
dB(x) = 20 * log10(abs(x))
# Phase is for first order
P(w) = -atan(w)*180/pi


# Gridlines
set grid

# Set x axis to logarithmic scale
set logscale x 10

# No need for a key
set nokey #0.1,-25

# Frequency response's line plotting style
set style line 1 lt 1 lw 2

# Asymptote lines and slope lines are the same "arrow" style
set style line 3 lt 3 lw 1
set style arrow 3 nohead ls 3

# -3 dB arrow style
set style line 4 lt 4 lw 1
set style arrow 4 head filled size screen 0.02,15,45 ls 4

# Separator between passband and stopband line style
set style line 2 lt 2 lw 1 
set style arrow 2 nohead ls 2



set multiplot

# Magnitude response
# =============================================
set size 1,0.5
set origin 0,0.5

# Set range of x and y axes
set xrange [0.001:1000]
set yrange [-60:10]

# Create x-axis tic marks once per decade (every multiple of 10)
set xtics 10
#set ytics 10

# No need for two sets of numbers
set format x ""

# Use 10 x-axis minor divisions per major division
set mxtics 10

# Axis labels
set ylabel "Gain (dB)"

# Draw asymptote lines
set arrow 1 from 1,0 to 1000,-60 as 3
set arrow 2 from .001,0 to 1,0 as 3

# -3 dB arrow
set arrow 4 from 2,3 to 1,0 as 4

# "Cutoff frequency" label uses same coordinates as the function
set label 3 "Cutoff frequency" at 2,4 l

# "-3 dB" label
set arrow 5 from 0.5,-6 to 1,-3 as 4   
set label 4 "-3.01 dB" at 0.5,-7 r

# Draw a separator between passband and stopband and label them
set arrow 3 from 1,-60 to 1,10 as 2

# Label coordinates are relative to the graph window, not to the function, centered at the 1/4 and 3/4 width points
set label 1 "Passband" at graph 0.25, graph 0.1 c
set label 2 "Stopband" at graph 0.75, graph 0.1 c

# Draw slope lines and label
set arrow 6 from 100,-20 to 12,-20 as 3
set arrow 7 from 100,-20 to 100,-39 as 3
set label 5 "Slope: -20 dB/decade" at 100,-15 c

plot dB(G(x,1)) ls 1  title "1st-order response"




#Phase response
# =============================================
set size 1,0.5
set origin 0,0

# Set range of x and y axes
set yrange [-105:15]

# Create y-axis tic marks every 15 degrees
set ytics 30

# Regular numbers
set format x "% g"

# Axis labels
set ylabel "Phase (degrees)"
set xlabel "Angular frequency (rad/s)"

# Draw asymptote lines
set arrow 1 from 0.1,0 to 10,-90 as 3
set arrow 2 from 0.001,0 to 0.1,0 as 3
set arrow 10 from 10,-90 to 1000,-90 as 3

# -3 dB arrow
unset arrow 4 #from 2,3 to 1,0 as 4

# "Cutoff frequency" label uses same coordinates as the function
unset label 3 #"Cutoff frequency" at 2,4 l

# "-3 dB" label
unset arrow 5 #from 0.5,-6 to 1,-3 as 4   
unset label 4 #"-3.01 dB" at 0.5,-7 r

# Draw a separator between passband and stopband and label them
set arrow 3 from 1,-105 to 1,15 as 2

# Label coordinates are relative to the graph window, not to the function, centered at the 1/4 and 3/4 width points
set label 1 "Passband" at graph 0.25, graph 0.5 c
set label 2 "Stopband" at graph 0.75, graph 0.5 c

# Draw slope lines and label
unset arrow 6 #from 100,-20 to 12,-20 as 3
unset arrow 7 #from 100,-20 to 100,-39 as 3
unset label 5 #"Slope: -20 dB/decade" at 100,-18 c

plot P(x) ls 1 title "Phase response"



unset multiplot
A raster version of this image is available. It should be used in place of this vector image when superior.
File:Butterworth filter bode plot.svgFile:Butterworth filter bode plot.png

In general, it is better to use a good SVG version.


Bitmap image

Licensing

[edit]
I, the copyright holder of this work, hereby publish it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
This licensing tag was added to this file as part of the GFDL licensing update.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic and 1.0 Generic license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
You may select the license of your choice.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current02:39, 12 October 2023Thumbnail for version as of 02:39, 12 October 20231,250 × 875 (31 KB)Mikhail Ryazanov (talk | contribs)+ru translation
02:19, 12 October 2023Thumbnail for version as of 02:19, 12 October 20231,250 × 875 (30 KB)Mikhail Ryazanov (talk | contribs)trying Glrx's advice
02:01, 12 October 2023Thumbnail for version as of 02:01, 12 October 20231,250 × 875 (30 KB)Glrx (talk | contribs)try fixing two -30 labels // Editing SVG source code using c:User:Rillke/SVGedit.js
23:46, 11 October 2023Thumbnail for version as of 23:46, 11 October 20231,250 × 875 (30 KB)Mikhail Ryazanov (talk | contribs)wrong rendering
23:45, 11 October 2023Thumbnail for version as of 23:45, 11 October 20231,250 × 875 (30 KB)Mikhail Ryazanov (talk | contribs)hyphens → minuses
16:15, 27 September 2021Thumbnail for version as of 16:15, 27 September 20211,250 × 875 (30 KB)R2d21024 (talk | contribs)File uploaded using svgtranslate tool (https://svgtranslate.toolforge.org/). Added translation for es.
19:10, 26 April 2006Thumbnail for version as of 19:10, 26 April 20061,250 × 875 (32 KB)Alejo2083 (talk | contribs)bigger fonts
18:55, 26 April 2006Thumbnail for version as of 18:55, 26 April 20061,250 × 875 (32 KB)Alejo2083 (talk | contribs)''This picture is the SVG version of Image:Butterworth_filter_bode_plot.png'' The Bode plot of a Butterworth filter with logarithmic axes and various labels. Cutoff frequency is normal

File usage on other wikis

The following other wikis use this file:

Metadata