File:Butterworth amplitudes 6.svg
From Wikimedia Commons, the free media repository
Size of this PNG preview of this SVG file: 512 × 384 pixels. Other resolutions: 320 × 240 pixels | 640 × 480 pixels | 800 × 600 pixels | 1,024 × 768 pixels | 1,280 × 960 pixels.
Original file (SVG file, nominally 512 × 384 pixels, file size: 14 KB)
Summary[edit]
Description |
English: Amplitude response of a 6th order reference Butterwort filter, with the amplitudes of the internal second order sections
|
Date | |
Source | Own work |
Author | Fcorthay |
Source code[edit]
This graphics has been realized with the help of the following Octave script:
#------------------------------------------------------------------------------- # Specifications # order = 6; pointNb = 100; axesLength = 1.25; textOffset = 0.05; wLog = logspace(-1, 1, pointNb); AdbMax = 10; AdbMin = -40; #=============================================================================== # Butterworth filter # [zeroes, poles, gain] = butter(order, 1, 's'); [num, den] = butter(order, 1, 's'); while ( length(num) < length(den) ) num = [0, num]; endwhile; #------------------------------------------------------------------------------- # Poles plot # figure(1); angle = linspace(pi/2, 3*pi/2, pointNb); plot(cos(angle), sin(angle)); hold on; plot([-axesLength, axesLength-1], [0, 0], 'k'); plot([0, 0], [-axesLength, axesLength], 'k'); plot(axesLength-1+textOffset*[0, 2, 0, 0], textOffset*3/4*[-1, 0, 1, -1], 'k'); plot(textOffset*3/4*[-1, 0, 1, -1], axesLength+textOffset*[0, 2, 0, 0], 'k'); plot(poles, 'xr'); hold off; axis("equal", "off"); text(axesLength-1+textOffset, 1.5*textOffset, "re(s)"); text(textOffset, axesLength+1.5*textOffset, "im(s)"); for index = 1:order if imag(poles(index)) > 0 text(real(poles(index))-textOffset, imag(poles(index))+textOffset, ... sprintf("p%i", index), "horizontalalignment", "right"); endif endfor #------------------------------------------------------------------------------- # Normalized filter, transfer functions plot # Adb = 20*log10(abs(freqs(num, den, wLog))); figure(2); semilogx(wLog, Adb); hold on; for index = 1:order if imag(poles(index)) > 0 num = [0, 0, 1]; den = [1, -2*real(poles(index)), abs(poles(index))^2]; Adb = 20*log10(abs(freqs(num, den, wLog))); semilogx(wLog, Adb, 'g'); endif endfor hold off; axis([wLog(1), wLog(length(wLog)), AdbMin, AdbMax]); xlabel('Frequency'); ylabel('Amplitude responses'); grid; print -dsvg butterworth_amplitudes_6.svg
Licensing[edit]
I, the copyright holder of this work, hereby publish it under the following license:
|
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 14:39, 11 August 2011 | 512 × 384 (14 KB) | Fcorthay (talk | contribs) |
- You cannot overwrite this file.
File usage on Commons
There are no pages that link to this file.
File usage on other wikis
The following other wikis use this file:
- Usage on en.wikibooks.org