File:Illustration of causal and non-causal filters.png

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
Source: Wikipedia, the free encyclopedia.

Original file(734 × 662 pixels, file size: 78 KB, MIME type: image/png)

Summary

Description
English: Each component of the causal filter output begins when its stimulus begins. The outputs of the non-causal filter begin before the stimulus begins
Date
Source Own work (Transferred by Bob K)
Author Bob K
Permission
(Reusing this file)
Public domain This work has been released into the public domain by its author, Bob K. This applies worldwide.

In some countries this may not be legally possible; if so:
Bob K grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Other versions Derivative works of this file:  Illustration of causal and non-causal filters.svg
Octave/gnuplot source
InfoField
click to expand

This graphic was created with the help of the following Octave script:

% Options
  frame_background_gray = true;

  if frame_background_gray
   graphics_toolkit("qt")         % has "insert text" option
%  graphics_toolkit("fltk")       % has cursor coordinate readout
   frame_background = .94*[1 1 1];
   d  = 4;                         % amount to add to text sizes
  else
   graphics_toolkit("gnuplot")    % background will be white regardless of value below
   frame_background = .94*[1 1 1];
   d=0;
  endif
  
  xmax = 1000;                    % length of plots
  L    = 100;                     % length of rectangles

% (https://octave.org/doc/v4.2.1/Graphics-Object-Properties.html#Graphics-Object-Properties)
% Speed things up when using Gnuplot
  set(0, "DefaultFigureColor",frame_background)
  set(0, "DefaultAxesTitleFontweight","normal")
  set(0, "DefaultAxesFontsize",12+d)   % size of numeric tick labels
% set(0, "DefaultTextFontsize",12+d)
  set(0, "DefaultAxesYlim",[0 2])
  set(0, "DefaultAxesXlim",0.02*([-200 xmax]))
  set(0, "DefaultAxesYtick",[])
  set(0, "DefaultLineLinewidth",2)

%=======================================================
  hfig = figure("position",[1 -150 735 835]);

  x1 = .02;                     % left margin
  x2 = .02;                     % right margin
  y1 = .08;                     % bottom margin for annotation
  y2 = .10;                     % top margin for title
  dy = .10;                     % vertical space between rows

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

  x_origin = x1;
  y_origin = 1;                 % start at top of graph area
%=======================================================
  y_origin = y_origin -y2 -height;        % position of top row
  subplot("position",[x_origin y_origin width height])

  f = [zeros(1,200) ones(1,L) zeros(1,100)];

  plot(0.02*([1:length(f)]-250), f ,"r" )
  title("h(t) (non-causal impulse response)", "fontsize",14+d)

%=======================================================
  y_origin = y_origin -dy -height;
  subplot("position",[x_origin y_origin width height])
  plot(0.02*([1:length(f)]-200), f, "b" )
  title("h(t-1) (causal impulse response)", "fontsize",14+d)

%=======================================================
  y_origin = y_origin -dy -height;
  subplot("position",[x_origin y_origin width height])
  a = [zeros(1,200) ones(1,L) zeros(1,250) 0.5*ones(1,100) zeros(1,250) 0.25*ones(1,100) zeros(1,200)];
  plot(0.02*([1:length(a)]-200), a,"m")
  ylim([0 2*max(a)])
  title("Input", "fontsize",14+d)

%=======================================================
  y_origin = y_origin -dy -height;
  subplot("position",[x_origin y_origin width height])
  b = conv(a,f);
  c = b(200:end);
  plot(0.02*([1:length(c)]-250), c, "r", 0.02*([1:length(c)]-200), c, "b")
  ylim([0 max(b)])
  legend("f(t) non-causal output", "f(t-1) (causal output)")
  title("Outputs", "fontsize",14+d)

Original upload log

The original description page was here. All following user names refer to en.wikipedia.

Upload date | User | Bytes | Dimensions | Comment

  • 2012-01-02 21:41:06 | Bob K | 32150 | 1470×1671 | remove gray background
  • 2005-12-12 00:25:17 | Bob K | 6466 | 483×585 | I created this figure myself, using Matlab tools.
  • 2005-12-11 23:47:49 | Bob K | 5782 | 441×659 | I created this figure myself, using Matlab tools.
  • 2005-12-11 23:34:00 | Bob K | 5727 | 429×635 | I created this figure myself, using Matlab tools.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

11 December 2005

image/png

File history

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

Date/TimeThumbnailDimensionsUserComment
current08:55, 2 February 2020Thumbnail for version as of 08:55, 2 February 2020734 × 662 (78 KB)Bob Kminor cleanup
18:57, 1 February 2020Thumbnail for version as of 18:57, 1 February 2020734 × 685 (86 KB)Bob Kwider lines
18:47, 1 February 2020Thumbnail for version as of 18:47, 1 February 2020734 × 685 (67 KB)Bob Kgray background restored, using qt instead of gnuplot
02:20, 7 January 2012Thumbnail for version as of 02:20, 7 January 20121,470 × 1,671 (31 KB)OgreBot(BOT): Reverting to most recent version before archival
02:20, 7 January 2012Thumbnail for version as of 02:20, 7 January 2012483 × 585 (6 KB)OgreBot(BOT): Uploading old version of file from en.wikipedia; originally uploaded on 2005-12-12 00:25:17 by Bob K
02:20, 7 January 2012Thumbnail for version as of 02:20, 7 January 2012441 × 659 (6 KB)OgreBot(BOT): Uploading old version of file from en.wikipedia; originally uploaded on 2005-12-11 23:47:49 by Bob K
02:20, 7 January 2012Thumbnail for version as of 02:20, 7 January 2012429 × 635 (6 KB)OgreBot(BOT): Uploading old version of file from en.wikipedia; originally uploaded on 2005-12-11 23:34:00 by Bob K
13:35, 6 January 2012Thumbnail for version as of 13:35, 6 January 20121,470 × 1,671 (31 KB)Bob K{{BotMoveToCommons|en.wikipedia|year={{subst:CURRENTYEAR}}|month={{subst:CURRENTMONTHNAME}}|day={{subst:CURRENTDAY}}}} The upload bot is User:CommonsHelper2 Bot which is called by [http://toolserver.org/~commonshelper2/index.php CommonsHelper2]. The t
No pages on the English Wikipedia use this file (pages on other projects are not listed).

Metadata