基本的なことなんですが、自分なりに整理していました。適当すぎる部分や間違ってる箇所もあると思いますが許してください。


まず、もとのアナログ信号f(t)があるとします。このスペクトルはF(\omega)B
帯域制限(つまり[-B,B]の範囲以外の周波数成分はゼロ)されているとします。

アナログ信号を間隔\Delta tで、取り出すとデジタル信号が出来上がります。
これは、デルタ関数を等間隔で並べたものを、f(t)と掛け算をすることで表せます。
デルタ関数を並べた、くし型関数(シャー関数:texでの出し方が分かりませんので\Pi(t)とします。)を使うと便利です。
次図の形です。

これと元のアナログ信号を掛け算すると、次のデジタル信号になります。


つまり、デジタル信号は

f(t) \cdot \Pi(t)=\sum_n f_n \delta(t-\Delta t \cdot n)

という感じにデータ列

f_n(n=\cdots,-1,0,1,2,\cdots)

の情報から成ります。
このデジタルデータから、もとのアナログ信号をそっくりそのまま復元するには?という問題が考えられます。


もし、なんらかの窓関数g(t)をこのデジタル信号に畳み込むだけで、もとのアナログ信号が復元できれば、非常に助かります。つまり、

f(t)=\left( f(t) \cdot \Pi(t) \right) *g(t)・・・・・・・・・・・・・・・・・・・(1)

です。このg(t)を求めてみます。


まず、式(1)の右辺をフーリエ変換します。
周波数空間上では、畳み込み演算が掛け算に、掛け算が畳み込み演算に交換されることを利用します。
また、シャー関数のフーリエ変換はシャー関数になることも利用します*1


右辺=\left( F(\omega) * \Pi(\omega) \right ) \cdot G(\omega)・・・・・・・・・・・・・・・・・・・(2)


となります。左の括弧の中は次図のようになります。

デルタ関数と、F(\omega)の畳み込みなので、次のようにF(\omega)が間隔\frac{1}{\Delta t}で並ぶ形になります。


このことから、上図の赤い部分だけを抜き出して、フーリエ逆変換を行えば、もとのアナログ信号f(t)が完全に復元できることが分かります*2

これは、下図のような矩形関数を周波数空間上で掛け算すればできます。これは式(2)のG(\omega)に相当します。

矩形関数G(\omega)を逆変換すると、上の右図のようなg(t)=sinc関数が得られます。
したがって、デジタル信号から元のアナログ信号を復元するにはsinc関数を畳み込めばよいことが分かりました。


実際には、sinc関数は無限に裾の広い関数かつ三角関数を含むので、有限の台をもつ関数で近似します。
これが、cubic補間やLanczos関数となります。

*1:ちなみに、間隔\Delta tのシャー関数のスペクトルは間隔\frac{1}{\Delta t}になることから、有名なサンプリング定理\Delta t \leq \frac{1}{2 B}が導かれます。

*2:もちろんサンプリング定理の条件を満たしてないと、この波形の山々が重なってしまって元の信号のスペクトルが崩れてしまいます。サンプリング間隔\Delta tを小さくするほど、その逆数は大きくなるので、サンプリング間隔を細かく取るほど、もとのスペクトルが崩される危険がなくなります。