FFTW Real-zu-Real-Transformation schreitet Array

9

Ich habe eine Matrix in Reihen-Haupt-Reihenfolge gespeichert. Ich versuche, die DCT einer ub-Matrix mit FFTW zu berechnen, und ich bekomme Unsinn. In den folgenden Absätzen werde ich das Problem und meine Lösung beschreiben, und ich möchte Ihre Hilfe verstehen, warum es nicht funktioniert.

Gegeben einige i und l , ich möchte die DCT einer Untermatrix berechnen, die aus allen Zeilen k für die k mod l == i besteht. Angenommen, l = 3 und i = 2 . In der folgenden Matrix ist die Submatrix, die ich transformieren möchte, rot markiert (2 mod 3 = 2, 5 mod 3 = 2, 8 mod 3 = 2).

Die Quell- und Zielarrays haben dasselbe Layout, und die transformierte Matrix sollte am selben Ort im Zielarray gespeichert werden.

%Vor%

Aktualisieren

Ich habe es für den einfachen Fall getestet, wenn i=l=1 . Selbst in diesem Fall bekomme ich Unsinn. Ich habe mit einer 3x4-Matrix getestet, die genau einer der DCT-Basisvektoren ist:

%Vor%

Ich habe erwartet, dass ein Ergebnis erhalten wird, bei dem alle Elemente bis auf eins Null sind. Aber ich bekomme eine resultierende Matrix, die so aussieht:

%Vor%

Scheint ziemlich seltsam.

Update 2

Ich habe auch mit einer einfachen Matrix getestet, wobei das (0,0) Element 1 ist und der Rest null ist. Auch in diesem Fall i=l=1 (die Untermatrix ist die gesamte Matrix). Hier ist das Ergebnis:

%Vor%     
Alex 30.07.2015, 09:18
quelle

1 Antwort

0

kind soll ein Array der Größe rank sein. Siehe z.B. Ссылка .

    
Oliver Charlesworth 01.08.2015, 19:28
quelle

Tags und Links