• 検索結果がありません。

Signal processing

N/A
N/A
Protected

Academic year: 2021

シェア "Signal processing"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

7. 信号処理

・オーディオデータの使用法

・フーリエ変換

(2)

オーディオデータの使用

・audioreadコマンドを用いるとファイルに保存された音声信号を読み込むことができる

・soundコマンドを用いると音声信号を再生できる

>> [f,freq]=audioread('test.wav'); >> size(f) ans = 211289 1 >> freq freq = 44100 >> x1=length(f)/freq x1 = 4.7911 >> x=linspace(0,x1,length(f)); >> plot(x,f); >> sound(f,freq); >> sound(f,0.7*freq); 約21万点のデータがある サンプリングレートは44100 Hz (1秒当たり4万4千100のデータ点) 音声データの長さは約4.8秒 再生 異なるレートで再生

(3)

フーリエ変換(1/2)

• フーリエ級数展開:周期的な信号は異なる周波数を持つ三角関数の重み付き線形結合

の形で表すことが出来る

(4)

フーリエ変換(1/2)

• (周期的な)信号は周波数成分の形で表すことができる

• フーリエ変換は周波数成分の分布を示している

(5)

周波数成分の数値計算

• fftコマンドを用いると(fast Fourier transformアルゴリズムによって)信号のフーリエ

変換を実行する

>> F=fft(f); >> fs=size(F) fs = 211289 1 >> F(10000) ans = -26.654 - 40.397i >> df=freq/length(F); >> xi=-freq/2:df:freq/2-df; >> plot(xi,abs(F)) サンプリング周波数の1/2以上の周波数の 信号は正しくサンプルされない (ナイキスト周波数) >> Fshift=fftshift(F); >> plot(xi,abs(Fshift)) Fは0成分が両端になっているため,fftshiftによっ て0の周波数成分が中央に来るようにしている

(6)

-1.5 -1 -0.5 0 0.5 1 1.5 0 0.02 0.04 0.06 0.08 0.1 25Hzの波を100Hzでサンプリング -1.5 -1 -0.5 0 0.5 1 1.5 0 0.02 0.04 0.06 0.08 0.1 75Hzの波を100Hzでサンプリング -1.5 -1 -0.5 0 0.5 1 1.5 0 0.02 0.04 0.06 0.08 0.1 -1.5 -1 -0.5 0 0.5 1 1.5 0 0.02 0.04 0.06 0.08 0.1 25Hzと75Hzの波が100Hzでサンプリング後に区別がつかない サンプリング周波数を、計測する信号の持つ最大周波数の2倍以上にする必要がある

(7)

>> t=linspace(0,1.0,2048); >> f=sin(2*pi*100*t)'; >> plot(t,f) >> xlim([0 0.1]) >> freq=length(f)/1.0 freq = 2048 >> F=fft(f); >> fs=size(F) fs = 2048 1 >> df=freq/length(F); >> xi=-freq/2:df:freq/2-df; >> Fshift=fftshift(F); >> plot(xi,abs(Fshift)/(2048/2)) >> xlim([0 200]) 時間 t: 0から1まで2048分割 波形 f: 周波数100の正弦波 波形 f をプロット サンプリング周波数 freq=2048/1 fftの実行 周波数空間の分解能 中心を0に 縦軸の値をデータ数の半分 で割ると,元の波形の振幅 と一致する. 0から200まで拡大

単一周波数の波で確認

(8)

ノイズ除去(1/2)

• 先ほどの音声にわざとノイズをのせてみる

>> f2=f+0.5*randn(size(f));

>> sound(f2,freq);

>> plot(x,f2)

• 信号を周波数領域で見ると

>> F2shift=fftshift(fft(f2));

>> plot(xi,abs(F2shift(:,1)))

(9)

ノイズ除去(2/2)

• 高周波数成分を取り除いてから逆フーリエ変換する

• 3kHz以下の周波数成分だけ取り出すフィルターを作る

• 周波数成分にフィルターをかけて,逆変換(ifftshiftとifft)を行う

>> filter=abs(xi)<3000;

>> f2filtered=ifft(ifftshift(F2shift.*filter’));

>> plot(xi,abs(F2shift.*filter’)(:,1))

>> sound(f2filtered,freq)

(10)

Exercise 7

1. ある周波数の正弦波のデジタルデータを作成し,オーディオファイ

ルとして再生せよ.そのデジタルデータを時間領域と周波数領域に

プロットした図をそれぞれ作成せよ.

2. 作成した正弦波のデータをtest.waveに加える.(2つ前のスライドで

ノイズを加えたように,正弦波を足す)正弦波の加わった信号を時間

領域と周波数領域にプロットした図をそれぞれ作成せよ.

3. 2で作成した信号から,正弦波をできるだけ取り除く方法を考えよ.

取り除いた結果を時間領域と周波数領域にプロットした図をそれぞれ

作成せよ.

参照

関連したドキュメント

パスワード 設定変更時にパスワードを要求するよう設定する 設定なし 電波時計 電波受信ユニットを取り外したときの動作を設定する 通常

※1 多核種除去設備或いは逆浸透膜処理装置 ※2 サンプルタンクにて確認するが、念のため、ガンマ線を検出するモニタを設置する。

張力を適正にする アライメントを再調整する 正規のプーリに取り替える 正規のプーリに取り替える

貸借若しくは贈与に関する取引(第四項に規定するものを除く。)(以下「役務取引等」という。)が何らの

燃料取り出しを安全・着実に進めるための準備・作業に取り組んでいます。 【燃料取り出しに向けての主な作業】

燃料デブリを周到な準備と 技術によって速やかに 取り出し、安定保管する 燃料デブリを 安全に取り出す 冷却取り出しまでの間の

1地点当たり数箇所から採取した 試料を混合し、さらに、その試料か ら均等に分取している。(インクリメ

・発電設備の連続運転可能周波数は, 48.5Hz を超え 50.5Hz 以下としていただく。なお,周波数低下リレーの整 定値は,原則として,FRT