<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic fast fourier transform in SAS/IML Software and Matrix Computations</title>
    <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/fast-fourier-transform/m-p/44816#M240</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know what you are seeing or what your data are, but here is a program that correctly computes the FFT and IFFT of a signal with 4,000,000 elements. As far as I can tell, the FFT is computing correctly on this large vector:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;iml&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;NN = &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;4000000&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;t = T(do(-&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;10&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;,&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;10&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;, &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;20&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;/(NN-&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;1&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;)));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;y = sin(t) - &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;2&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*sin(&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;2&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*t) + &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;3&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*sin(&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;3&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*t) + &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;0.1&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*rannor(t);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;z = fft(y);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;f= ifft(z/NN);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;maxdiff = max(abs(y-f));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 14pt;"&gt;print&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt; maxdiff;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE cellpadding="5" cellspacing="0" class="table" frame="box" rules="all" summary="Procedure Iml: maxdiff"&gt;&lt;THEAD&gt;&lt;TR&gt;&lt;TH class="c b header" scope="col"&gt;maxdiff&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="r data" nowrap="nowrap"&gt;5.5052E-9&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;It's possible that your data are causing instabilities of some sort. Check to see if they are blowing up (spanning many orders of magnitude) or are widely oscilating or are otherwise degenerate.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Mar 2012 15:26:12 GMT</pubDate>
    <dc:creator>Rick_SAS</dc:creator>
    <dc:date>2012-03-27T15:26:12Z</dc:date>
    <item>
      <title>fast fourier transform</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/fast-fourier-transform/m-p/44815#M239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;&lt;SPAN id="result_box" lang="en"&gt;&lt;SPAN class="hps"&gt;Hello all&lt;/SPAN&gt;,&lt;BR /&gt;&lt;SPAN class="hps"&gt;I have&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;a problem&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;with the computation&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;of the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;IFFT&lt;/SPAN&gt; &lt;SPAN class="hps atn"&gt;(FFT&lt;/SPAN&gt; &lt;SPAN class="hps atn"&gt;(&lt;/SPAN&gt;&lt;SPAN class="hps atn"&gt; &lt;/SPAN&gt;x)) where &lt;SPAN class="hps"&gt;x is&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;a vector&lt;/SPAN&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="hps"&gt;I made 2&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;tests&lt;/SPAN&gt;:&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="hps"&gt;test1&lt;/SPAN&gt;&lt;SPAN class="hps"&gt; &lt;/SPAN&gt;: &lt;SPAN class="hps"&gt;4096x1&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;vector&lt;/SPAN&gt;&lt;SPAN class="hps"&gt; &lt;/SPAN&gt;, resulting &lt;/SPAN&gt;&lt;SPAN class="hps"&gt;IFFT&lt;/SPAN&gt; &lt;SPAN class="hps atn"&gt;(FFT&lt;/SPAN&gt; &lt;SPAN class="hps atn"&gt;(&lt;/SPAN&gt;x)) &lt;SPAN id="result_box" lang="en"&gt;&lt;SPAN class="hps"&gt;is fine&lt;/SPAN&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="hps"&gt;test2&lt;/SPAN&gt;&lt;SPAN class="hps"&gt; &lt;/SPAN&gt;: &lt;SPAN class="hps"&gt;4000000x1&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;vector&lt;/SPAN&gt;&lt;SPAN class="hps"&gt; &lt;/SPAN&gt;, resulting &lt;SPAN class="hps"&gt;IFFT&lt;/SPAN&gt; &lt;SPAN class="hps atn"&gt;(FFT(&lt;/SPAN&gt;&lt;SPAN class="hps atn"&gt; &lt;/SPAN&gt;x)) &lt;SPAN class="hps"&gt;after&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;about 50000&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;records&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;began to&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;be&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;ko.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="hps"&gt;my code&lt;/SPAN&gt;:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;&lt;SPAN lang="en"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;SPAN style="color: #000000; font-family: arial,helvetica,sans-serif;"&gt;&lt;SPAN style="font-size: 10pt; background-color: white;"&gt;%let&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background-color: white;"&gt; NN=&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background-color: white;"&gt;%sysevalf&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background-color: white;"&gt;(4096);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif; background-color: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;/P&gt;&lt;P align="left"&gt;proc iml;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;SPAN style="font-size: 10pt; font-family: arial,helvetica,sans-serif; background-color: white;"&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;use&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt; temp.H_primo_test;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P align="left" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; punctuation-wrap: hanging; mso-vertical-align-alt: auto;"&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;read&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt; all &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt; {x} &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;into&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt; N;&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; punctuation-wrap: hanging; mso-vertical-align-alt: auto;"&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;z=J(&amp;amp;NN,&lt;/SPAN&gt;&lt;STRONG style="mso-fareast-language: IT; background: white; font-size: 10pt; mso-ansi-language: IT; font-family: &amp;amp;quot;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;,&lt;/SPAN&gt;&lt;STRONG style="mso-fareast-language: IT; background: white; font-size: 10pt; mso-ansi-language: IT; font-family: &amp;amp;quot;"&gt;.&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; punctuation-wrap: hanging; mso-vertical-align-alt: auto;"&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;z = fft(N);&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; punctuation-wrap: hanging; mso-vertical-align-alt: auto;"&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;f=J(&amp;amp;NN,&lt;/SPAN&gt;&lt;STRONG style="mso-fareast-language: IT; background: white; font-size: 10pt; mso-ansi-language: IT; font-family: &amp;amp;quot;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;,&lt;/SPAN&gt;&lt;STRONG style="mso-fareast-language: IT; background: white; font-size: 10pt; mso-ansi-language: IT; font-family: &amp;amp;quot;"&gt;.&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; punctuation-wrap: hanging; mso-vertical-align-alt: auto;"&gt;&lt;SPAN style="font-size: 10pt; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-ansi-language: IT; mso-fareast-language: IT;"&gt;f= ifft(z/(&amp;amp;NN));&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="MsoCaption" style="margin: 0cm 0cm 0pt; text-align: justify;"&gt;&lt;SPAN style="font-weight: normal; background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-fareast-language: IT;"&gt;quit&lt;/SPAN&gt;&lt;SPAN style="background: white; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; mso-fareast-language: IT;"&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN id="result_box" lang="en"&gt;&lt;SPAN class="hps"&gt;it appears that&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;the increase in the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;number of records&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;creates&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;problems for the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;Fast Fourier Transform.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;SPAN class="hps"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;SPAN class="hps"&gt;it's correct?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;﻿&lt;/SPAN&gt;thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2012 14:53:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/fast-fourier-transform/m-p/44815#M239</guid>
      <dc:creator>trevi83</dc:creator>
      <dc:date>2012-03-27T14:53:48Z</dc:date>
    </item>
    <item>
      <title>fast fourier transform</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/fast-fourier-transform/m-p/44816#M240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know what you are seeing or what your data are, but here is a program that correctly computes the FFT and IFFT of a signal with 4,000,000 elements. As far as I can tell, the FFT is computing correctly on this large vector:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;iml&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;NN = &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;4000000&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;t = T(do(-&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;10&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;,&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;10&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;, &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;20&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;/(NN-&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;1&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;)));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;y = sin(t) - &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;2&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*sin(&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;2&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*t) + &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;3&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*sin(&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;3&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*t) + &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 14pt; background-color: white; font-family: 'Courier New';"&gt;0.1&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;*rannor(t);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;z = fft(y);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;f= ifft(z/NN);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt;maxdiff = max(abs(y-f));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 14pt;"&gt;print&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt; maxdiff;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 14pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE cellpadding="5" cellspacing="0" class="table" frame="box" rules="all" summary="Procedure Iml: maxdiff"&gt;&lt;THEAD&gt;&lt;TR&gt;&lt;TH class="c b header" scope="col"&gt;maxdiff&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="r data" nowrap="nowrap"&gt;5.5052E-9&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;It's possible that your data are causing instabilities of some sort. Check to see if they are blowing up (spanning many orders of magnitude) or are widely oscilating or are otherwise degenerate.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2012 15:26:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/fast-fourier-transform/m-p/44816#M240</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2012-03-27T15:26:12Z</dc:date>
    </item>
    <item>
      <title>fast fourier transform</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/fast-fourier-transform/m-p/44817#M241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Rick.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your maxdiff is E-9 depends on the elements of the input vector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My vector &lt;SPAN class="hps"&gt;is composed of&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;very small values (E-3, E-6...) so the differences are consistent.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;&lt;SPAN class="short_text" id="result_box" lang="en"&gt;&lt;SPAN class="hps"&gt;However,&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;you&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;confirm that &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="hps"&gt;SAS&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;creates&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;differences&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;by calculating the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;IFFT(FFT))&lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2012 16:03:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/fast-fourier-transform/m-p/44817#M241</guid>
      <dc:creator>trevi83</dc:creator>
      <dc:date>2012-03-27T16:03:50Z</dc:date>
    </item>
  </channel>
</rss>

