<?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 Using ippsFIRMR_16sc in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Using-ippsFIRMR-16sc/m-p/1139013#M26042</link>
    <description>&lt;P&gt;I see odd behaviour using ippsFIRMR_16sc. The documentation seems to indicate it expects a complex filter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ipp32fc filter_taps[max_number_taps];&lt;/P&gt;&lt;P&gt;I initialize my filter taps with a windowed sinc function in the real part and zeros in the imaginary. Then I initialize p_spec as shown.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IPP_status = ippsFIRMRInit_32fc(filter_taps, tap_length, up_factor, 0, down_factor, 0, p_spec);&lt;/P&gt;&lt;P&gt;When I apply the filter in the following way, the result looks like a bandstop filter, which is what I would expect to see if&amp;nbsp;the complex filter created above were used as a real filter with my filter coefficients in the even filter taps and zeros in the odd.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IPP_status = ippsFIRMR_16sc(buffer, sampled_buffer, sampled_size, p_spec, NULL, NULL, p_buf);&lt;/P&gt;&lt;P&gt;Does ippsFIRMR_16sc expect the filter to be real instead of complex?&lt;/P&gt;</description>
    <pubDate>Fri, 03 May 2019 15:06:03 GMT</pubDate>
    <dc:creator>Christiansen__Mark</dc:creator>
    <dc:date>2019-05-03T15:06:03Z</dc:date>
    <item>
      <title>Using ippsFIRMR_16sc</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Using-ippsFIRMR-16sc/m-p/1139013#M26042</link>
      <description>&lt;P&gt;I see odd behaviour using ippsFIRMR_16sc. The documentation seems to indicate it expects a complex filter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ipp32fc filter_taps[max_number_taps];&lt;/P&gt;&lt;P&gt;I initialize my filter taps with a windowed sinc function in the real part and zeros in the imaginary. Then I initialize p_spec as shown.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IPP_status = ippsFIRMRInit_32fc(filter_taps, tap_length, up_factor, 0, down_factor, 0, p_spec);&lt;/P&gt;&lt;P&gt;When I apply the filter in the following way, the result looks like a bandstop filter, which is what I would expect to see if&amp;nbsp;the complex filter created above were used as a real filter with my filter coefficients in the even filter taps and zeros in the odd.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IPP_status = ippsFIRMR_16sc(buffer, sampled_buffer, sampled_size, p_spec, NULL, NULL, p_buf);&lt;/P&gt;&lt;P&gt;Does ippsFIRMR_16sc expect the filter to be real instead of complex?&lt;/P&gt;</description>
      <pubDate>Fri, 03 May 2019 15:06:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Using-ippsFIRMR-16sc/m-p/1139013#M26042</guid>
      <dc:creator>Christiansen__Mark</dc:creator>
      <dc:date>2019-05-03T15:06:03Z</dc:date>
    </item>
    <item>
      <title>Hi Mark,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Using-ippsFIRMR-16sc/m-p/1139014#M26043</link>
      <description>&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;ippsFIRMR_16s is for real filter, while&amp;nbsp;ippsFIRMR_16sc is for complex.&lt;/P&gt;&lt;P&gt;Can I presume that you already called&amp;nbsp;ippsFIRMRGetSize() and malloc memory before calling Init and FIRMR? For example:&lt;/P&gt;&lt;P&gt;ppStatus status;&lt;BR /&gt;status = ippsFIRMRGetSize(tapsLen, upFactor, downFactor, ipp32f, &amp;amp;specSize, &amp;amp;bufSize );&lt;BR /&gt;printf("ippsFIRMRGetSize / status = %s\n", ippGetStatusString(status));&lt;BR /&gt;pSpec = (IppsFIRSpec_32f*)ippsMalloc_8u(specSize);&lt;BR /&gt;pBuf = ippsMalloc_8u(bufSize);&lt;BR /&gt;status = ippsFIRMRInit_32f ( pTaps, tapsLen, upFactor, upPhase, downFactor, downPhase,&lt;BR /&gt;pSpec);&lt;/P&gt;&lt;P&gt;And, could you provide your sample code then I can reproduce the issue?&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Ruqiu&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2019 00:48:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Using-ippsFIRMR-16sc/m-p/1139014#M26043</guid>
      <dc:creator>Ruqiu_C_Intel</dc:creator>
      <dc:date>2019-05-14T00:48:43Z</dc:date>
    </item>
  </channel>
</rss>

