2016-07-10 3 views
0

私はfftで少し演奏しようとしています。私は2つのdim [私はこれはステレオのためだと思う]との曲を参照してください私はそれを2つの配列にsplitiedし、私は1つだけの行の配列に1列の配列からそれを作る。私は私が私が私が私がfigure1matlabでfftingした後、アレイの左側とアレイの右側を切り替える必要がありますか?

で見てしまったの図を見てからMATLAB上

plot(abs(fft(song1dtag))); 

を取ったクラスから思い出し考えたものでしたので、 は、私は、配列の1のFFTを見てみたかったです私の意見は間違っています。これはfftの非常に良い罪の波のように見えるが、私が選んだ曲(女の子はすぐに....少数の日を後にパルプフィクションを見た女の子)は、左の部分に当てはまるかもしれない非常に強い男の声を持っている私は8.5キロ[aprrox]で非常に支配的な部分を持っている曲を見て苦労している。

私が習ったクラスからは、それが本当であれば分かりませんが、実際には、-piから+ piまで表示できないため、実際にはいくつかの問題があります。 0に設定し、piで2piにします。 1)これについて私は正しいですか? 2)もし私がしたら、どうすればそれを上回ることができますか? 3)また、このトピックについては、0〜10^6 x軸が0〜2piに相当しますか?

EDIT1:私は一人の男の歌がある曲で言ったように)after fftshift

4: @seueverは、私は関数fftshiftを使用し、今ではより多くの私が期待したもののように見える提案されているよう。中間周波数は男のピッチだと思いますか? [私は2つのサウンドファイルを作りたい。 1つは音声のみ、もう1つは楽器付き]

+2

中心周波数を中央にシフトするには 'fftshift'を使用する必要があります – Suever

+0

@Sueverが機能しました。速い再生のおかげで – Maor

+0

はい周波数範囲は '[pi pi]'になります。正確な中心は、信号の全体的なパワーです。あなたは歌を歌う男のために特定の周波数(中心ではない)を指定したいと思うかもしれません。 '[pi、pi]'の範囲とサンプル数を使ってHzに変換し、男性の声に適した周波数を選択することができます。 – Suever

答えて

1

fftshiftを使用して中心周波数をスペクトルの中央にシフトします。

plot(abs(fftshift(fft(song1dtag)))); 

あなたは周波数にx軸を変換したい場合は、スペクトルが[-pi, pi]にまたがる知識を組み合わせたサンプルの数を使用することができます。この変換に関する詳細はin the examples in the documentation for fftです。

関連する問題