Es gibt viele Möglichkeiten, Daten zu interpolieren. Interpolation bedeutet für mich, dass Sie Linien zwischen einigen Datenpunkten ziehen. Dies kann auf viele Arten geschehen. Eine Art der Interpolation, die bei DSP (insbesondere bei Mehrraten-DSP) nützlich ist, ist die "bandbegrenzte Interpolation". Wenn Sie googeln, erhalten Sie viele interessante und nützliche Treffer. Was Sie vorschlagen, ist keine bandbegrenzte Interpolation. In Ihrem 'upsampled' x befinden sich Frequenzkomponenten, die im ursprünglichen x nicht vorhanden sind.
Bearbeiten (zu lang, um in einen Kommentar zu passen):
X=[A,B,C,D,E,F,G,H]
Betrachtet man den tatsächlichen Input
X=[A,B,C,D,E,D∗,C∗,B∗]
x0,0,x1,0,...0−π/2π/2−π
X2=[A,B,C,D,E,D∗,C∗,B∗,A,B,C,D,E,D∗,C∗,B∗]
In the ideal case an ideal brick-wall filter with cutoff frequency π/2 is required in order to remove the image. That is (for infinite input)
yn=∑∞k = - ∞x 2ks i n c ( 0,5 n - k )
In der Praxis tritt jedoch eine gewisse Verzerrung auf, da der Mauerfilter nicht realistisch ist. Das praktische Filter kann Frequenzen im Eingang unterdrücken / entfernen oder einige der Frequenzkomponenten im Bild im hochgetasteten Signal belassen. Oder der Filter kann einen Kompromiss zwischen den beiden eingehen. Ich denke, Ihre Frequenzdomänenkonstruktion spiegelt auch diesen Kompromiss wider. Diese beiden Beispiele stehen für zwei verschiedene Auswahlmöglichkeiten:
Y.= [ A , B , C, D , E,0,0,0,0,0,0,0,E∗,D∗,C∗,B∗]
Y=[A,B,C,D,0,0,0,0,0,0,0,0,0,D∗,C∗,B∗]
If the input is bandlimited below the nyquist frequency as in your reference this issue disappears.
Maybe it is possible to find a value of ρ below, such that some error function, for instance the squared error between the input spectrum and the upsampled output spectrum is minimum.
Y=[A,B,C,D,ρ,0,0,0,0,0,0,0,ρ∗,D∗,C∗,B∗]