File:Effect of circular convolution on discrete Hilbert transform.png
Original file (1,156 × 608 pixels, file size: 100 KB, MIME type: image/png)
Captions
Summary
[edit]DescriptionEffect of circular convolution on discrete Hilbert transform.png |
English: The Hilbert transform of cos(ωt) is sin(ωt). When a finite segment of cos(ωt) is transformed, edge effects inevitably occur. Using a segment length of 256 samples, this figure shows a sine function and two approximate Hilbert transforms computed by the MATLAB library function, hilbert(·), which supports optional zero-filling of the segment to be transformed. The red graph is the result of no zero-filling, and the blue graph is the result of 300% zero-filling. In the latter case, the edge effects are almost all due to the rise and fall times of the Hilbert transform's 2/(πn) impulse response. In the "red" case, we have the added effect of circular convolution. In other words, in the blue case, distortion occurs when some of the filter taps are coinciding with zeros, instead of with samples of cos(ωt). And in the red case, those same taps are coinciding with wrapped-around (and out-of-phase) samples of cos(ωt). |
|||
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:
|
|||
PNG development InfoField | This PNG graphic was created with LibreOffice. |
|||
Source file InfoField | Scilab codeN=256;
x=0:N-1;
cycles_per_segment = 8.2888; // empirical value that displays edge effects well
cycles_per_sample = cycles_per_segment/N;
Yreal = cos(2*%pi*cycles_per_sample*x); // function to be transformed
Ans = sin(2*%pi*cycles_per_sample*x); // the ideal answer
H1 = imag(hilbert(Yreal)); // no zero-filling
H2 = imag(hilbert([Yreal zeros(1,1024-N)])); // zero-filling
// Display the results
red=5; blue=2; green=3; black=1; // based on a call to getcolor()
top=green; middle=blue; bottom=red;
plot2d(x', [H1' H2(1:N)' Ans'], style=[bottom middle top], rect=[0,-1.15,N-1,1.15]);
a = gca();
a.box = "on";
a.font_size=2; //set the tics label font size
a.visible = "on";
a.grid = [-1,0];
a.auto_ticks = ["off","off","off"]
a.y_ticks = tlist(["ticks", "locations", "labels"], [-1 0 1], ["-1" "0" "1"]);
a.x_ticks = tlist(["ticks", "locations", "labels"], [0 50 100 150 200 250], ["0" "50" "100" "150" "200" "250"]);
//a.children.children.thickness=2; // set line thickness of plots
top=1; middle=2; bottom=3;
a.children.children(top).thickness=2;
a.children.children(middle).thickness=3;
a.children.children(bottom).thickness=4;
xlabel("samples", "fontsize", 2)
ylabel("amplitude", "fontsize", 2)
title("Hilbert transform of a cosine function and two approximations with edge effects", "fontsize", 4)
|
See also
[edit]File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 10:58, 9 February 2016 | 1,156 × 608 (100 KB) | Bob K (talk | contribs) | Show the sine function and 2 approximations, instead of the 2 difference functions. | |
15:34, 10 April 2015 | 1,083 × 570 (23 KB) | Bob K (talk | contribs) | The new figure compares two different error functions, one with zero-filling and one without. | ||
01:26, 14 September 2012 | 1,139 × 636 (9 KB) | Bob K (talk | contribs) | shift horizontal scale by 1 | ||
00:48, 14 September 2012 | 1,134 × 632 (9 KB) | Bob K (talk | contribs) | Larger font size for labels | ||
22:51, 13 September 2012 | 1,119 × 610 (7 KB) | Bob K (talk | contribs) | User created page with UploadWizard |
You cannot overwrite this file.
File usage on Commons
The following 4 pages use this file:
File usage on other wikis
The following other wikis use this file:
- Usage on en.wikipedia.org
- Usage on ko.wikipedia.org
- Usage on zh.wikipedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Horizontal resolution | 39.37 dpc |
---|---|
Vertical resolution | 39.37 dpc |
File change date and time | 10:42, 9 February 2016 |