Image:Hilbert transform.png

From Wikipedia, the free encyclopedia

Wikimedia Commons logo This is a file from the Wikimedia Commons. The description on its description page there is shown below.
Commons is a freely licensed media file repository. You can help.

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

This graph image should be recreated using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is already available, please upload it. After uploading an SVG, replace this template with template {{Vector version available|new image name.svg}} in this image.

العربية | Български | Català | Česky | Dansk | Deutsch | English | Esperanto | Español | Français | 한국어 | Italiano | Magyar | Lietuvių | Nederlands | 日本語 | Polski | Português | Română | Русский | Suomi | Svenska | Türkçe | Українська | Tiếng Việt | मराठी | ‪中文(繁體)‬ | ‪中文(简体)‬ | +/-

[edit] Instructions

See Wikipedia graph-making tips.

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 ImageTransformRotate 90 degrees clockwise
  4. FiltersBlurGaussian 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. ImageScale 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:
Some rights reserved
Creative Commons Attribution iconCreative Commons Share Alike icon
This file is licensed under the Creative Commons Attribution ShareAlike license versions 3.0, 2.5, 2.0, and 1.0

Български | Català | Česky | Dansk | Deutsch | Ελληνικά | English | Español | Euskara | Estremeñu | Français | עברית | Italiano | 日本語 | 한국어 | Lietuvių | Nederlands | ‪Norsk (bokmål)‬  | Occitan | Polski | Piemontèis | Português | Русский | 中文 | +/-

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".

Aragonés | العربية | Asturianu | Български | বাংলা | ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী | Brezhoneg | Bosanski | Català | Cebuano | Česky | Dansk | Deutsch | Ελληνικά | English | Esperanto | Español | Eesti | Euskara | فارسی | Suomi | Français | Gaeilge | Galego | עברית | Hrvatski | Magyar | Bahasa Indonesia | Ido | Íslenska | Italiano | 日本語 | ქართული | ភាសាខ្មែរ | 한국어 | Kurdî / كوردی | Latina | Lëtzebuergesch | Lietuvių | Bahasa Melayu | Nnapulitano | Nederlands | ‪Norsk (nynorsk)‬ | ‪Norsk (bokmål)‬ | Occitan | Polski | Português | Română | Русский | Slovenčina | Slovenščina | Shqip | Српски / Srpski | Svenska | తెలుగు | ไทย | Türkçe | Українська | اردو | Tiếng Việt | Volapük | Yorùbá | ‪中文(中国大陆)‬ | ‪中文(台灣)‬ | +/-

You may select the license of your choice.

(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.)

File history

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

Date/TimeDimensionsUserComment
current18:54, 2 July 20051,600×1,120 (120 KB)Omegatron (Image of the Hilbert transform of a square wave.)
19:53, 26 June 2005608×433 (5 KB)Omegatron (A graph or diagram made by User:Omegatron. (Uploaded with Wikimedia Commons.) Source: Created by User:Omegatron {{GFDL}}{{cc-by-sa-2.0}} Category:Diagrams\)
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):