最近、私は CMSIS DSP 複雑な数学関数ライブラリを調べていて、完全には理解できないものを見たので、SO に関する私の最初の投稿です。
私が把握できないのは、複雑な内積関数が適切な結果をもたらす方法です。関数はここにあります: 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++);
サンプルの real*imag 部分の積を見逃しているため、機能するはずですか?
それは本当にばかげた質問かもしれませんが、おそらくそうです。