<?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 Continuous data decimation with IPP libraries in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Continuous-data-decimation-with-IPP-libraries/m-p/765604#M178</link>
    <description>Hi,&lt;BR /&gt;&lt;BR /&gt;take a look at the thread &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=79151&amp;amp;o=a&amp;amp;s=lr"&gt;http://software.intel.com/en-us/forums/showthread.php?t=79151&amp;amp;o=a&amp;amp;s=lr&lt;/A&gt; &lt;BR /&gt;also I think you don't need to save delay line toan external delay line buffer for each block of data (if you are using ippsFIR_&lt;DATA-TYPE&gt; function with the internal State structure) - FIR functionautomatically saves delay line in the state and uses it for the next block of data.Probably your sequence is wrong:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;set a delay line to values from external delay line buffer&lt;BR /&gt;initialize FIR filter&lt;BR /&gt;&lt;BR /&gt;delay line must be set DURING FIR initialization or AFTER initialization.&lt;BR /&gt;&lt;BR /&gt;regards,&lt;BR /&gt;Igor&lt;/P&gt;&lt;/DATA-TYPE&gt;</description>
    <pubDate>Tue, 28 Dec 2010 09:35:04 GMT</pubDate>
    <dc:creator>igorastakhov</dc:creator>
    <dc:date>2010-12-28T09:35:04Z</dc:date>
    <item>
      <title>Continuous data decimation with IPP libraries</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Continuous-data-decimation-with-IPP-libraries/m-p/765603#M177</link>
      <description>Hi,&lt;DIV&gt;I am implementing a continuous data decimation (filtering using FIR filters) and down sampling using IPP primitives. Just wanted to confirm that I am using a correct approach. What would be the proper way to handle continuous data in order to get a gap less decimated data that would be acceptable for FFT processing?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Conceptually I do the following:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;get a block of data&lt;/DIV&gt;&lt;DIV&gt;set a delay line to values from external delay line buffer&lt;/DIV&gt;&lt;DIV&gt;initialize FIR filter&lt;/DIV&gt;&lt;DIV&gt;filter the data&lt;/DIV&gt;&lt;DIV&gt;save delay line into external delay line buffer&lt;/DIV&gt;&lt;DIV&gt;down sample the filtered data, pass phase to the next iteration&lt;/DIV&gt;&lt;DIV&gt;copy down sampled data to external data buffer&lt;/DIV&gt;&lt;DIV&gt;go to the next block of data&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The signal is a sine wave at 100Hz frequency, and the FIR filter cutoff is at around 2kHz&lt;/DIV&gt;&lt;DIV&gt;The problem is that when I piece together my decimated data, it doesn't always look continuous. What steps am I missing?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 13 Dec 2010 17:16:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Continuous-data-decimation-with-IPP-libraries/m-p/765603#M177</guid>
      <dc:creator>sergetrig</dc:creator>
      <dc:date>2010-12-13T17:16:26Z</dc:date>
    </item>
    <item>
      <title>Continuous data decimation with IPP libraries</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Continuous-data-decimation-with-IPP-libraries/m-p/765604#M178</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;take a look at the thread &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=79151&amp;amp;o=a&amp;amp;s=lr"&gt;http://software.intel.com/en-us/forums/showthread.php?t=79151&amp;amp;o=a&amp;amp;s=lr&lt;/A&gt; &lt;BR /&gt;also I think you don't need to save delay line toan external delay line buffer for each block of data (if you are using ippsFIR_&lt;DATA-TYPE&gt; function with the internal State structure) - FIR functionautomatically saves delay line in the state and uses it for the next block of data.Probably your sequence is wrong:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;set a delay line to values from external delay line buffer&lt;BR /&gt;initialize FIR filter&lt;BR /&gt;&lt;BR /&gt;delay line must be set DURING FIR initialization or AFTER initialization.&lt;BR /&gt;&lt;BR /&gt;regards,&lt;BR /&gt;Igor&lt;/P&gt;&lt;/DATA-TYPE&gt;</description>
      <pubDate>Tue, 28 Dec 2010 09:35:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Continuous-data-decimation-with-IPP-libraries/m-p/765604#M178</guid>
      <dc:creator>igorastakhov</dc:creator>
      <dc:date>2010-12-28T09:35:04Z</dc:date>
    </item>
    <item>
      <title>Continuous data decimation with IPP libraries</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Continuous-data-decimation-with-IPP-libraries/m-p/765605#M179</link>
      <description>Thanks Igor!&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I had to save the delay line values into external buffer for each block of data because I am using a dll wrapper with LabView as my prototype tool and after each pass I free the memory and destroy the filter state pointer because I couldn't pass it in and out from LabView. I realize that it is not the best way to do it, but it gives me great data graphing and debugging capability. In the final C++ code initialization and destruction will obviously be done once. The problem was in my dll wrapper code, after I got it fixed the things started to look much better&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;regards,&lt;/DIV&gt;&lt;DIV&gt;Serge&lt;/DIV&gt;</description>
      <pubDate>Mon, 10 Jan 2011 23:21:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Continuous-data-decimation-with-IPP-libraries/m-p/765605#M179</guid>
      <dc:creator>sergetrig</dc:creator>
      <dc:date>2011-01-10T23:21:05Z</dc:date>
    </item>
  </channel>
</rss>

