<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264967</link>
    <title>MATLAB Central Newsreader - How are the values for h taken in Hilbert transformation?</title>
    <description>Feed for thread: How are the values for h taken in Hilbert transformation?</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Wed, 04 Nov 2009 13:53:02 -0500</pubDate>
      <title>How are the values for h taken in Hilbert transformation?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264967#692037</link>
      <author>Vahila Chowdary </author>
      <description>Helllo everybody!&lt;br&gt;
&lt;br&gt;
I would like to know the way 'h' in hilbert transformation is given values. This is the thing i found in MATLAB  but really could nt understand how they do it.&lt;br&gt;
&lt;br&gt;
In detail, hilbert uses a four-step algorithm:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;1.It calculates the FFT of the input sequence, storing the result in a vector x.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;2.It creates a vector h whose elements h(i) have the values:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 1 for i = 1, (n/2)+1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 2 for i = 2, 3, ... , (n/2)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* 0 for i = (n/2)+2, ... , n&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;3.It calculates the element-wise product of x and h.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;4.It calculates the inverse FFT of the sequence obtained in step 3 and returns the first n elements of the result.&lt;br&gt;
&lt;br&gt;
Could someone tell me the 2nd step clearly?&lt;br&gt;
&lt;br&gt;
Thank you</description>
    </item>
    <item>
      <pubDate>Wed, 04 Nov 2009 14:07:01 -0500</pubDate>
      <title>Re: How are the values for h taken in Hilbert transformation?</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264967#692040</link>
      <author>Wayne King</author>
      <description>&quot;Vahila Chowdary &quot; &amp;lt;k.vahila@gmail.com&amp;gt; wrote in message &amp;lt;hcs0vu$8ti$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Helllo everybody!&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I would like to know the way 'h' in hilbert transformation is given values. This is the thing i found in MATLAB  but really could nt understand how they do it.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; In detail, hilbert uses a four-step algorithm:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;    1.It calculates the FFT of the input sequence, storing the result in a vector x.&lt;br&gt;
&amp;gt;    2.It creates a vector h whose elements h(i) have the values:&lt;br&gt;
&amp;gt;           * 1 for i = 1, (n/2)+1&lt;br&gt;
&amp;gt;           * 2 for i = 2, 3, ... , (n/2)&lt;br&gt;
&amp;gt;           * 0 for i = (n/2)+2, ... , n&lt;br&gt;
&amp;gt;    3.It calculates the element-wise product of x and h.&lt;br&gt;
&amp;gt;    4.It calculates the inverse FFT of the sequence obtained in step 3 and returns the first n elements of the result.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Could someone tell me the 2nd step clearly?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thank you&lt;br&gt;
&lt;br&gt;
Hi Vahila, &lt;br&gt;
The analytic signal (corresponding to a signal X) has a Fourier transform which is zero for the negative frequencies, equal to the Fourier transform of X at zero frequency (DC), and 2 times the value of the Fourier transform of X at positive frequencies.&lt;br&gt;
&lt;br&gt;
What step two in the algorithm is saying is that Matlab sets up a vector that scales the Fourier transform of the input signal X according to the definition (a vector of the appropriate scaling factors). Negative frequencies are multiplied by zero. Zero frequency (and the Nyquist) are multiplied by 1 (unscaled), and the positive frequencies are multiplied by two. Once you have the appropriate scaling on the Fourier transform of X, taking the inverse Fourier transform yields the analytic signal.&lt;br&gt;
&lt;br&gt;
Hope that helps,&lt;br&gt;
Wayne</description>
    </item>
  </channel>
</rss>

