4
最近我一直在檢查CMSIS DSP複雜的數學函數庫,並且我看到了一些我無法完全理解的東西,因此我在SO上發表了第一篇文章。CMSIS DSP LIBRARY中的複雜點積
我無法掌握的是他如何才能使複雜的點積函數產生正確的結果?該功能可以在這裏找到:Complex Dot Product
至於我擔心的部分
for(n=0; n<numSamples; n++) {
realResult += pSrcA[(2*n)+0]*pSrcB[(2*n)+0] - pSrcA[(2*n)+1]*pSrcB[(2*n)+1];
imagResult += pSrcA[(2*n)+0]*pSrcB[(2*n)+1] + pSrcA[(2*n)+1]*pSrcB[(2*n)+0];
}
是A-好的,但怎麼就這麼:
/* CReal = A[0]* B[0] + A[2]* B[2] + A[4]* B[4] + .....+ A[numSamples-2]* B[numSamples-2] */
real_sum += (*pSrcA++) * (*pSrcB++);
/* CImag = A[1]* B[1] + A[3]* B[3] + A[5]* B[5] + .....+ A[numSamples-1]* B[numSamples-1] */
imag_sum += (*pSrcA++) * (*pSrcB++);
應該工作,因爲它錯過了樣品的真實圖像部分的產物?
它可能 - 最可能是 - 一個非常愚蠢的問題,但不知何故,我根本無法看到它的工作。
是的 - 看起來完全錯了 - 可能是夏季實習生寫的,沒有經過適當的審查/測試。 ;-) –