File:Hilbert transform.png

A graph of the Hilbert transform (red) of a square wave (blue).

File:Hilbert transform.svg is a vector version of this file. It should be used in place of this PNG file when not inferior.Category:Vector version available

File:Hilbert transform.png → File:Hilbert transform.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

Instructions

See Wikipedia graph-making tips.

 
This plot was created with Gnuplot by n.
Category:PNG created with Gnuplot code#Hilbert%20transform.png

Plotted in Maxima with the following commands:

Heaviside step function:

u(t) := 1/2*(1+signum(t));

Rectangular function:

rect(t) := u(t + 1/2) - u(t - 1/2);

A train of rectangular pulses (or a square wave). This should be n=−∞..+∞, but I can't get Maxima to evaluate it, so I just chose n values that would give a close enough approximation for the visible area:

train(t) := sum(rect(t-2*n),n,-10,20);

The Hilbert transform of a rectangular pulse:

hrect(t) := log(abs((t+1/2)/(t-1/2)))/%PI;

A "train" of hrects. Again with the approximation, though this time it actually matters (rectangular function is 0 everywhere; this is not.):

htrain(t) := sum(hrect(t-2*n),n,-100,100);

The plot command:

plot2d([train(t)-0.5,htrain(t)],[t,0,6],[y,-1,1],[nticks,500], [gnuplot_preamble,"set grid; set ytics 1; set nokey"], [gnuplot_ps_term_command,"set term postscript enhanced landscape color solid lw 2 'Times-Roman' 20"], [gnuplot_term,ps], [gnuplot_out_file,"hilbert.ps"]);

This causes gnuplot to create a .ps file.

To convert the PostScript file to PNG:

  1. Open it in the GIMP (make sure you have ghostscript installed! - Windows instructions)
    • Enter 500 under Resolution (it doesn't say "DPI" but I think that's what it means)
    • Uncheck Try bounding box (since the bounding box cuts off the edge, unfortunately. You can try with the bounding box first.)
    • Enter large values for Width and Height
    • Check Color
    • Check Strong anti-aliasing for both graphics and text
  2. Crop off extra whitespace (Shift+C if you can't find it in the toolbox)
  3. Possibly need to rotate it: Click Image Transform Rotate 90 degrees clockwise
  4. Filters Blur Gaussian blur at 2.0 px (No need to blur if you use strong anti-aliasing during conversion. I see no significant difference between end results.)
  5. Image Scale Image...
    • Width and Height at 25%
    • Cubic interpolation
  6. You can view at normal size if you want by pressing 1, Ctrl+E
  7. Save as Hilbert transform.png

Original version of this plot was made in GNU Octave with the command:

imag(hilbert(x))

Created by User:Omegatron using gnuplot, possibly with post-processing in the GIMP (PNG) or Inkscape (SVG)

I, the copyright holder of this work, hereby publish it under the following licenses:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported, 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.
Category:CC-BY-SA-3.0,2.5,2.0,1.0#Hilbert%20transform.png
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.
Category:License migration redundant#Hilbert%20transform.pngCategory:GFDL#Hilbert%20transform.png
You may select the license of your choice.
Category:Self-published work

(In short, this means that you can copy and modify the image freely as long as you provide attribution; preferably in the form of a link back to this page.)

Category:Square waves Category:Step functions Category:Periodic functions Category:Images with Maxima CAS source code Category:Media missing infobox template Category:Hilbert transform
Category:CC-BY-SA-3.0,2.5,2.0,1.0 Category:Files with no machine-readable author Category:Files with no machine-readable source Category:GFDL Category:Hilbert transform Category:Images with Maxima CAS source code Category:License migration redundant Category:Media missing infobox template Category:PNG created with Gnuplot code Category:Periodic functions Category:Self-published work Category:Square waves Category:Step functions Category:Vector version available