File:Frequency response of 3-term boxcar filter.gif

Summary

Description
English: Frequency response (discrete time Fourier transform) of a 3-tap boxcar filter. To produce these plots, samples of the DTFT are obtained by computing the DFT of the zero-filled impulse response. Alternatively, one can directly sample the closed form of the DTFT:   and plot the magnitude and angle of the samples. (See File:MA2Amp_C.svg)
Note: At the two frequencies where the magnitude goes to zero, there are phase discontinuities of π radians. They are not artifacts of phase wrapping. Rather, they indicate a sign inversion... multiplication by -1. Since that is equivalent to an amplitude modification, it does not affect the filter's property of phase linearity. An illustration of that can be viewed at File:Amplitude & phase vs frequency for a 3-term boxcar filter.gif.
Date
Source Own work
Author Bob K
Permission
(Reusing this file)
I, the copyright holder of this work, hereby publish it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Category:CC-Zero#Frequency%20response%20of%203-term%20boxcar%20filter.gif
Category:Self-published work
Other versions Derivative works of this file:  Frequency response of 3-term boxcar filter.svgCategory:Files with derivative versions,
File:Frequency response of 3-term boxcar filter.svg is a vector version of this file. It should be used in place of this GIF file when not inferior.Category:Vector version available

File:Frequency response of 3-term boxcar filter.gif → File:Frequency response of 3-term boxcar filter.svg

For more information, see Help:SVG.

In other languages
Alemannisch  العربية  беларуская (тарашкевіца)  български  বাংলা  català  нохчийн  čeština  dansk  Deutsch  Ελληνικά  English  British English  Esperanto  español  eesti  euskara  فارسی  suomi  français  Frysk  galego  Alemannisch  עברית  हिन्दी  hrvatski  magyar  հայերեն  Bahasa Indonesia  Ido  italiano  日本語  ქართული  한국어  lietuvių  македонски  മലയാളം  Bahasa Melayu  မြန်မာဘာသာ  norsk bokmål  Plattdüütsch  Nederlands  norsk nynorsk  norsk  occitan  polski  prūsiskan  português  português do Brasil  română  русский  sicilianu  Scots  slovenčina  slovenščina  српски / srpski  svenska  தமிழ்  ไทย  Türkçe  татарча / tatarça  українська  vèneto  Tiếng Việt  中文  中文(中国大陆)  中文(简体)  中文(繁體)  中文(马来西亚)  中文(新加坡)  中文(臺灣)  +/−
New SVG image

GIF development
InfoField
Octave/gnuplot source
InfoField
click to expand

This script was derived from the original in order to address some GNUplot bugs: a missing title and two missing axis labels. And to add an Octave print function, which creates an SVG file. Alternatively, the gnuplot screen image has an export function that produces an SVG file, but the π characters aren't as professional-looking.

graphics_toolkit gnuplot
clear all; close all; clc
  
hfig = figure("position",[100 100 509 509]);

x1 = .12;               % left margin for name of Y-variable
x2 = .02;               % right margin
y1 = .10;               % bottom margin for ticks
y2 = .08;               % top margin for title
dy = .08;               % vertical space between rows

width = 1-x1-x2;
height= (1-y1-y2-dy)/2; % space allocated for each of 2 rows

x_origin = x1;
y_origin = 1;           % start at top of graph area
%=======================================================
  N= 256;
  h = [1 1 1]/3;              % impulse response
  H = fftshift(fft(h,N));     % samples of DTFT
  abscissa = (-N/2:N/2-1)*2*pi/N;  % normalized frequency
%=======================================================
  y_origin = y_origin -y2 -height;        % position of top row
  subplot("position",[x_origin y_origin width height])
  plot(abscissa, abs(H));
  xlim([-pi pi])
  ylim([0 1.2])
  set(gca, "XTick", [-pi -2*pi/3 0 2*pi/3 pi])
  set(gca, "YTick", [0 .2 .4 .6 .8 1])
  grid("on")

  ylabel("Magnitude")
% set(gca, "ticklabelinterpreter", "tex")	% tex is the default
  set(gca, "XTickLabel", ['-\pi'; '-2\pi/3'; '0'; '2\pi/3'; '\pi';])
  set(gca, "YTickLabel", ['0'; '.2'; '.4'; '.6'; '.8'; '1';])
  title("Frequency response of 3-term boxcar filter", "fontsize", 12)
%=======================================================
  y_origin = y_origin -dy -height;
  subplot("position",[x_origin y_origin width height])
  plot(abscissa, angle(H));
  xlim([-pi pi])
  ylim([-pi pi])
  set(gca, "XTick", [-pi -2*pi/3 0 2*pi/3 pi])
  set(gca, "YTick", [-pi -2 -1 0 1 2 pi])
  grid("on")

  xlabel('\leftarrow Frequency (\omega) (radians/sample) \rightarrow')
  ylabel("Phase (radians)")
% set(gca, "ticklabelinterpreter", "tex")	% tex is the default
  set(gca, "XTickLabel", ['-\pi'; '-2\pi/3'; '0'; '2\pi/3'; '\pi';])
  set(gca, "YTickLabel", ['-\pi'; '-2'; '-1'; '0'; '1'; '2'; '\pi';])

% The print function results in nicer-looking "pi" symbols
% than the export function on the GNUPlot figure toolbar.
print(hfig,"-dsvg", "-S509,509","-color", ...
'C:\Users\BobK\Frequency response of 3-term boxcar filter.svg')
Category:Phase plots Category:Bode plots Category:Created with GNU Octave Category:Images with Octave source code Category:Images with Gnuplot source code
Category:Bode plots Category:CC-Zero Category:Created with GNU Octave Category:Files with derivative versions Category:Images with Gnuplot source code Category:Images with Octave source code Category:PNG created with Octave Category:Phase plots Category:Self-published work Category:Vector version available