基礎プロジェクトA

DSPによるフィルタの実装
05ID009伊野宏紀
背景
• ゼミで学んだディジタル信号処理の理論が
リアルタイム動作可能となるように、アルゴリ
ズムをDSPに実装する
• この実習で信号処理論をより理解する
目的
• 講義やゼミで学んだディジタルフィルタをDSP
で実装し、リアルタイム処理の実現に必要な
考え方、実現方法を学ぶ
• 今回は移動平均を用いて比較的簡単なロー
パスフィルタの設計を行う
DSPとは
• ディジタル信号処理を行うための演算処理装
置
• 信号処理に特化した実装がされている
• プログラムを書き換えるだけで多種多様な機
能を実現させることができる
移動平均とは
22 18
17
3
5
0 1
2
4つの値で平均をとる
3
4

22
1
4
3  5  17  22
 12
4

18
17
3
5
0 1
2
1つずらした4つの値で再び平均をとる
3

4 5
1
4

5  17  22  18
 13
4
移動平均の例
Amplitude
4
2
0
-2
-4
0
10
20
30
40
50
60
70
50
60
70
SampleNumber
Amplitude
2
1
0
-1
-2
0
10
20
30
40
SampleNumber
4点移動平均のブロック図
x[n  1]
x(n)

z
1 
x[n  2]
z
1 

x[n]  x[n  1]

x[n  3]
z
1

1
4

y (n)
x[n]  x[n  1]  x[n  2]  x[n  3]
N点移動平均のブロック図
N-1
x(n)

z
1


z
1


z
1


z
1

1
N

y(n)
自分の声のスペクトログラム
(あ い う え お)
8000
20
Frequency[Hz]
7000
6000
0
5000
-20
4000
-40
3000
-60
2000
-80
1000
0
0.5
1
1.5
Time[s]
2
2.5
3
-100
声とノイズを合成
8000
30
20
7000
10
Frequency[Hz]
6000
0
-10
5000
-20
4000
-30
3000
-40
2000
-50
-60
1000
0
-70
0.5
1
1.5
Time[s]
2
2.5
3
移動平均を用いたローパスフィルタ
を通した後のスペクトログラム
(N
=
8)
8000
20
7000
0
Frequency[Hz]
6000
-20
5000
-40
4000
3000
-60
2000
-80
1000
0
-100
0.5
1
1.5
Time[s]
2
2.5
3
周波数特性(8点移動平均)
サンプリング周波数:16[kHz]
1
0 .9
0 .8
Amplitude
0 .7
0 .6
0 .5
0 .4
0 .3
0 .2
0 .1
0
0
2000
4000
frequency [Hz]
6000
8000
今後の課題
Magnitude
• 更にフィルタ特性の良いフィルタを設計する。
Frequency[Hz]