<?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 Help How to use the Function of the Polyphase analysis Filterbank of the ipp in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Help-How-to-use-the-Function-of-the-Polyphase-analysis/m-p/853031#M6760</link>
    <description>&lt;P class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;SPAN lang="EN-GB"&gt;Hello Im Andreas&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;SPAN lang="EN-GB"&gt;I want to split an input signal into 32 Suband. to achieve it, im using the polyphase Analysis Filterbank functions from the ipps library.&lt;BR /&gt; I write this small code but it not work corretly because after calling the main function (ippsAnalysisFilter_SBR_RToC_32f32fc_D2L) i receive "ippStsContextMatchErr" error. Please can somebody help me to know what it wrong in my source?&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;SPAN style="font-size: 12pt; font-family: " times="" new="" roman=""&gt;IppStatus ippRes;&lt;BR /&gt; Ipp32s pSizeSpec, pSizeInitBuf, pSizeWorkBuf;&lt;BR /&gt; Ipp32fc* pDst[32];&lt;BR /&gt; &lt;BR /&gt; int iChannel = 32;&lt;BR /&gt; &lt;BR /&gt; IppsFilterSpec_SBR_C_32fc** ppFilterSpec;&lt;BR /&gt; Ipp8u* pMemSpec;&lt;BR /&gt; Ipp8u* pInitBuf;&lt;BR /&gt; Ipp8u* pWorkBuf;&lt;BR /&gt; &lt;BR /&gt; int NumLoop= NUM_TIME_SLOTS * RATE;// = 16*2 = 32&lt;BR /&gt; int offset = SBR_TIME_HFGEN ; // 8 siehe (sbr_dec_settings.h)&lt;BR /&gt; int kx = 0; //first Subband 0&amp;lt;=kx&amp;lt;=32&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; // get size need for the analysisfilter&lt;BR /&gt; ippRes = ippsAnalysisFilterGetSize_SBR_RToC_32f32fc(&amp;amp;pSizeSpec,&amp;amp;pSizeInitBuf,&amp;amp;pSizeWorkBuf);&lt;BR /&gt; if (ippRes != ippStsOk)&lt;BR /&gt; { &lt;BR /&gt; printf("error during getsize for the Analysis Filter");&lt;BR /&gt; return 1;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; // Memory allocation&lt;BR /&gt; &lt;BR /&gt; pInitBuf = (Ipp8u*)calloc(1,pSizeInitBuf);&lt;BR /&gt; pWorkBuf = (Ipp8u*)calloc(1,pSizeWorkBuf);&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; // Ipp8u* pAnalysisFilterSpec[2];&lt;BR /&gt; &lt;BR /&gt; pMemSpec = (Ipp8u*)calloc(1,pSizeSpec);&lt;BR /&gt; ppFilterSpec = (IppsFilterSpec_SBR_C_32fc**)calloc(iChannel,sizeof(IppsFilterSpec_SBR_C_32fc*));&lt;BR /&gt; &lt;BR /&gt; for (int i=0;i&lt;ICHANNEL&gt;&lt;/ICHANNEL&gt; {&lt;BR /&gt; &lt;BR /&gt; if(pSizeSpec !=0)&lt;BR /&gt; {&lt;BR /&gt; ppFilterSpec&lt;I&gt; =(IppsFilterSpec_SBR_C_32fc*)calloc(1,pSizeSpec);&lt;BR /&gt; &lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; ppFilterSpec&lt;I&gt; = NULL;  &lt;BR /&gt; &lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ippRes = ippsAnalysisFilterInit_SBR_RToC_32f32fc(ppFilterSpec,pMemSpec,pInitBuf);&lt;BR /&gt; // }&lt;BR /&gt; if (ippRes != ippStsOk)&lt;BR /&gt; { &lt;BR /&gt; printf("error during initilaisation for the Analysis Filter");&lt;BR /&gt; return 1;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; //Filtering  &lt;BR /&gt; &lt;BR /&gt; ippRes = ippsAnalysisFilter_SBR_RToC_32f32fc_D2L((constIpp32f*)pSrc-&amp;gt;DataPtr(),pDst,SBR_TABLE_QMF_WINDOW_320,&lt;BR /&gt; NumLoop,offset,kx,ppFilterSpec[5],pWorkBuf);&lt;BR /&gt; &lt;BR /&gt; if (ippRes != ippStsOk)&lt;BR /&gt; { &lt;BR /&gt; printf("error during filtering for the Analysis Filter");&lt;BR /&gt; return 1;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; Thanks you&lt;BR /&gt; &lt;BR /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;BR /&gt;Andreas&lt;!--[endif]--&gt;&lt;/I&gt;&lt;/I&gt;&lt;/SPAN&gt;</description>
    <pubDate>Fri, 17 Jul 2009 11:29:07 GMT</pubDate>
    <dc:creator>andreas_brenkde_thal</dc:creator>
    <dc:date>2009-07-17T11:29:07Z</dc:date>
    <item>
      <title>Help How to use the Function of the Polyphase analysis Filterbank of the ipp</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Help-How-to-use-the-Function-of-the-Polyphase-analysis/m-p/853031#M6760</link>
      <description>&lt;P class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;SPAN lang="EN-GB"&gt;Hello Im Andreas&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;SPAN lang="EN-GB"&gt;I want to split an input signal into 32 Suband. to achieve it, im using the polyphase Analysis Filterbank functions from the ipps library.&lt;BR /&gt; I write this small code but it not work corretly because after calling the main function (ippsAnalysisFilter_SBR_RToC_32f32fc_D2L) i receive "ippStsContextMatchErr" error. Please can somebody help me to know what it wrong in my source?&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;SPAN style="font-size: 12pt; font-family: " times="" new="" roman=""&gt;IppStatus ippRes;&lt;BR /&gt; Ipp32s pSizeSpec, pSizeInitBuf, pSizeWorkBuf;&lt;BR /&gt; Ipp32fc* pDst[32];&lt;BR /&gt; &lt;BR /&gt; int iChannel = 32;&lt;BR /&gt; &lt;BR /&gt; IppsFilterSpec_SBR_C_32fc** ppFilterSpec;&lt;BR /&gt; Ipp8u* pMemSpec;&lt;BR /&gt; Ipp8u* pInitBuf;&lt;BR /&gt; Ipp8u* pWorkBuf;&lt;BR /&gt; &lt;BR /&gt; int NumLoop= NUM_TIME_SLOTS * RATE;// = 16*2 = 32&lt;BR /&gt; int offset = SBR_TIME_HFGEN ; // 8 siehe (sbr_dec_settings.h)&lt;BR /&gt; int kx = 0; //first Subband 0&amp;lt;=kx&amp;lt;=32&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; // get size need for the analysisfilter&lt;BR /&gt; ippRes = ippsAnalysisFilterGetSize_SBR_RToC_32f32fc(&amp;amp;pSizeSpec,&amp;amp;pSizeInitBuf,&amp;amp;pSizeWorkBuf);&lt;BR /&gt; if (ippRes != ippStsOk)&lt;BR /&gt; { &lt;BR /&gt; printf("error during getsize for the Analysis Filter");&lt;BR /&gt; return 1;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; // Memory allocation&lt;BR /&gt; &lt;BR /&gt; pInitBuf = (Ipp8u*)calloc(1,pSizeInitBuf);&lt;BR /&gt; pWorkBuf = (Ipp8u*)calloc(1,pSizeWorkBuf);&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; // Ipp8u* pAnalysisFilterSpec[2];&lt;BR /&gt; &lt;BR /&gt; pMemSpec = (Ipp8u*)calloc(1,pSizeSpec);&lt;BR /&gt; ppFilterSpec = (IppsFilterSpec_SBR_C_32fc**)calloc(iChannel,sizeof(IppsFilterSpec_SBR_C_32fc*));&lt;BR /&gt; &lt;BR /&gt; for (int i=0;i&lt;ICHANNEL&gt;&lt;/ICHANNEL&gt; {&lt;BR /&gt; &lt;BR /&gt; if(pSizeSpec !=0)&lt;BR /&gt; {&lt;BR /&gt; ppFilterSpec&lt;I&gt; =(IppsFilterSpec_SBR_C_32fc*)calloc(1,pSizeSpec);&lt;BR /&gt; &lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; ppFilterSpec&lt;I&gt; = NULL;  &lt;BR /&gt; &lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ippRes = ippsAnalysisFilterInit_SBR_RToC_32f32fc(ppFilterSpec,pMemSpec,pInitBuf);&lt;BR /&gt; // }&lt;BR /&gt; if (ippRes != ippStsOk)&lt;BR /&gt; { &lt;BR /&gt; printf("error during initilaisation for the Analysis Filter");&lt;BR /&gt; return 1;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; //Filtering  &lt;BR /&gt; &lt;BR /&gt; ippRes = ippsAnalysisFilter_SBR_RToC_32f32fc_D2L((constIpp32f*)pSrc-&amp;gt;DataPtr(),pDst,SBR_TABLE_QMF_WINDOW_320,&lt;BR /&gt; NumLoop,offset,kx,ppFilterSpec[5],pWorkBuf);&lt;BR /&gt; &lt;BR /&gt; if (ippRes != ippStsOk)&lt;BR /&gt; { &lt;BR /&gt; printf("error during filtering for the Analysis Filter");&lt;BR /&gt; return 1;&lt;BR /&gt; }&lt;BR /&gt; &lt;BR /&gt; Thanks you&lt;BR /&gt; &lt;BR /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;BR /&gt;Andreas&lt;!--[endif]--&gt;&lt;/I&gt;&lt;/I&gt;&lt;/SPAN&gt;</description>
      <pubDate>Fri, 17 Jul 2009 11:29:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Help-How-to-use-the-Function-of-the-Polyphase-analysis/m-p/853031#M6760</guid>
      <dc:creator>andreas_brenkde_thal</dc:creator>
      <dc:date>2009-07-17T11:29:07Z</dc:date>
    </item>
  </channel>
</rss>

