プロが教えるわが家の防犯対策術!

matlabで勉強中なんですが、以下の操作をするとどうなるのか教えて頂きたいです。
(音声信号xにfftをかけて、フーリエ係数Xを求めてあるとします。)

・xを一定間隔で間引いた(3点中2点を0で埋めていく)場合、fftをかけるとフーリエ係数はどうなるのか?
・同様にXを間引いてifftをかけたら、復元された信号はどうなるのか?
(間引く: □□□□□□□□□□□□… → □00□00□00□00□… )

要するに、
時間領域で時系列の間引きを行うと周波数領域ではどんな影響がでるのか?
周波数領域でスペクトルを間引くと時間領域でどんな影響がでるのか?
ということを知りたいのです。

実際にやってみたのですが、結果がどういう意味なのかイマイチわからず悩んでいます。
前者は、周波数領域で振幅を調べたら、1/3の長さのスペクトルが3つ並んでいました。
後者は、時間領域で複数(この場合3つかな?)の音が重なった感じになっていて、波形は元の信号とだいぶ異なっていました。

わかりやすく説明してもらえると助かります。よろしくお願いします。

A 回答 (4件)

どこまで信号処理についての知識をもってらっしゃるのかがわかりませんので、どう説明すればいいのか難しいですが。



時間領域で3点中2点を0で埋める操作というのは、つまり、周波数を1/3にダウン・サンプリングしたあとで、今度は、周波数を3倍にアップ・サンプリング(ゼロ補間)することになります。

まず、オリジナルの信号がサンプリングレートf0でサンプリングされているとして、この信号をf1=f0/3にダウンサンプリングすると、もとの信号に含まれていた、新たなナイキスト周波数f1/3より高い周波数成分が、折り返しノイズとなって、f1/3以下にかぶさってしまいます。

次に、これを再びサンプリングレートf0にアップサンプリング(ゼロ補間)すると、今度は、f1以下の周波数成分の3つの折り返しがf1以下になってみえてきます。
結局、時間領域で3点中2点を0にすると、同じ形のスペクトルが横に3つ並ぶことになります。

では、周波数領域で間引くと時間領域でどうなるかですが、
フーリエ変換と、フーリエ逆変換は、数学的には完全に対称といっていいので、時間領域での信号操作によって周波数領域におきることと、周波数領域での信号操作によって時間領域におきることは、全く同じです。
つまり、周数領域で3点中2点を間引くと、時間領域では、全時間を3等分して、それを重ねたものが、3回現れることになります。たとえば、元信号が30秒の音だとしたら、0~10秒までと10~20秒までと20秒~30秒までの音を重ねて再生したものが3回繰り返されることになります。

http://adsp2191.hp.infoseek.co.jp/2191/program/p …
の「アップ・サンプリング」「ダウン・サンプリング」なんかが参考になりますかね。
    • good
    • 2

修正



x(t)のフーリエ変換を
X(f):=∫[-∞<t<∞]dt・x(t)・exp(-j・2・π・f・t)
とするとき
xs(t):=x(t)Σ[n:-∞<n<∞]・δ(t-n)
のフーリエ変換Xs(f)がどのように表されるか補足に書け
    • good
    • 0

x(t)のフーリエ変換を


X(f):=∫[-∞<t<∞]dt・x(t)・exp(-j・2・π・f・t)
とするとき
xs(t):=x(t)Σ[n:-∞<n<∞]・δ(x-n)
のフーリエ変換Xs(f)がどのように表されるか補足に書け
    • good
    • 0

別の説明方法をしてみると、


3個に1個の割合でデータを0にするということは、
データに
110110110110110110
の信号を掛け合わせるという操作になります。
周波数領域と時間領域では
信号の掛け算が畳み込み積分(∫f(t)g(τ-t)dtみたいなかたちの積分)になる
という関係があるので、
・xを間引いてfftをかけると、Xにfft("110110110110...")を畳み込み積分をしたもの
・Xを間引いて逆fftをかけると、xに逆fft("110110110..")を畳み込み積分したもの
になります。
(2番目のは、xを周波数特性が110110110..の櫛型フィルタを通したときの出力波形になってますね)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!