音源の再帰的補正による スピーカの非線形歪低減

音源の再帰的補正による
スピーカの非線形歪低減
Non-linear distortion reduction for a loudspeaker
by recursive source signal equalization
修士論文
工学院大学大学院工学研究科
情報学専攻修士課程
計算機構成研究室
EM12004
加藤優基
目次
Page
1. 背景
・・・・・
5
2. 目的及びアプローチ
・・・・・
6
・・・・・
・・・・・
6
6
7
・・・・・
8
3-1 概要
3-2 ボルテラフィルタ
・・・・・
8
8
3-3 ミラーフィルタ
3-3-1Klippel のミラーフィルタ
3-3-2 非線形 2 次 IIR フィルタ
・・・・・
2-1 目的
2-2 アプローチ
2-3 本論文の構成
・・・・・
3. 過去の研究
・・・・・
4. 音源の再帰的補正による非線形歪補正処理
・・・・・
・・・・・
・・・・・ 15
4-1 導入
4-2 原理
4-2-1 一般的な再生システム
4-2-2 音源の補正による非線形歪の低減
4-2-3 再帰処理の導入
4-3 非線形歪補正システムモデル
4-4 処理の流れ
4-5 実験条件
4-5-1 実験環境
・・・・・
4-5-2 使用機材
4-5-3 使用音源
4-5-4 使用ソフトウェア
4-5-5 その他条件
4-6 実験結果
(a)基本実験
(b)再現性評価実験
(c)音源と環境の依存性評価実験
(d)環境変化による非線形歪低減推移の比較
・・・・・
-2-
10
10
13
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
15
15
15
16
17
19
20
22
22
24
25
25
25
26
26
30
31
33
・・・・・ 34
5. 補正周波数帯域選択処理
5-1 導入
5-2 原理
5-3 処理の流れ
5-4 実験
(a)周波数帯域選択の評価実験
(b)再現性評価実験
(c)音源と環境の依存性評価実験
・・・・・
・・・・・
34
34
34
38
38
39
40
(d)収束性に関する評価実験
・・・・・
41
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・ 44
6. 線形歪補正処理
6-1 導入
・・・・・
44
6-2 原理
6-3 処理の流れ
6-4 実験
(a)線形歪のみの低減実験
(b)線形歪・非線形歪の両方を低減する実験
・・・・・
・・・・・
44
45
47
47
49
6-5 まとめと考察
・・・・・
51
・・・・・
・・・・・
・・・・・
・・・・・ 55
7. 出力レベル補正処理
7-1 出力レベルの低減防止
7-1-1 導入
7-1-2 原理
7-1-3 実験条件
7-1-4 実験結果
(a)レベル補正なし
・・・・・
(b)出力時に最大値による係数で補正
(c)入力時に最大値による係数で補正
(d)出力時にパワー平均による係数で補正
(e)入力時にパワー平均による係数で補正
7-1-5 考察
7-2 出力レベル補正の改善
7-2-1 導入及び原理
7-2-2 実験条件
7-2-3 実験結果
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
7-2-4 考察
-3-
55
55
55
57
57
57
・・・・・
58
59
60
61
63
64
64
65
65
・・・・・
66
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
7-3 音源レベル補正による出力レベル復元
7-3-1 導入及び原理
7-3-2 実験条件
7-3-3 実験結果
7-3-4 考察
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
67
67
68
69
71
8. まとめ及び今後の課題
・・・・・ 72
謝辞
・・・・・ 73
参考文献
・・・・・ 73
本研究に関する対外発表
・・・・・ 74
付録1 本文未掲載グラフ一覧
・・・・・ 75
付録2 線形歪・非線形歪低減プログラム(出力補正) ・・・・・ 136
・・・・・ 155
付録3 収録位置の変更
付録 3-1 導入
付録 3-2 実験条件
付録 3-3 実験結果
付録 3-4 考察
・・・・・
・・・・・
・・・・・
・・・・・
155
155
157
160
・・・・・ 161
付録4 騒音計の歪測定
付録 4-1 導入
付録 4-2 実験条件
・・・・・
付録 4-3 実験結果
付録 4-4 考察
・・・・・
・・・・・
・・・・・
-4-
161
161
162
164
1. 背景
スピーカにより音を再生すると, 周波数特性が変化したり, 高調波な
どの歪が付加された音が出力される. 歪は音質劣化の原因となるため,
音質改善のために歪の低減が望まれる. 歪には線形歪と非線形歪があり,
線形歪は線形逆フィルタを用いることで低減可能であるが, 非線形歪は
線形関数でモデル化できないため, 低減が難しい[1]. 非線形歪を低減す
る手法はいくつか提案されており, 主なものにボルテラフィルタ[2][3]や
ミラーフィルタ[4][5]を用いた手法が提案されている. しかしこれらの手
法は高次の歪になると計算量が非常に多くなることや, モデル化誤差が
生じるなどの欠点がある. そのため, 非線形歪を高精度でかつ少ない計
算量で低減できる新たな手法の構築が望まれている.
-5-
2. 目的及びアプローチ
2-1 目的
本研究では, 高精度かつ少ない計算量で非線形歪を低減するアルゴリ
ズムを構築することを目的とする.
2-2 アプローチ
従来の手法における高精度化に対する主な課題は, 非線形システムの
モデル化誤差であった. そのため非線形システムのモデルを持たない手
法を導入する. 具体的にはシステムの線形成分のみインパルス応答を用
いてモデル化し, 入力信号に対する非線形成分のモデル化を行わず, 実
システムを用いて非線形成分を含む応答を計測する. 計測した応答から
線形成分を減算することにより, 出力に含まれる非線形成分を抽出する.
抽出した非線形成分に線形逆フィルタを通すことで, その非線形成分を
システムが出力するための入力信号, すなわち入力側に換算した非線形
歪信号算出する. この入力側に換算した非線形歪信号を入力信号から減
算することにより, 非線形歪を補正した入力信号を得る. この補正入力
信号を実システムに入力することにより, 非線形歪を低減した出力を得
ることができる. また一度の補正処理では完全に歪を補正することはで
きないため, 再帰的補正処理を導入する. 具体的には先ほど述べた非線
形歪補正処理により補正した第𝑘回目の補正入力信号を, 第𝑘 + 1回目の
入力信号として再帰的に実行する.
-6-
2-3 本論文の構成
この章では, 第 3 章以降の内容を説明する. 第 3 章ではボルテラフィル
タやミラーフィルタなど, 過去に行われた関連研究について記す. 第 4 章
では音源の再帰的補正による非線形歪補正の概略, 本手法の基本原理に
ついて説明し, 原理に基づいたアルゴリズムの構築と評価を行う. 第 5 章
ではノイズ対策のために導入した周波数選択処理について説明し, その
評価を行う. 第 6 章では非線形歪の低減処理に加え, 線形歪低減処理を加
えたアルゴリズムについて説明し, その評価を行う. 第 7 章では再帰回数
の増加に伴い出力レベルが減衰する問題を解決する処理を導入し, その
評価を行う. 第 8 章では総評及び今後の課題を記す.
-7-
3. 過去の関連研究
3-1 概要
一般的な歪は, 線形歪, 非線形歪の 2 つに分けることができる. 線形歪
とは線形システムで補正できる歪のことであり, 伝達関数による周波数
特性の変化としてモデル化できる歪である. 非線形歪とは線形システム
で補正できない歪のことであり, 倍音と呼ばれる高調波歪, 混変調歪な
どを指す. 非線形歪の低減は容易ではないが, いくつかの低減法が提案
されている. 代表的なものにボルテラフィルタ[2][3], ミラーフィルタ
[4][5], 位相可変フィルタ[6]などがある. 本章では今回の研究に関連の深
いボルテラフィルタとミラーフィルタについてそれぞれ本章 2, 3 節で概
説する.
3-2 ボルテラフィルタ[2][3]
非線形の入出力を持つシステムは, ボルテラ級数展開を用いて表すこ
とができる. ボルテラ核が有限であるならば, ボルテラ級数展開は以下
の式で表すことができる.
𝑁−1
𝑦(𝑛) = ∑ ℎ1 (𝑘1 )𝑥(𝑛 − 𝑘1 )
𝑘1 =0
𝑁−1 𝑁−1
+ ∑ ∑ ℎ2 (𝑘1 , 𝑘2 )𝑥(𝑛 − 𝑘1 ) 𝑥(𝑛 − 𝑘2 )
𝑘1 =0 𝑘2 =0
𝑁−1 𝑁−1 𝑁−1
+ ∑ ∑ ∑ ℎ3 (𝑘1 , 𝑘2 , 𝑘3 )
𝑘1 =0 𝑘2 =0 𝑘3 =0
(3 − 1)
𝑥(𝑛 − 𝑘1 )𝑥(𝑛 − 𝑘2 )𝑥(𝑛 − 𝑘3 ) + ⋯
-8-
ここで𝑥(𝑛), 𝑦(𝑛)はそれぞれ標本化された入力信号と出力信号であり
, ℎ1 (𝑘1 ), ℎ2 (𝑘1 , 𝑘2 ), ℎ3 (𝑘1 , 𝑘2 , 𝑘3 ), ⋯はそれぞれ1, 2, 3, ⋯次離散ボルテラ
核, N はフィルタのシステム長である. スピーカの非線形歪はボルテラ核
としてモデル化できる. ボルテラ核は周波数応答法や適応ボルテラフィ
ルタを利用して求められる. 周波数応答法とは, スピーカシステムに正
弦波を入力し, そのときの出力と対応する入力スペクトルを用いて, ス
ピーカシステムのボルテラ周波数応答を求める手法であり, 適応ボルテ
ラフィルタとは, ボルテラフィルタに適応信号処理を導入したものであ
る. 求めたボルテラ核より求めたボルテラフィルタから, 線形化システ
ムを構成することにより非線形歪低減機能を実装する. ここで線形化シ
ステムとは, ボルテラフィルタ, 線形逆フィルタ, スピーカシステムの線
形, 非線形成分及び遅延素子を用いて, 信号を互いに打ち消す複数の信
号を出力するように構成したシステムである. 2 次非線形歪補正の場合,
入力信号を遅延素子とスピーカシステムの 1 次非線形成分(2 次成分)に通
し出力した信号と, 入力信号を 2 次ボルテラフィルタ, 線形逆フィルタと
スピーカシステムの線形成分(1 次成分)に通し出力した信号の 2 信号の位
相が 180°異なることを利用し, 互いに打ち消すことにより非線形歪を低
減する. また 3 次以降の非線形歪も同様の原理で低減される[2][7]. この
方法には, 歪の発生要因によらずに, あらゆる非線形システムに対応で
きるメリットがある. しかし計算量は, 求めるべき係数の数から, 𝑛次ま
での非線形歪を対象とする場合, O(𝑁 𝑛 )となる. そのため高次の非線形歪
の低減は困難であり, 現実的には 3 次までの非線形歪が対象となる.
-9-
3-3 ミラーフィルタ
ミラーフィルタはスピーカシステムの非線形動作方程式に基づいてス
ピーカのモデル化を行う. 動作方程式には線形, 非線形両者のパラメー
タがあり, 各パラメータはインピーダンス, 振動板変位の特性などから
求め, 求めたパラメータから補正フィルタを生成する. ミラーフィルタ
には Klippel のミラーフィルタ[4]及びそれを竹村らが改良した非線形 2
次 IIR フィルタ[5]があり, どちらでも本章 2 節で述べたボルテラフィル
タと比べ, フィルタの設計及び適応に必要な計算量が大幅に少ない[5].
両者の詳細は本章 3-1 節及び 3-2 節で述べる.
3-3-1 Klippel のミラーフィルタ[4]
Klippel のミラーフィルタは, ボイスコイル変位をパラメータとする非
線形性を用いて非線形歪補正信号を生成するアナログフィルタである.
Klippel のミラーフィルタより補正入力信号𝑈𝐿 (𝑡)(式(3 − 10))を求める手
順を式(3 − 5)~(3 − 9)を交え以下に記す. ただし, 以下の式中で用いられ
る変数の詳細は表 3-1 の通りである.
- 10 -
表 3-1 ミラーフィルタ変数一覧
変数名
値, 詳細[単位]
𝑓0
最低共振周波数[Hz]
𝜔0
2𝜋𝑓0 [rad/sec]
𝑄0
𝑓0 での共振の鋭さ[単位なし]
𝑄𝑚
𝑓0 での機械振動系の共振の鋭さ[単位なし]
𝑅𝑑𝑐
ボイスコイル直流抵抗[Ω]
𝑚0
スピーカ振動系等価質量[kg]
𝑅𝑚
振動系機械抵抗[N・sec/m]
𝐵𝑙0
力係数[wb/m]
𝐾0
振動系スティフネス[N/m]
𝐴0
アナログ部のゲイン[単位なし]
𝑈(𝑡)
入力信号(時間領域)[V]
𝑈𝐿 (𝑡)
非線形歪を補正した入力信号[V]
𝑓𝑠
サンプリング周波数[Hz]
ただし, 表 3-1 中の𝐵𝑙0 , 𝐴0 , 𝑅𝑑𝑐 , 𝑚0 , 𝑅𝑚 , 𝐾0 は実計測により求め, 𝐺0 , 𝑄0 , 𝑄𝑚
は以下の式(3 − 2, 3 − 3, 3 − 4)より算出する.
𝐵𝑙0 ∙ 𝐴0
𝐺0 =
𝑅𝑑𝑐 ∙ 𝑚0
𝑄0 =
√𝑚0 ∙ 𝐾0
(3 − 2)
(3 − 3)
𝐵𝑙0 2
𝑅𝑚 +
𝑅𝑑𝑐
- 11 -
𝑄𝑚 =
√𝑚0 ∙ 𝐾0
𝑅𝑚
(3 − 4)
Klippel のミラーフィルタにおける補正入力信号𝑈𝐿 (𝑡)を求める手順
1. スピーカの振動系の線形微分方程式は次の式で表現できる.
𝐵𝑙 ∙ 𝐴0 ∙ 𝑈(𝑡)
𝑑2𝑥
𝑑𝑥
𝐵𝑙 2 𝑑𝑥
= 𝑚0 2 + 𝑅𝑚
+𝐾∙𝑥+
𝑅𝑑𝑐
𝑑𝑡
𝑑𝑡
𝑅𝑑𝑐 𝑑𝑡
𝐺0 ∙ 𝑈(𝑡) =
𝑑 2 𝑥 𝜔0 𝑑𝑥
+
∙
+ 𝜔0 2 ∙ 𝑥
2
𝑑𝑡
𝑄0 𝑑𝑡
(3 − 5)
(3 − 6)
2. ボイスコイル駆動系の非線形𝐵𝑙(𝑥)は次式で表現でき, 𝐵𝑙0 は力定数,
𝑏(𝑥)は非線形成分である.
𝐵𝑙(𝑥) = 𝐵𝑙0 ∙ 𝑏(𝑥) = 𝐵𝑙0 ∙ (1 + 𝑏1 ∙ 𝑥 + 𝑏2 ∙ 𝑥 2 + ⋯ )[Wb/m] (3 − 7)
3. ボイスコイル電磁制動系の非線形はボイス駆動系の式を用いて次式で
表現できる.
𝐵𝑙 2 (𝑥) 𝐵𝑙0 2 ∙ 𝑏 2 (𝑥)
=
[N ∙ sec/m]
𝑅𝑑𝑐
𝑅𝑑𝑐
(3 − 8)
4. ダンパ等の振動系支持系スティフネス非線形𝐾(𝑥)は以下の式で表現
でき, 𝐾0 はばね定数, 𝑘(𝑥)は非線形成分である.
𝐾(𝑥) = 𝐾0 ∙ 𝑘(𝑥) = 𝐾0 ∙ (1 + 𝑘1 ∙ 𝑥 + 𝑘2 ∙ 𝑥 2 + ⋯ )[N/m]
(3 − 9)
5. 1~4 より, ボイスコイル変位𝑥をパラメータとする非線形性を用いて補
正信号𝑈𝐿 (𝑡)を求めると次式(3 − 10)のようになる.
𝐺0 ∙ 𝑈𝐿 (𝑡) ∙ 𝑏(𝑥) =
𝑑2𝑥
𝑄0
𝜔0 𝑑𝑥
∙ )
( 2 + 𝑘(𝑥) ∙ 𝜔0 2 ∙ 𝑥 + (1 + (1 −
) ∙ (𝑏 2 (𝑥) − 1)) ∙
𝑑𝑡
𝑄𝑚
𝑄0 𝑑𝑡
(3 − 10)
- 12 -
3-3-2 非線形 2 次 IIR フィルタ[5]
竹村らは先ほどの Klippel のミラーフィルタを改良し, 振動板の変位𝑥
を離散化した𝑥(𝑛)より, 離散速度𝑣(𝑛), 離散加速度𝑎(𝑛)を導く方法とし
たことで, 計算機上で容易に処理できるような非線形 2 次 IIR フィルタを
提案した. 𝑥(𝑛)は式(3 − 11)で求められる. 式(3 − 11)中に現れる変数に
ついては式(3 − 12)~(3 − 15)から求められる. なお, 𝑛は信号の要素番号,
𝑧 −1 , 𝑧 −2 はそれぞれ 1 次, 2 次遅延を表し, 式(3 − 12)~(3 − 15)中に記述し
た変数の意味は, 本章 1 節で記述したものと同様の意味である.
𝑥(𝑛) = 𝐺0 ∙ 𝑧
−1
ℎ𝑥0 + ℎ𝑥1 ∙ 𝑧 −1 + ℎ𝑥2 ∙ 𝑧 −2
∙(
) ∗ 𝑈(𝑛)
1 + 𝐵1 ∙ 𝑧 −1 + 𝐵2 ∙ 𝑧 −2
𝜔0 2
2 ∙ 𝑓𝑠 2
𝐵1 =
𝛼
𝜔0
𝜔0 2
1−
+
2 ∙ 𝑄0 ∙ 𝑓𝑠 4 ∙ 𝑓𝑠 2
𝐵2 =
𝛼
1
ℎ𝑥1 4 ∙ 𝑓𝑠 2
ℎ𝑥0 = ℎ𝑥2 =
=
2
𝛼
(3 − 11)
−2 +
(3 − 12)
(3 − 13)
(3 − 14)
𝜔0
𝜔0 2
𝛼 =1+
+
2 ∙ 𝑄0 ∙ 𝑓𝑠 4 ∙ 𝑓𝑠 2
(3 − 15)
以上の𝑥(𝑛), 𝑣(𝑛), 𝑎(𝑛)を用いると, 離散非線形歪補正信号𝑢𝐿 (𝑛)は式
(3 − 16)で表現でき, また𝑢𝐿 (𝑛)は図 3-1 に示す非線形 2 次 IIR フィルタで
実現できる.
- 13 -
𝑢𝐿 (𝑛) =
1
𝑎(𝑛)
𝑥(𝑛)
+ 𝑘(𝑥(𝑛)) ∙ 𝜔0 2 ∙
(
𝐺0
𝑏(𝑥(𝑛)) 𝐺0
+ (1 + (1 −
𝑄0
𝜔0 𝑣(𝑛)
2
∙
) ∙ (𝑏(𝑥(𝑛)) − 1)) ∙
)
𝑄𝑚
𝑄0 𝐺0
(3 − 16)
hx0
hx1
G0
x(n)
hx2
u(n)
uL(n)
-B1
z^(-1)
C(x(n))
-B2
z^(-1)
D(x(n))
1/b(x(n))
E(x(n))
図 3-1 非線形 2 次 IIR フィルタブロック図
この非線形 2 次 IIR フィルタで実現した𝑢𝐿 (𝑛)をスピーカシステムから
再生することで, 非線形歪を補正することができる. しかしこれらのミ
ラーフィルタはボイスコイルの振動系の非線形歪のみを考慮しているた
め, 他の要因により生じた非線形歪を低減できないというデメリットが
ある. またどちらのミラーフィルタにおいても実際のスピーカの動作を
完全に記述したものではないため, モデル化誤差が発生する. そのため
非線形歪の低減には限界がある. またミラーフィルタにおける非線形歪
の低減量は, 本章 2 節で説明したボルテラフィルタのそれより低いこと
も報告されている[8].
- 14 -
4. 音源の再帰的補正による非線形歪補正処理
4-1 導入
第 3 章で紹介した手法の課題点は非線形歪を正確にモデル化できない
ことにあった. そこで本論文では実機材を用いて算出した非線形歪成分
を用いることで, 非線形システムのモデル化を行わずに歪低減を行う手
法を提案する. また再帰的に補正処理を行うことでより高精度な歪の低
減を実現する.
4-2 原理
本手法は(1)音源の補正による非線形歪の低減と(2)再帰処理の導入に
より構成される. はじめに, 本手法で用いる一般的な再生システムのモ
デルについて本章 2-1 節で説明する. また本手法の(1), (2)それぞれの原
理を本章 2-2 節, 2-3 節で説明する.
4-2-1 一般的な再生システム
まず非線形歪が生じる一般化した非線形再生システムについて述べる.
非線形再生システムの出力信号𝑦(𝑛)は, 入力信号を𝑥(𝑛)として次式でモ
デル化できる.
𝑁−1
𝑦(𝑛) = ∑ ℎ(𝑚)𝑥(𝑛 − 𝑚) + 𝑒(𝑛, x)
𝑚=0
(4 − 1)
= ℎ(𝑛) ∗ 𝑥(𝑛) + 𝑒(𝑛, x)
ここで, ℎ(𝑛)はシステムのインパルス応答(線形成分), N はインパルス応
答の長さであり, 式中の∗は畳み込み演算子, x は関数𝑥(𝑛)を引数とする
ことを表し, 𝑒(𝑛, x)は入力 x により変わる非線形歪信号を表す. また両辺
- 15 -
をフーリエ変換し, 周波数領域に変換すると
𝑌(𝜔) = 𝑋(𝜔) ∙ 𝐻(𝜔) + 𝐸(𝜔, X)
(4 − 2)
となる. ここで X は関数𝑋(𝜔)を引数とすることを表し, 𝐸(𝜔, X)は入力の
周波数特性 X により変わる非線形歪の周波数特性を表す. ここで𝐸(𝜔, X)
は, Xに対してなめらかな連続関数としてモデル化できると仮定する. 図
4-1 は再生システムのモデルであり, 一般的な線形システムに非線形シス
テムが並列に接続された構成となっている.
図 4-1 一般化した非線形再生システムのモデル
4-2-2 音源の補正による非線形歪の低減
前節の非線形成分𝐸(𝜔, X)は次式で算出できる.
(4 − 3)
𝐸(𝜔, 𝑋) = 𝑌(𝜔) − 𝑋(𝜔) ∙ 𝐻(𝜔)
実際に𝐸(𝜔, 𝑋)を算出する際には, 𝐻(𝜔)は事前に測定したインパルス応答
から算出し, また𝑌(𝜔)は, 入力信号𝑋(𝜔)を実システムで再生すると同時
にその応答を収録することで得られる. 本手法では, この𝐸(𝜔, 𝑋)を利用
して入力信号を補正する. 補正入力信号𝑋̃(𝜔)は次式で求める.
𝑋̃(𝜔) = 𝑋(𝜔) − 𝐸(𝜔, X)/𝐻(𝜔)
(4 − 4)
この𝑋̃(𝜔)を新たな入力信号とすることで非線形歪を低減できる. これ
についての証明を以下に示す. この信号𝑋̃(𝜔)をシステム𝐻(𝜔)に入力した
- 16 -
時の出力信号𝑌̃(𝜔)は次式となる.
𝑌̃(𝜔) = 𝑋̃(𝜔) ∙ 𝐻(𝜔) + 𝐸(𝜔, ̃
X)
̃)
= (𝑋(𝜔) − 𝐸(𝜔, X)/𝐻(𝜔)) ∙ 𝐻(𝜔) + 𝐸(𝜔, X
= 𝑋(𝜔) ∙ 𝐻(𝜔) − 𝐸(𝜔, X) + 𝐸(𝜔, ̃
X)
= 𝑋(𝜔) ∙ 𝐻(𝜔) + 𝐷(𝜔, 𝑋̃, 𝑋)
(4 − 5)
ここで𝐷(𝜔, 𝑋̃, 𝑋) = 𝐸(𝜔, 𝑋̃) − 𝐸(𝜔, 𝑋)である. ここで線形出力𝑋(𝜔) ∙
𝐻(𝜔)に比べ非線形歪𝐸(𝜔, X)の大きさが十分小さい(|𝑋(𝜔) ∙ 𝐻(𝜔)| ≫
|𝐸(𝜔)|)と仮定すると, 両辺を|𝐻(𝜔)|で割ることで|𝑋(𝜔)| ≫ |𝐸(𝜔)/𝐻(𝜔)|
であるから, 式(4 − 4)より|𝑋(𝜔)| ≫ |𝑋(𝜔) − 𝑋̃(𝜔)|が成り立つ. そのため
非線形歪𝐸(𝜔, X)と𝐸(𝜔, ̃
X)は近い値となり, |𝐸(𝜔, 𝑋)| ≫ |𝐷(𝜔, 𝑋̃, 𝑋)|となる.
すなわち理論上非線形歪が低減する.
4-2-3 再帰処理の導入
本章 2-2 節の非線形歪低減は, 非線形システムを線形システムとして
近似した補正処理である為, 𝐷(𝜔, 𝑋̃, 𝑋)が残る. この近似誤差としての非
線形歪をより低減させるため, 再帰処理の導入を行う. 再帰処理は, 非線
形問題の解法によく利用される手法である[9]. 以後の説明では簡略化の
ため引数𝜔を省略する. 第 2 回目の入力信号𝑋̃ は, 第 1 回補正後の歪
𝐷(𝑋̃, 𝑋)を低減するように次式で求める.
𝑋̃ = 𝑋̃ − 𝐷(𝑋̃, 𝑋)/𝐻
(4 − 6)
- 17 -
第 2 回目の入力に対する出力𝑌̃は
𝑌̃ = 𝑋̃ 𝐻 + 𝐸 (𝑋̃ )
= 𝑋̃𝐻 − 𝐷(𝑋̃, 𝑋) + 𝐸 (𝑋̃ )
= 𝑋̃𝐻 − 𝐸(𝑋̃) + 𝐸(𝑋) + 𝐸 (𝑋̃ )
= 𝑋𝐻 − 𝐸(𝑋) − 𝐸(𝑋̃) + 𝐸(𝑋) + 𝐸 (𝑋̃ )
= 𝑋𝐻 + 𝐷 (𝑋̃ , 𝑋̃ )
(4 − 7)
となる. 同様に第 3 回目の入力信号𝑋̃ は第 2 回補正後の歪𝐷 (𝑋̃ , 𝑋̃)を
低減するように求める. 第 1, 2, 3 回目の入力信号𝑋, 𝑋̃, 𝑋̃ をそれぞれ
𝑋0 , 𝑋1 , 𝑋2 , 出力信号𝑌, 𝑌̃, 𝑌̃ をそれぞれ𝑌0 , 𝑌1 , 𝑌2 とすれば, 補正回数を
𝐿(𝐿 = 1, 2, ⋯)として次式で一般化できる.
𝑋𝐿 = 𝑋𝐿−1 − 𝐷(𝑋𝐿−1 , 𝑋𝐿−2 )/𝐻
𝑌𝐿 = 𝑋0 𝐻 + 𝐷(𝑋𝐿 , 𝑋𝐿−1 )
(4 − 8)
(4 − 9)
ここで𝑋−1 = 0, 𝐸(0) = 0と定義する. 再帰的補正により非線形歪が理論
上低減することを示す. 本章 2-2 節において, 𝐿 = 1で|𝐷(𝑋𝐿 , 𝑋𝐿−1 )| ≪
|𝐷(𝑋𝐿−1 , 𝑋𝐿−2 )|となることを示した. 𝐿 = 𝑘で
|𝐷(𝑋𝑘 , 𝑋𝑘−1 )| ≪ |𝐷(𝑋𝑘−1 , 𝑋𝑘−2 )|が成り立つと仮定すると, 式(4 − 8)より
|𝑋𝑘+1 − 𝑋𝑘 | ≪ |𝑋𝑘 − 𝑋𝑘−1 |となり, X の更新量が少なくなる. このため
|𝐷(𝑋𝑘+1 , 𝑋𝑘 )| ≪ |𝐷(𝑋𝑘 , 𝑋𝑘−1 )|となり, 𝐿 = 𝑘 + 1についても成り立つとわか
る.
- 18 -
4-3 非線形歪補正システムモデル
非線形歪の補正は, 音源を再帰的に補正することで実現する. 図 4-2 は,
本システムのブロック図である. 元音源の信号𝑋𝐿 (𝜔) (𝐿 = 0)を再生シス
テムに通し, それにより出力された信号𝑌𝐿 (𝜔) (𝐿 = 0)を非線形歪補正処
理にかける. 非線形歪低減処理を行った補正入力信号𝑋𝐿 (𝜔) (𝐿 = 𝐿 + 1)
を再生システムに通す. それにより出力された信号𝑌𝐿 (𝜔) (𝐿 = 𝐿 + 1)を
非線形歪補正処理にかける. これらの処理を𝐿を増加させながら再帰的に
行い, 𝐿 = 𝑀で出力信号𝑌𝑀 (𝜔)を出力する. ここで𝑀は補正回数である.
XL(ω )
if L=0
L←0
XL(ω )
if L=M
YM(ω )
再生システム
(実システム)
if L>0
L←L+1
if L<M
非線形歪
補正処理
図 4-2 再帰的非線形歪補正システム
- 19 -
YL(ω )
4-4 処理の流れ
実際の処理の流れを順に沿って説明する. この処理のフローチャート
を図 4-3 に示す.
開始
①インパルス応答h(n)の測定
②音源信号x(n)を生成または読込
③出力信号y(n)をマイクロホンで収録
④x(n),y(n),h(n)をフーリエ変換し, 周波数特性X 0, Y0, H及び
理想周波数成分X0Hを算出
⑤Lに0を代入
⑥非線形成分DLを DL=YL-X0H により算出
⑦補正入力信号XL+1を XL+1=X L-DL/H により算出
⑧補正信号XL+1を出力し, YL+1及び補正信号の非線形成分DL+1を算出
⑨P(DL+1)>min[P(D1~L)]+d
YES
NO
⑩Lに1加える
終了
図 4-3 非線形歪補正フローチャート
- 20 -
処理の流れ
①スピーカからマイクロホンまでのインパルス応答ℎ(𝑛)を計測する. 本
研究では TSP 法を用いた.
②音源信号𝑥(𝑛)をファイルより読み込む.
③音源信号𝑥(𝑛)をスピーカから出力すると同時に, マイクロホンで入力
し, システムの出力信号𝑦(𝑛)として記録する.
④音源信号𝑥(𝑛), 出力信号𝑦(𝑛), インパルス応答 ℎ(𝑛)をそれぞれフーリエ
変換し, 𝑋0 , 𝑌0 , 𝐻を求め, 出力の線形成分𝑋0 𝐻を算出する.
⑤補正回数(L)を初期化(L=0)する.
⑥④で求めた𝑋0 𝐻及び𝑌𝐿 より非線形成分 𝐷(𝑋𝐿 , 𝑋𝐿−1 )を求める.
⑦補正信号𝑋𝐿+1 = 𝑋𝐿 − 𝐷(𝑋𝐿 , 𝑋𝐿−1 )/𝐻を求める.
⑧𝑋𝐿+1 を逆フーリエ変換し, 補正した出力信号
𝑥𝐿+1 (𝑛)を求め, スピーカから出力すると同時に𝑦𝐿+1 (𝑛)を記録し, フーリ
エ変換により𝑌𝐿+1 を求める. また, 線形成分𝑋0 𝐻より, 𝑋𝐿+1 に対する非線
形成分𝐷(𝑋𝐿+1 , 𝑋𝐿 )を求める.
𝐿
⑨𝑃(𝐷(𝑋𝐿+1 , 𝑋𝐿 )) > 𝑚𝑖𝑛𝑘=1
[𝑃(𝐷(𝑋𝑘 , 𝑋𝑘−1 ))] + 𝑑を満たすならば⑩の処理
に移る. 満たさない場合, アルゴリズムを終了する. ただし
𝑏
[𝑓(𝑘)]は, 𝑎 ≤ 𝑘 ≤ 𝑏における𝑓(𝑘)の最小値を表す.
, 𝑚𝑖𝑛𝑘=𝑎
⑩補正回数 L を+1 し, ⑥へ移る.
このフローチャート中の𝑃(𝐷𝐿 )は補正なしの出力𝑌0 のレベルを基準と
した全帯域での非線形歪のレベル𝐷𝐿 = 𝐷(𝜔, 𝑋𝐿 , 𝑋𝐿−1 )を表し, 式(4 − 10)
で計算する.
2
∑𝑁𝐹𝐹𝑇/2
𝑚=1 |𝐷𝐿 (𝜔𝑚 )|
𝑃(𝐷𝐿 ) = 10 𝑙𝑜𝑔10 ( 𝑁𝐹𝐹𝑇/2
)
∑𝑚=1 |𝑌0 (𝜔𝑚 )|2
(4 − 10)
ここで𝜔𝑚 は離散角周波数, 𝑚(𝑚 = 1, 2, ⋯ )は周波数インデックス, 𝑁𝐹𝐹𝑇
は FFT 長, 𝑑はアルゴリズム終了基準値である.
- 21 -
4-5 実験条件
本節では, 本章 6 節のアルゴリズム評価実験の条件を説明する.
4-5-1 実験環境
実験環境は無響室(工学院大学八王子キャンパス 9 号館 9-204 室(図
4-3))と一般室内(同 9 号館無響室前室 9-202 室 (以下一般室内 A)(図 4-4)
及び同大学新宿キャンパス 4F ラウンジ(以下一般室内 B)(図 4-5))である.
図 4-3 無響室(八王子校舎 9 号館 9-204 室)
- 22 -
図 4-4 一般室内 A(八王子校舎 9 号館 9-202 室)
図 4-5 一般室内 B(新宿校舎 4F ラウンジ)
- 23 -
4-5-2 使用機材
使用機材は PC, 騒音計(マイクロホンとして利用), スピーカ, AD-DA
変換器の4つである. 詳細について記載する. PC(図 4-6)は DELL
LATITUDE D630, 騒音計(図 4-7)はリオン社製の NA-20, スピーカ(図
4-8)はヨシナ社輸入の製品(11W, 中国製), AD-DA 変換器(図 4-9)は
M-Audio Fast Track Pro(Avid Technology, inc 製)を用いた.
図 4-6 PC
図 4-7 騒音計
図 4-8 スピーカ
図 4-9 AD-DA 変換器
- 24 -
4-5-3 使用音源
正弦波 4 種類(周波数①250Hz, ②500Hz, ③1000Hz, ④2000Hz, 振幅
0. 4), 及び一般音楽 4 種類(⑤ピアノ, ⑥弦楽器, ⑦オーケストラ, ⑧女性
ボーカル)である. 正弦波の長さは216 点であり, taper 処理として, 2400
点の半余弦窓が両端にかけられている. 一般音楽は RWC 研究用音楽デ
ータベースを用い, 10 秒程度に切り出したものとした. ピアノは“クラシ
ック音楽 No. 27”, 弦楽器は“クラシック音楽 No. 14”, オーケストラは“ク
ラシック音楽 No. 3”, 女性ボーカルは“ポピュラー音楽 No. 17”である.
4-5-4 使用ソフトウェア
本システムの処理は MATLAB 上のプログラムで実現している. 標準
の関数以外に, Math works 社が公開している関数 pa_wavplayrecord.m
を利用している. この関数は音の入出力を同時に同期して実行できる特
徴を持つ. オーディオ用ドライバは遅延の少ない ASIO を用いている.
4-5-5 その他条件
本章 5-1~5-4 節に掲載していないその他の条件を掲載する.
騒音計レンジ・・・80~100dB
騒音計フィルタ・・・A 特性
サンプリング周波数・・・ 44.1kHz
FFT 長・・・ 2⌈log2 𝑆⌉
(S: 信号長)
⌈𝑥⌉: 上への整数の丸め
振幅調整係数・・・正弦波(5-3①~④):0.2, 一般音楽(5-3⑤~⑧):0.4
- 25 -
4-6 実験結果
(a)基本実験
今回の実験では, 本章で説明したアルゴリズムの評価を行う. アルゴ
リズムに基づく処理を 1 回実行し, 原理通り動作し, 歪が低減するか確か
める. 以下の 6 つのグラフ(図 4-10 (A)~(F))は各動作の過程における入力
と出力の周波数特性である. 図 4-10(A)は入力信号𝑋0 , 図 4-10(B)は𝑋0 入
力時の出力信号𝑌0 , 図 4-10(C)は 1 回補正後の入力信号𝑋1 , 図 4-10(D)は
𝑋1 入力時の出力信号𝑌1 , 図 4-10(E)は 2 回補正後の入力信号𝑋2 , 図 4-10(F)
は𝑋2 入力時の出力信号𝑌2 である. またグラフの縦軸は図 4-10(A), (C), (E)
が電圧レベル[dBV], 図 4-2(B), (D), (F)が音圧レベル[dB]であり, 横軸は
いずれも周波数[kHz]である. なお図 4-10(A)~(F)上にある𝑃(𝑋0 ), 𝑃(𝐷0 )な
どは, 𝑋0 , 𝐷0 などのパワーを示し, 𝐷0 , 𝐷1 , 𝐷2 はそれぞれ𝑌0 , 𝑌1 , 𝑌2 の非線形
歪成分を示す.
Original input |X0| (P(X0) = -18dB)
-10
Input voltage level [dBV]
-20
-30
-40
-50
-60
-70
-80
-90
-100
0
2
4
6
8 10 12 14
Frequency [kHz]
図 4-10(A) 音源信号𝑋0
- 26 -
16
18
20
Original response |Y0| (P(Y0) = 74.5dB, P(D0) = 72.6dB)
80
Sound pressure level [dB]
70
60
50
40
30
20
10
0
-10
0
2
4
6
8 10 12 14
Frequency [kHz]
16
18
20
図 4-10(B) 信号𝑋に対するスピーカの出力信号𝑌0
1st equalized input |X1| (P(X1) = -18.1dB)
-10
Input voltage level [dBV]
-20
-30
-40
-50
-60
-70
-80
-90
-100
0
2
4
6
8 10 12 14
Frequency [kHz]
16
18
図 4-10(C) 補正(1 回目)した入力信号𝑋1
- 27 -
20
1st equalized response |Y1| (P(Y1) = 72.6dB, P(D1) = 69.3dB)
80
Sound pressure level [dB]
70
60
50
40
30
20
10
0
-10
0
2
4
6
8 10 12 14
Frequency [kHz]
16
18
20
図 4-10(D) 信号𝑋̃に対するスピーカの出力信号𝑌1
2nd equalized input |X2| (P(X2) = -18dB)
-10
Input voltage level [dBV]
-20
-30
-40
-50
-60
-70
-80
-90
-100
0
2
4
6
8 10 12 14
Frequency [kHz]
16
18
図 4-10(E) 補正(2 回目)した入力信号𝑋2
- 28 -
20
2nd equalized response |Y2| (P(Y2) = 68.7dB, P(D2) = 67.8dB)
80
Sound pressure level [dB]
70
60
50
40
30
20
10
0
-10
0
2
4
6
8 10 12 14
Frequency [kHz]
16
18
20
図 4-10(F) 信号𝑋̃に対するスピーカの出力信号𝑌2
図 4-10 (A)(以下図 4-10 は省略)は音源信号の周波数特性であり, 歪成
分が含まれていないので, 正弦波 2000Hz の成分だけが表示されている.
(B)はスピーカから出力された信号の周波数特性を表しており, 2000Hz
成分のほかに非線形歪による倍音が多く含まれている. (C)は 1 回補正を
行った入力信号の周波数特性を表している. (A)のスペクトラムと比べ歪
が増えている. これは音源信号に歪を打ち消すための歪成分(−𝐷(X, 0)/
𝐻)が加えられているためである(式(4 − 8)参照). また 0~9kHz に-98dB 程
度の雑音が発生している. これは暗騒音がフィードバックされたことに
より, ノイズフロアが上昇したものと思われる. (D)は 1 回補正をかけた
音源信号に対する入力信号の周波数特性を表しており, 補正を加える前
の信号に対応する(B)と比較すると, 2 倍音は約 5dB, 4 倍音は約 6dB, 5 倍
- 29 -
音は約 11dB, 7 倍音は約 5dB 減少しており, 全体のレベルで見ると 2.9dB
減少している. (E) は 2 回補正を行った入力信号の周波数特性を表してい
る. 1 回目の補正信号(C)と比べると, 主要な倍音のレベルが上がり, 歪を
打ち消すための成分が増加していることがわかる. また, ノイズフロア
が(C)より 2dB 程度増加することがわかる. これは(C)と同様に雑音のフ
ィードバックによって増加したものと考えられる. (F)は 2 回補正をかけ
た音源信号に対する入力信号の周波数特性を表しており, 1 回補正後であ
る(D)と比較すると, 2 倍音は約 3dB, 3 倍音は約 2dB, 6 倍音は約 3dB 減
少し, 全体のレベルは 3.9dB 減少した. 以上により, 提案法が原理通り正
しく動作することが確認された.
(b)再現性評価実験
本節では複数回実行しても安定して同じような歪の低減効果が得られ
るか検証する実験を行う. 実験場所は無響室, 使用音源は 2000Hz 正弦波
である. 本実験では 5 回同じ処理を実行した. 実験結果を図 4-11 に示す.
このグラフは補正回数に対する非線形歪の低減レベルを表しており, 横
軸がレベルの測定を行った回数[回], 縦軸が非線形歪のレベル[dB]であ
る.
- 30 -
Evaluation of stability
Non-Linear distortion level [dB]
75
1st
2nd
3rd
4th
5th
70
65
60
55
50
45
40
35
30
0
1
2
3
4
Number of iteration L (times)
5
6
図 4-11 繰り返し実験の結果
図 4-11 より, 同じ処理を複数回実行してもほぼ同じレベルの非線形歪
低減効果が得られることがわかる. この結果より, 提案法の再現性が確
認された.
(c)音源と環境の依存性評価実験
本章 6 節(a), (b)の評価実験では音源として 2000Hz の正弦波を用いた.
本節では, 他の音源によっても同様に非線形歪を低減できるか検証する
ため, 音源を変えた実験を行う. 使用音源は本章 5-3 節で示した 8 音源で
ある. また暗騒音及び反響の有無が非線形歪低減量に与える影響を調べ
るために, 無響室(9-204 室)と一般室内 A(9-202 室)で非線形歪低減量の比
較実験を行った. 使用音源は本章 5-3 節の 8 音源である. 図 4-12 は 8 つ
の音源に対し最終的に低減したレベルを示している. 図中の横軸は音源
- 31 -
の種類, 縦軸は非線形歪の低減量である. 図 4-12 より, 音源によりばら
つきがあるものの, いずれの音源でも非線形成分が低減し, 提案法が
様々な音源に対し有効であることが確認された. また無響室と一般室内
での最終低減レベルを比較すると 250Hz 正弦波を除き全て無響室の低減
率の方が一般室内のそれと比べ大きいという結果が得られた. また両者
の差は 250Hz, 500Hz, 1000Hz 正弦波を除き約 4~26dB であることから,
暗騒音や残響が, 非線形歪の低減効果に与える影響は大きいと考えられ
る. しかし一般室内においても非線形歪低減レベルは 0.7~11.7dB と効果
にバラつきがあるものの, いずれも非線形歪が低減しているため, 暗騒
音や残響がある環境であっても提案法は有効であると言える.
図 4-12 無響室及び一般室内の歪低減率
- 32 -
(d)環境変化による非線形歪低減推移の比較
本章 6 節(c)における実験で, 8 音源における非線形歪低減効果の評価を
暗騒音, 残響の有無の影響の評価を含め行った(図 4-12 参照). その結果,
一部の音源を除き, 無響室での低減が一般室内のそれと比べ低減効果が
高くなる結果となった. そのなかで低減レベルの差が最も大きかった
2000Hz 正弦波における非線形歪低減の推移より, 暗騒音, 残響が非線形
歪低減に与える影響を評価する. その低減の様子を図 4-13 に示す. 横軸
がレベルの測定を行った回数[回], 縦軸が非線形歪のレベル[dB]である.
一般室内でのデータでは補正 1 回あたり平均 2.1dB の低減効果であるの
に対し, 無響室でのデータでは補正 1 回あたり平均 7.0dB と低減率も一
般室内と比べ大きい結果となった. これより暗騒音や残響が非線形歪の
低減効果に大きく影響することが確かめられた.
100
Non-linear distortion level in usual and anechoic room
Sound pressure level [dB]
90
80
70
60
50
一般室内
無響室
40
30
0
1
2
3
4
Number of iteration L (times)
5
図 4-13 2000Hz 正弦波の非線形歪低減推移
- 33 -
5.補正周波数帯域選択処理
5-1 導入
第 4 章 6 節(d)において, 暗騒音や残響が入力側にフィードバックされ
ることでノイズフロアが上昇し, 非線形歪の低減効果が低くなることが
わかった. そこで本章ではノイズ成分を低減させるために補正周波数の
帯域を選択する処理を導入し, 非線形歪低減効果を改善する.
5-2 原理
非線形歪の補正により逆に非線形歪が増えた周波数の補正量を 0 とす
ることで歪の増加を防ぐ補正周波数帯域の選択処理を導入する. 選択後
̃ (𝑋𝐿 , 𝑋𝐿−1 )は次式で計算する.
の非線形歪𝐷
̃ (𝑋𝐿 , 𝑋𝐿−1 ) =
𝐷
(5 − 1)
𝐷(𝑋𝐿 , 𝑋𝐿−1 ) (𝑖𝑓 |𝐷(𝑋𝐿 , 𝑋𝐿−1 )| > |𝐷(𝑋𝐿+1 , 𝑋𝐿 )|)
{
0
(𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒)
̃ (𝑋𝐿 , 𝑋𝐿−1 )から再度𝑋𝐿 を算出し, スピーカから出力した後の応答か
この𝐷
̃ (𝑋𝐿+1 , 𝑋𝐿 )を算出する.
ら再び𝐷
5-3 処理の流れ
実際の処理の流れを図 5-1 に示すフローチャートに沿って説明する.
基本的な流れは第 4 章 4 節と同じであるが, 非線形成分を算出し, アルゴ
リズム終了判定を行う間(⑧と⑨の間)に新たに「(*)補正周波数帯域選択
を行う」項目を追加した点が異なる. 図 5-2 は図 5-1(*)部の詳細を示し
たフローチャートである.
- 34 -
開始
①インパルス応答h(n)の測定
②音源信号x(n)を生成または読込
③出力信号y(n)をマイクロホンで収録
④x(n),y(n),h(n)をフーリエ変換し, 周波数特性X 0, Y0, H及び
理想周波数成分X0Hを算出
⑤Lに0を代入
⑥非線形成分DLを DL=YL-X0H により算出
⑦補正入力信号XL+1を XL+1=X L-DL/H により算出
⑧補正信号XL+1を出力し, YL+1及び補正信号の非線形成分DL+1を算出
(*)補正周波数帯域選択処理(処理の流れは図5-2に記載)
⑨P(DL+1)>min[P(D1~L)]+d
YES
NO
⑩Lに1加える
終了
図 5-1 補正周波数帯域選択処理を行う非線形歪低減処理の流れ
- 35 -
(*)補正周波数帯域選択処理
開始
(*1) |DL |<|DL+1|を満たす周波数帯を0としたDL を生成
(*2) (*1)のD Lより, XL+1を算出(図5-1 ⑦)
~~ L+1を算出(図5-1 ⑧)
(*3) (*2)のX L+1より, Y L+1及び補正信号の非線形成分D
YES
~~ L+1)
(*4) P(D L+1)<P(D
NO
~~ L+1
(*5) D L+1←D
(*6) D L+1←DL+1
終了(図5-1 ⑨へ)
図 5-2 補正周波数帯域選択処理の流れ(図 5-1(*))
- 36 -
処理の流れ
①~⑧及び⑨, ⑩の処理については第 4 章 4 節で説明したもの(図 4-3)
と同様である. この節では追加した図 5-1(*)の処理について示したフロ
ーチャート図 5-2 を基に説明する.
(*1) |𝐷(𝑋𝐿 , 𝑋𝐿−1 )| < |𝐷(𝑋𝐿+1 , 𝑋𝐿 )|を満たす周波数帯を 0 とした
𝐷(𝑋𝐿 , 𝑋𝐿−1 )を求める.
̃ (𝑋𝐿 , 𝑋𝐿−1 )に置き換えた上で, 図 5-1⑦の処理を再度
(*2) 𝐷(𝑋𝐿 , 𝑋𝐿−1 )を𝐷
実行し, 𝑋𝐿+1 を求める.
̃ (𝑋 , 𝑋 )を
(*3) (*2)で求めた𝑋𝐿+1 を基に, 図 5-1⑧と同様の処理を行い, 𝐷
𝐿+1 𝐿
求める.
̃ (𝑋 , 𝑋 )) > 𝑃(𝐷(𝑋 , 𝑋 ))を満さない場合は(*5)の処理に移り,
(*4) 𝑃 (𝐷
𝐿+1 𝐿
𝐿+1 𝐿
満たす場合は(*6)の処理に移る.
̃ (𝑋 , 𝑋 )を次補正時の非線形成分とし, 𝐷
̃ (𝑋 , 𝑋 )を𝐷(𝑋 , 𝑋 )
(*5) 𝐷
𝐿+1 𝐿
𝐿+1 𝐿
𝐿+1 𝐿
にコピーし, 図 5-1⑨の処理に移る.
(*6) 𝐷(𝑋𝐿+1 , 𝑋𝐿 )を次補正時の非線形成分とし, 図 5-1⑨の処理に移る.
- 37 -
5-4 実験
本章 3 節で説明したアルゴリズムが非線形歪補正に対し有効であるか
評価するために, 第 4 章と同様の実験を行う.
(a)周波数帯域選択の効果評価実験
周波数帯域選択の効果を検証するため, (A)帯域選択を必ず行う場合,
(B)全く行わない場合, (C)効果がある場合のみ行う場合について実験を行
った. 使用音源は 2000Hz 正弦波, 実験環境は無響室である. 3 つの各条
件における全体の非線形歪低減の推移を図 5-2 に示す. このグラフは補
正回数に対する非線形歪の低減レベルを表しており, グラフの軸等の条
件は第 4 章 6 節(b)の実験と基本的には同じだが, グリッド上の点は帯域
選択処理なし, 回数グリッドの間にある点は帯域選択処理と判定処理を
行った後の値を示している.
Effectiveness of frequency band selection
Non-Linear distortion level [dB]
75
(A)On
(B)Off
(C)Adaptive
70
65
60
55
50
45
40
35
30
0
1
2
3
4
Number of iteration L (times)
5
図 5-2 帯域選択処理の有無と非線形歪低減率
- 38 -
6
図 5-2 より, (A)周波数帯域選択を必ず行う場合は, 帯域選択時にレベル
が増加している箇所が見られた. (B)帯域選択を行わない場合はレベルが
単調に減少している. (C)通常の場合は L=2 より(A), (B)と比べ非線形歪低
減率が約 2~17dB ほど差が開いており, 5 回再帰時には(C)の歪低減率が
一番高い結果となった. この結果より, 周波数帯域選択処理は有効であ
るとわかる.
(b)再現性評価実験
本節では周波数帯域選択処理を含む処理を複数回実行しても安定して
同じような歪の低減効果が得られるか検証する実験を行う. 実験場所は
無響室, 使用音源は 2000Hz 正弦波である. 本実験では 5 回同じ処理を実
行した. 実験結果を図 5-3 に示す. グラフの軸設定は図 5-2 と同一である.
図 5-3 より, 同じ処理を複数回実行してもほぼ同じレベルの非線形歪低
減効果が得られることがわかる. この結果より, 周波数帯域選択処理を
含む提案法の再現性が確認された.
- 39 -
Evaluation of stability
Non-Linear distortion level [dB]
75
1st
2nd
3rd
4th
5th
70
65
60
55
50
45
40
35
30
0
1
2
3
4
Number of iteration L (times)
5
6
図 5-3 周波数選択処理を含む処理の再現性評価実験の結果
(c)音源と環境の依存性評価実験
本節では, 周波数帯域選択処理を含む非線形歪低減処理の効果が, 音
源によりどのように変化するか検証するため, 音源を変えた実験を行う.
使用音源は第 4 章 5-3 節の 8 音源, 実験環境は一般室内 A(9-202 室)であ
る. また暗騒音及び反響の有無が非線形歪低減量に与える影響を調べる
ために, 無響室(9-204 室)と一般室内 A(9-202 室)で非線形歪低減量の比較
実験を行った. 図 5-4 は 8 つの音源に対し最終的に低減したレベルを示し
ている. 図中の横軸は音源の種類, 縦軸は非線形歪の低減量である. 図
5-4 より, 音源によりばらつきがあるものの, いずれの音源においても非
線形成分が低減し, 周波数帯域選択処理を付加した提案法が様々な音源
に対し有効であることが確認された. また図 4-12 に示した周波数帯域選
- 40 -
択を行わないときの結果と比べると, 一部のデータを除き低減量が
4~14dB 程度増加し, 周波数帯域選択処理が有効であるとわかる. 特に一
般室内のデータでは 5~15dB 程度高くなっており, 雑音がある環境下に
おける効果が高く, 実用上有用であることがわかる.
図 5-4 無響室及び一般室内の歪低減率
(d)収束性に関する評価実験
本章 4 節(c)までの実験では, 再帰回数を最大 5 回として実験を行って
いた. しかし最大再帰回数 5 回の中で歪のレベルが収束しているデータ
は一部にとどまった. そこで非線形歪を低減させる再帰処理の回数を 10
回に増やし, 歪の低減率の推移から収束性を評価する実験を行う. 使用
音源は第 4 章 5-3 節の 8 音源, 実験環境は無響室である. また本実験では,
少ない回数で停止することを防ぐため, 歪のレベルによる停止処理は行
- 41 -
わなかった. 図 5-5 は繰り返し回数に対する非線形歪と出力のレベルを
表している. 横軸が繰り返しの回数[回], 縦軸が非線形歪と出力のレベル
[dB]である. なお, 回数グリッドの間にある点(1. 5 回, 2. 5 回など)の値は
周波数帯域選択を行わなかった場合のレベルを示している. ここでは
「2000Hz 正弦波」と「弦楽器音源」の結果のみ示す(残り 6 音源につい
ては付録に掲載する).
Evaluation for convergence
80
Sound pressure level [dB]
75
70
65
60
55
2000Hz歪
2000Hz出力
弦楽器歪
弦楽器出力
50
45
40
35
30
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 5-5 非線形歪のレベルの変化(非線形歪低減時)
図 5-5 より, 非線形歪のレベルが 2000Hz 正弦波の場合約 40dB, 弦楽
器の場合は約 20dB 減少しているのに対し, 出力レベルはいずれも最大
約 5dB ほどしか減少しておらず, 非線形歪が大幅に低減していることが
確認できる. 歪の低減量を見ると, 2000Hz 正弦波の場合, 補正回数が 1
回から 5 回と比較的低い回数において歪のレベルが大きく減少しており,
- 42 -
特に 1 回目, 3 回目の補正処理で大きく減少している. しかし補正回数 6
回目以降はほぼ収束している. また弦楽器の場合, 補正を 10 回行った中
においては歪のレベルはなだらかに減少しており, 2000Hz 正弦波のよう
にレベルが大きく減少する区間は見られず, 10 回以後でもわずかに歪が
低減する可能性があることがわかる. また出力レベルの方を見ると
2000Hz 正弦波, 弦楽器共々2 回目以降収束していることがわかる. 他の
6 音源に関しても弦楽器と同様のカーブで収束し, 出力に関してもほと
んどの音源で 5~8 回で収束することがわかった(付録を参照).
- 43 -
6.線形歪補正処理
6-1 導入
前節までは非線形歪のみ取り扱ってきた. しかし一般的な再生システ
ムで生じる歪みには非線形歪のほかに線形歪も含まれる. そこでこの節
では, 先ほどの評価実験(第 4 章, 第 5 章)に線形歪補正のアルゴリズムを
追加して, 線形, 非線形両者の歪の低減を試みる.
6-2 原理
線形歪の補正は, 元の音源の周波数特性を伝達関数の逆特性で補正す
ることにより実現できる. 入力信号の周波数特性を𝑋(𝜔), 出力信号の周
波数特性を𝑌(𝜔), 伝達関数を𝐻(𝜔)とし, システムが線形である
(𝐸(𝜔, X) = 0)と仮定すると以下の式が成り立つ.
𝑌(𝜔) = 𝑋(𝜔) ∙ 𝐻(𝜔)
(6 − 1)
線形歪は, 𝐻(𝜔) ≠ 1であることによる周波数特性の変化であるため, 入力
信号を𝐻−1 (𝜔)の周波数特性をかけることで補正入力信号𝑋 ′ (𝜔)を生成で
きる.
𝑋 ′ (𝜔) =
𝑋(𝜔)
𝐻(𝜔)
(6 − 2)
ただし, スピーカから出力できない周波数範囲では, 𝐻(𝜔) ≈ 0となるため
, 𝑋 ′ (𝜔)が発散する. この発散を防ぐために分母を実数化して微量数
α (α > 0)を加える.
𝑋(𝜔) ∙ 𝐻∗ (𝜔)
′ (𝜔)
𝑋
=
|𝐻(𝜔)|2 + α
(6 − 3)
この式で得られた𝑋 ′ (𝜔)を, 式(6 − 3)の𝑋(𝜔)に代入することで
- 44 -
𝑋(𝜔) ∙ 𝐻∗ (𝜔)
𝑌(𝜔) = 𝑋
∙ 𝐻(𝜔) =
∙ 𝐻(𝜔)
|𝐻(𝜔)|2 + α
𝑋(𝜔) ∙ |𝐻(𝜔)|2
=
≈ 𝑋(𝜔)
|𝐻(𝜔)|2 + α
′ (𝜔)
(6 − 4)
となり, α ≈ 0とすると, 𝑌(𝜔) ≈ 𝑋(𝜔)となることが確認できる.
6-3 処理の流れ
実際の処理の流れを図 6-1 に示すフローチャートにより説明する.
開始
①インパルス応答h(n)の測定
②x(n)を生成または読込
③x(n),h(n)をフーリエ変換し, 周波数特性X(ω ), H(ω )を算出
④式(6-1)~(6-4)により補正入力信号Xe(ω )を算出
⑤Se(ω )を逆フーリエ変換し, xe(n)を算出
終了
図 6-1 線形歪補正フローチャート
- 45 -
処理の流れ
①スピーカから騒音計までのインパルス応答ℎ(𝑛)を計測する. 本研究で
は TSP 法を用いた.
②音源信号𝑥(𝑛)をファイルより読み込む.
③音源信号𝑥(𝑛), インパルス応答 ℎ(𝑛)をフーリエ変換し, 音源の周波数
特性𝑋(𝜔), 伝達関数𝐻(𝜔)を求める.
④式(6 − 1)~(6 − 4)に従い, 線形歪補正を行った音源𝑋𝑒 (𝜔)を求める. た
だし, 微量数αは𝐻(𝜔)に基づき, 以下の式で計算した. 式中の𝑚𝑎𝑥 (𝑓)は
, 𝑓の最大値を出力する関数, γは可変パラメータである.
𝛼 = 𝑚𝑎𝑥(|𝐻(𝜔)|2 ) ∙ 𝛾
(6 − 5)
⑤𝑋𝑒 を逆フーリエ変換し, 𝑥𝑒 (𝑛)を求める.
これより求めた𝑋𝑒 を, 図 5-1 のフローチャートの𝑋0 として処理を行う.
- 46 -
6-4 実験
(a)線形歪のみの低減実験
線形歪低減の効果を検証するために, 線形歪のみ低減させる実験を行
̃𝐿 を式(6 − 6)のよう
う. 本報告では, 線形歪の評価値として線形レベル𝐸
に定義して用いた. 式中の𝑋(𝜔), 𝑌(𝜔)はそれぞれ音源及び出力の周波数
特性である. 式中の線形歪評価関数𝐸𝐿 (𝜔)は式(6 − 7)で定義し, 𝛽は式
(6 − 8)で求めるものとした. また𝐹0 , 𝐹1 はそれぞれ評価帯域の下限, 上限
である. 本研究では𝐹0 = 20Hz, 𝐹1 = 20000Hzとした. また𝜔 = 2𝜋 ∙ ∆𝑓 ∙ 𝑘,
∆f = 𝑓𝑠 /𝑁𝐹𝐹𝑇であり, 𝑁𝐹𝐹𝑇は FFT の長さである.
⌊𝐹1 /∆𝑓⌋
̃𝐿 = 20 𝑙𝑜𝑔10 (
𝐸
∑
𝐸𝐿 (𝜔))
(6 − 6)
𝑘=⌊𝐹0 /∆𝑓⌋
𝐸𝐿 (𝜔) =
|𝑌(𝜔)| − 𝛽 ∙ |𝑋(𝜔)|
|𝑌(𝜔)|
(6 − 7)
⌊𝐹
𝛽=
1 /∆𝑓⌋
∑𝑘=⌊𝐹
|𝑋 ∗ (𝜔)| ∙ |𝑌(𝜔)|
/∆𝑓⌋
0
(6 − 8)
⌊𝐹
1 /∆𝑓⌋
∑𝑘=⌊𝐹
|𝑋(𝜔)|2
/∆𝑓⌋
0
事前実験として TSP 信号を音源として用いて線形歪を低減させる実験
を行った. 実験環境は一般室内 B を利用した. その時の線形歪補正前と
補正後の伝達関数の振幅周波数特性を図 6-2 に表す. 横軸が周波数[Hz],
縦軸がレベル[dB]である. この図より線形歪を補正したほうが全体的に
レベルが抑えられ, より平坦に近付いていることがわかる. 線形歪レベ
̃𝐿 は, 補正前が-2.6[dB], 補正後が-2.8[dB]であり, 線形歪が低減して
ル𝐸
いることがわかる.
- 47 -
10
Amplitude
Ampritudetransfer
transferfunction
function
5
Level [dB]
0
-5
-10
-15
-20
― 線形歪補整前
線形歪補正前
― 線形歪補正後
線形歪補正後
-25
-30
0
0.5
1
1.5
Frequency [Hz]
2
4
x 10
図 6-2 伝達関数の振幅周波数特性
この実験により線形歪の低減が確認された. 次に, 線形歪を低減させ
た場合における非線形歪の変化を評価する. 使用音源は第 4 章 5-3 節の 8
音源, 実験環境は無響室である. 本文は前の実験で非線形歪の低減効果
が大きかった弦楽器に関するデータを掲載した. 他の 7 音源については
̃𝐿 は弦楽器の場合, 補正前が-5.6[dB], 補
付録に掲載する. 線形歪レベル𝐸
正後が-12.5[dB]であり, 線形歪が約 6dB 低減していることがわかる. 図
6-3 は線形歪の低減を行う前後での場合の非線形歪のレベル(実線)と出力
レベル(破線)を表している. 縦軸は音圧レベル[dB]である.
- 48 -
63
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
弦楽器歪
弦楽器出力
Sound pressure level [dB]
62
61
60
59
58
57
56
55
54
Before
After
図 6-3 非線形歪のレベルの変化(線形歪低減時)
図 6-3 より, 出力レベル及び非線形歪のレベルは 2~3dB 程低減してい
る. また今回実験した他の 7 音源に関しても, 概ね同様の結果となった.
よって線形歪の補正を行っても非線形歪が低減できることが確認できた.
(b)線形歪・非線形歪の両方を低減する実験
線形歪と非線形歪の両方の歪を低減させる実験を行った. 使用音源は
第 4 章 5-3 節の正弦波, 一般音楽の計 8 音源, 実験環境は無響室であり,
再帰回数は 10 回である. 図 6-4 は繰り返し回数に対する非線形歪と出力
のレベルを示す. グラフの軸は第 5 章 2 節で述べたものと同じであるが,
横軸が 0. 5 の値は線形歪のみ低減させたときのレベルを表している.
- 49 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
65
弦楽器歪
弦楽器出力
Sound pressure level[dB]
60
55
50
45
40
35
0
1
2
3 4
5
6
7 8
Number
number of
ofiteration
iterationL(times)
L(times)
9
10 11
図 6-4 非線形歪のレベルの変化(線形+非線形歪低減時)
図 6-4 より, 歪のレベルが約 30dB 減少しているのに対し, 出力レベル
は約 10dB ほどの減少を確認した. これより実験 5-(e)と同様に非線形歪
が大幅に低減していることが確認できる. また, 非線形歪低減の推移も
実験 5-(e)と同様の結果となった.
- 50 -
6-5 まとめと考察
本章の実験における, 線形歪の低減率の一覧及びグラフを表 6-1 及び
グラフ化した図 6-5, 最終的に低減した非線形歪のレベルの一覧及びグラ
フを表 6-2 及びグラフ化した図 6-6 に示す. 表中の数値の単位は全て[dB]
であり, 負の数値のものは歪のレベルが増加したことを示す. また, 表
6-1, 図 6-5 においては, 正弦波に対して線形歪を評価する意味がない(単
一の周波数成分しか含まれない)ため, ここでは一般音楽(⑤~⑧)のみを
記載した. なお比較のために非線形歪のみ低減させた際のデータを掲載
しているが, これは第 5 章の実験により得られたものである.
表 6-1 線形歪の低減レベル[dB] ( )内は補正なしの線形歪レベル
音源
線形歪のみ
非線形歪のみ
線形+非線形
ピアノ
0.7(-16.5)
3.6(-16.5)
3.7(-16.5)
オーケストラ
1.8(-10.0)
3.0(-10.0)
4.0(-10.0)
弦楽器
3.9(-12.0)
5.3(-12. 0)
9.0(-12.0)
ボーカル
0.5(-6.2)
0.3 (-6. 2)
0. 7(-6.2)
- 51 -
図 6-5 線形歪の低減レベル
表 6-2 非線形歪の低減レベル[dB] ( )内は補正なしの非線形歪レベル
音源
線形歪のみ
非線形歪のみ
線形+非線形
250Hz 正弦波
0.02(51.7)
10.2(51.7)
10.3(51.7)
500Hz 正弦波
0.6(58.7)
20. 6(58.1)
24.8(59.1)
1000Hz 正弦波
0.04 (65.1)
31.4(65.5)
32.0(65.8)
2000Hz 正弦波
0.02 (71.5)
36.0(71.9)
42.4(71.9)
ピアノ
0. 3(50.0)
11.4(49.9)
17.7(49.9)
オーケストラ
2.2(54.1)
12.9(53.8)
19.2(53.8)
弦楽器
2.4(56.9)
17.0(57.0)
23.4(57.0)
ボーカル
6.2(56.5)
13. 0(56.6)
20.2(56.6)
- 52 -
図 6-6 非線形歪の低減レベル
まず表 6-1, 図 6-5 を基に線形歪の変化について考察する. 線形歪の低
減を行うと, ピアノ音源, ボーカル音源の低減率が 1dB 未満, その他 2 音
源に関しても約 2~3dB 程の低減が確認された. 非線形歪の低減を行うと,
ボーカル音源の低減率が 1dB 未満であったほかは約 3~5dB ほどの低減が
確認された. これより非線形歪を低減させると同時に線形成分も同時に
低減することが確認された. 線形歪と非線形歪の両方の低減を行うと,
いずれの音源においても線形歪単体を低減させるものより 0.2~5.1dB 程
低減率が上がっている. また非線形歪単体を低減させるものとも比べて
も 0.1~3.6dB 程低減率が上がっている. これにより, 線形歪と非線形歪
の両方の低減を行う処理の有効性が明らかになった.
次に表 6-2, 図 6-6 を基に非線形歪の変化について考察する. 線形歪の
低減を行うと, 正弦波の場合, 低減レベルは 0.02~0.6dB であり, 非線形
- 53 -
歪のレベルはほとんど低減しないことが確かめられた. 一般音楽の場合,
ピアノ音源の低減率が 1dB 未満(0.3dB)であるのを除き, 約 2~6dB 低減
している. これは非線形歪の原因となるレベルの高い周波数帯域の音が
抑えられたためと考えられる. 特にボーカル音源の非線形歪低減量は
6.2dB と大きいが, これは音量の大きい低周波のベースの音が補正によ
り小さな音に抑えられたことが原因であると思われる.
非線形歪の低減を行うと, 正弦波の場合, 250Hz の低減レベルは 10dB
程と低いが, その他 3 音源は概ね 20~35dB 低減している. 一般音楽の場
合, いずれも 10dB 台の安定した低減率となった. また出力レベルはほと
んど変化していないことから, いずれの音源でも非線形歪がよく低減さ
れていることがわかる.
線形歪と非線形歪の両方の低減を行うと, 正弦波の場合, 250Hz の低
減レベルが約 10dB であるほかは, その他 3 音源は約 25~42dB 低減して
いる. 一般音楽の場合, 非線形歪のみの低減時と同様, 極端なデータはな
く, いずれの音源でも約 17~23dB の低減率となった. また出力レベルは
ほとんど変化していないことから, いずれの音源でも非線形歪をよく低
減していることがわかる. 出力レベルも非線形歪のみの場合と同様, ほ
とんど変化していないため, いずれの音源でも歪を低減できることがわ
かる. 以上より, 線形歪低減を事前に行った場合でも, 非線形歪の低減効
果はほとんど変化せず, むしろ向上していることから, 今回の非線形歪
低減法が有効であることが確認された. しかし非線形歪が低減すると同
時に出力レベルも同時に減衰していることが確認された. この対策につ
いては次の第 7 章で述べる.
- 54 -
7.出力レベル補正処理
7-1 出力レベルの低減防止
7-1-1 導入
第 4 章から第 6 章の実験で, 非線形歪が低減すると同時に出力レベルも
同時に減衰する現象が見られた. これは非線形歪やノイズを低減させる
ため歪の逆特性を付加したことが原因と考えられる. 具体的には, 元の
出力信号と比べ, 歪等により増加してしまった分のレベルを減衰させた
分出力レベルが減衰したと考えられる. そこで, 補正により低減したレ
ベルを, 出力の際に元の出力信号と同じレベルに引き上げる処理を導入
する. また第 4~6 章と同様の条件で非線形歪低減実験を行い, 出力レベ
ルの減衰を防ぐ処理の導入による, 非線形歪低減効果への影響を評価す
る.
7-1-2 原理
今回導入する手法は, 出力信号に元の出力信号と同じレベルになるよ
うな係数をかけて振幅を大きくする方法とした. これにより非線形歪の
低減の際に減衰してしまった出力レベルを一定に保ちつつ, 歪のレベル
を低減できると期待できる. 使用する係数は下記の 2 種類を検討した. そ
れぞれの係数を𝑘1 , 𝑘2 とし, 下記の式(7 − 1), (7 − 2)で算出するものとし
た.
𝑘1 (𝑛) =
max(|𝑠0 (𝑡)|)
max(|𝑠𝑛 (𝑡)|)
(7 − 1)
2
∑𝑁𝐹𝐹𝑇
𝑡=0 |𝑠0 (𝑡)|
𝑘2 (𝑛) = √ 𝑁𝐹𝐹𝑇
∑𝑡=0 |𝑠𝑛 (𝑡)|2
(7 − 2)
- 55 -
𝑘1 はレベルが低減した補正入力信号の最大値を, 元の音源信号の最大
値に合わせる係数, 𝑘2 はレベルが低減した補正入力信号のパワー平均値
を, 元の音源信号のパワー平均値に合わせる係数である. また,
𝑠0 (𝑡), 𝑠𝑛 (𝑡)はそれぞれレベル目標信号(元の音源信号), レベルを合わせる
対象となる信号(非線形歪補正によりレベルが低減した補正入力信号)で
あり, 具体的には, レベルの補正を行った補正入力信号を𝑠𝑐 (𝑡)とすると,
𝑠𝑐 (𝑡) = 𝑠𝑛 (𝑡) ∙ 𝑘1 (𝑛)もしくは𝑠𝑐 (𝑡) = 𝑠𝑛 (𝑡) ∙ 𝑘2 (𝑛)として算出する. ただし,
𝑡は信号の要素番号, 𝑛は歪補正回数である.
次に先ほど示した係数による補正の場所を変え, 比較評価を行う. 係
数𝑘1 , 𝑘2 をかけ, 補正を行う場所は, 「非線形歪補正を行った音源をスピ
ーカより出力する直前(第 4 章 図 4-3 フローチャートの項目②と項目③の
間)」, 「マイクロホン(普通騒音計)より入力し, 非線形歪補正を行う直前
(第 4 章 図 4-3 フローチャートの項目③と項目④の間)」の 2 通りである.
以上の条件を複合化した 4 パターン(表 7-1(b)~(e))+補正を行わないパタ
ーン(比較用 表 7-1(a))の計 5 パターンで実験を行う.
表 7-1 第 7 章実験パターン一覧
係数\補正タイミング
補正なし
信号出力時
信号入力時
なし
(a)
-
-
𝑘1 (𝑛) (式(25))
-
(b)
(c)
𝑘2 (𝑛) (式(26))
-
(d)
(e)
- 56 -
7-1-3 実験条件
実験で使用する機材, 音源は第 4 章 5-3 節で用いた 8 音源である. 再帰
回数は 10 回とし, 種類は非線形歪のみ低減する条件(第 5 章 4 節(d)と同
様の実験), 線形歪と非線形歪の両方を低減する条件(第 6 章 4 節(b)と同様
の実験)の 2 種類×前述の 5 パターンの計 10 種類とする. また, 実験環境
は無響室(9-204 室)である.
7-1-4 実験結果
本章 1-2 節の条件に基づき実験を行った結果を示す. グラフ等につい
ては「弦楽器」の「線形+非線形歪」のみ掲載する(残り 7 音源, 非線形
歪のみのデータに関しては付録に掲載). また本章に掲載するグラフにつ
いて, 横軸がレベルの測定を行った回数[回], 縦軸が非線形歪のレベル
[dB]である. また, グリッド上の点は帯域選択処理なし, 1.5, 2.5 回等の
回数グリッドの間にある点は帯域選択処理と判定処理を行った後の値,
0.5 回部分にある点は線形歪補正を行った後の値を示しており, 星点
「★」
で示したのが出力レベル, 丸点「○」で示したのが歪レベルのそれぞれ推
移となっている.
(a)レベル補正なし(従来法)
比較のため, レベル補正を行わないデータを図 7-1 に示す. グラフより
歪のレベルは単調に減少しているが, 出力のレベルも単調に減少してい
る. 残り 7 音源, 非線形歪のみのデータに関しても同様の結果となった.
- 57 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
65
Sound pressure level [dB]
60
55
50
45
40
35
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 7-1 レベル補正なしの場合(弦楽器)
(b)出力時に最大値による係数(𝒌𝟏 )で補正
実験結果を図 7-2 に示す. グラフを見ると, 補正回数 1 回目においては
同様出力も同時に減衰しており, それ以降では非線形歪の補正を行うと
歪・出力のレベルが大幅に増加した. またそのほかの音源, 条件において,
2000Hz 正弦波, ピアノ, オーケストラ(線形+非線形)の各音源について
は同様の現象が発生したが, 250Hz 正弦波, 500Hz 正弦波, オーケストラ
(非線形歪のみ), ボーカルの各音源については 10 回目までにおいてはレ
ベルが大幅に増加しなかった. またこのアルゴリズムでは, 周波数帯域
選択を行い, レベルが低い方を採用し次の処理に適応することを考慮し,
各補正フェーズにおいて音圧レベルの低い方を見ると, 一定以上の補正
回数より出力レベルとともに緩やかに増加している. 以上よりこのパタ
ーンのレベル補正法は有効でないことがわかる. これは出力レベル補正
と同時にノイズのレベルも補正を繰り返すごとに増加し, それが蓄積し
て振り切れたと考えられる.
- 58 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
66
Sound pressure level [dB]
64
62
60
58
56
54
52
50
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 7-2 出力時に最大値による係数で補正した場合(弦楽器)
(c)入力時に最大値による係数(𝒌𝟏 )で補正
実験結果を図 7-3 に示す. グラフより, 出力, 歪双方のレベルは安定せ
ず, 振動を繰り返す現象が見られ, 他の音源についても同様の現象が見
られた. また本章 4 節(b)で述べたアルゴリズムによる考慮を鑑みても出
力・歪量レベルとも安定しているとは言えない結果となった. しかしその
中で 250Hz 正弦波だけは再帰回数 10 回の中でこのような現象は確認で
きなかった. 以上よりこのパターンによるレベル補正は有効でないこと
がわかる. これは波形の最大値で評価し, それ以外の波形の部分は評価
されないため, 出力のレベルを適切に制御できなかったことが原因と考
えられる.
- 59 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
66
Sound pressure level [dB]
65
64
63
62
61
60
59
歪レベル
出力レベル
58
57
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 7-3 入力時に最大値による係数で補正した場合(弦楽器)
(d)出力時にパワー平均による係数(𝒌𝟐 )で補正
実験結果を図 7-4 に示す. グラフより低補正回数(1~4 回目)においては,
いずれのグラフにおいても第 5 章, 6 章の実験と同様出力も同時に減衰し
ており, 高補正回数(5 回目以降)においては非線形歪の補正を行うと歪・
出力のレベルが大幅に増加してしまう現象が見られた. また, 2000Hz 正
弦波, ピアノ, オーケストラ(線形+非線形), ボーカル(線形+非線形)の
各音源については同様の現象が見られたが, 250Hz 正弦波, 500Hz 正弦波,
オーケストラ音源(非線形歪のみ), ボーカル音源(非線形歪のみ)について
は実験(b)と同様 10 回目までにおいてはレベルが大幅に増加する現象は
見られなかった. また本章 4 節(b)で述べたアルゴリズムによる考慮を鑑
みると, 一定回数まではなだらかに減少し, その後はなだらかにレベル
- 60 -
が増加するものとなった. これによりこのパターンによるレベル補正は
有効でないことがわかる. これは本章 4 節(b)と同様, 出力レベル補正と
同時にノイズのレベルも補正を繰り返すごとに増加し, それが蓄積して
振り切れたと考えられる.
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
歪レベル
出力レベル
Sound pressure level [dB]
68
66
64
62
60
58
56
54
52
50
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 7-4 出力時にパワー平均による係数で補正した場合(弦楽器)
(e)入力時にパワー平均による係数(𝒌𝟐 )で補正
実験結果を図 7-5 に示す. このパターンは他の 3 パターンとは違い, 出
力レベルが一定であることが確認された. 歪のレベルに関しては他のパ
ターンと同様一定回数以上再帰すると振動する現象が見られた. また本
章 4 節(b)で述べたアルゴリズムによる考慮を鑑みると, ある程度の補正
回数より徐々に歪のレベルが増加し, 出力レベルに近付いている. しか
し 250Hz 正弦波, 500Hz 正弦波に関しては, 再帰回数 10 回において振動
- 61 -
する現象は確認できなかった. これによりこのパターンによるレベル補
正は有効であるものの, 歪のレベルが増加する, 不安定になるなどの欠
点があることが確認された. これは本章 4 節(b)と同様, 出力レベル補正
と同時にノイズのレベルも補正を繰り返すごとに増加し, それが蓄積し
て振り切れたと考えられる. また初回歪補正時から歪のレベルが増加す
るものがあるが, これは第 5 章, 第 6 章の実験より出力のレベルは補正回
数 1~3 回において大きくなることで, 係数𝑘2 の値が大きくなったことが
原因と考えられる.
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
63
Sound pressure level [dB]
62.5
62
61.5
61
60.5
60
59.5
59
歪レベル
出力レベル
58.5
58
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 7-5 入力時にパワー平均による係数で補正した場合(弦楽器)
- 62 -
7-1-5 考察
今回実験した 4 パターンにおいて, 一定回数以上補正を行うと波形が
振動する現象が多く確認できた. これは再帰を繰り返す過程でノイズが
蓄積され, レベル復元処理の際にそのノイズ部分が強調されたために,
歪のレベルが大幅に増加してしまったと考えられる. なぜならノイズ対
策として導入した周波数帯域選択処理を行った回(1.5, 2.5 回等)について
はレベルが大きく減少しているためである. またその増加したノイズ成
分も補正のたびに増加するため, 歪レベルが増加しているものと考えら
れる. しかし 250Hz 正弦波及び 500Hz 正弦波においては再帰回数 10 回
の中でレベルが大幅に増加する現象は一部を除き見られなかった. この
ことにより少なくとも 1000Hz 以上の周波数成分が影響を与えていると
考えられる. なお非線形歪のレベルは第 4, 5 章の実験において 2, 3 回再
帰すると一定になることが確認されているのため振動が始まる前に処理
を終了しても一定の効果が期待できるものと考えられる.
次に出力レベルに着目すると, パターン(b), (c), (d)に関しては出力の
レベルが一定ではなく, 振動するまたは単調に減少する結果となった.
しかし入力側でパワー平均で補正するパターン(e)の場合出力のレベルが
いずれも一定となり, 特に 250Hz 正弦波や 500Hz 正弦波の場合は歪のレ
ベルも単調に低減した. しかし他の音源では単調に増加した後振動する
結果となった. この対策については次の 2 節で述べる.
- 63 -
7-2 出力レベル補正の改善
7-2-1 導入及び原理
前節の実験において, 入力側においてパワー平均で補正すると出力レ
ベルが一定になるという結果が得られたが, 歪のレベルは, ノイズ成分
が減ることなく増加し続けたためその分増加していた. そこで歪, 出力
レベルを評価する際に, 補正を加える前のレベルに戻した上で評価し,
評価後再度レベルを補正前に復元する手法を導入した. 具体的には, レ
ベル補正後に再度レベルを復元した信号s𝑟𝑐 (𝑡)は𝑠𝑟𝑐 (𝑡) = 𝑠𝑐 (𝑡)/
𝑘1 (𝑛)または𝑠𝑟𝑐 (𝑡) = 𝑠𝑐 (𝑡)/𝑘2 (𝑛)で求め, この処理をレベルの評価が済み
次第行う. そのフローチャートを図 7-6 に示す. この手法では増加したノ
イズ成分をレベル補正を行う前と同じ状態にできるため, 歪レベルの単
調増加を防ぎつつ出力レベルを一定に保つことができる.
開始
①出力レベル復元
②出力レベル及び歪レベルの記録
③出力レベル補正
終了
図 7-6 レベル復元部のフローチャート
- 64 -
7-2-2 実験条件
今回の実験で使用する条件及び実験内容は本章 1-3 節と同様である.
7-2-3 実験結果
実験の結果を以下の図 7-7 に示す. 示すデータは弦楽器の線形+非線
形のみである(残り 7 音源, 非線形歪のみのデータについては付録に掲載).
グラフの軸条件等は本章 1-2 節と同様である. グラフより, 改善前後を比
べほとんど変化が見られず, 歪のレベルはともに上昇し, 一定回数再帰
すると振動するという結果となった. この現象は 250Hz 正弦波音源以外
の 7 音源で確認された.
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
63
62
61
60
59
58
57
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
図 7-7 出力補正アルゴリズム改良型
- 65 -
10 11
7-2-4 考察
この実験より, 非線形歪低減の際に出力レベルの復元を行い, 再度レ
ベル補正を行っても, 歪レベルは低減することなく単調に増加したうえ
で振動を起こした. これは出力レベル一定にすることにより復元を行っ
ても再度レベル補正を行う以上レベルの増加が発生してしまうものと考
えられる. この解決策としては, 1 回目の非線形歪の補正が完了し, その
際に減少した出力レベル分を 2 回目の補正時の音源信号に上乗せし, 2 回
目補正終了時の出力レベルを 1 回目の音源信号のレベルに復元する方法
が考えられる. この手法であれば補正処理時にレベルの補正を行わない
ため, レベルの振動を防ぎながら, 出力信号のレベルを復元することが
可能であると考えられる. この手法の詳細を次節で説明する.
- 66 -
7-3 音源レベル補正による出力レベル復元
7-3-1 導入及び原理
前節の実験において, 出力レベル補正後, 再度レベルを復元する処理
を行うと本章 1 節(e)の実験と同様, 出力レベルが一定になるという結果
が得られたが, 歪のレベルは, ノイズ成分が減ることなく増加し続けた.
これは非線形歪補正時にレベルの補正を行ったことが原因であると考え
られる. そこで非線形歪補正時に出力レベルの補正を行わず, 補正終了
時に減少したレベル分を次回補正時の音源信号に上乗せし, 出力レベル
の復元を行う手法を導入した. 具体的には, 1 回目の非線形歪補正処理が
終了したあと, 以下の式(7 − 3)により音源信号の補正を行う. ここで
𝑠𝑜𝑟𝑖 (𝑡), 𝑠𝑛𝑒𝑥𝑡 (𝑡)はそれぞれ 1 回目, 2 回目の音源信号であり, 𝑠𝑚𝑖𝑛 (𝑡)は 1
回目の非線形歪処理時に出力レベルが最も小さかった時の出力信号であ
る.
2
∑𝑁𝐹𝐹𝑇
𝑡=0 |𝑠𝑜𝑟𝑖 (𝑡)|
𝑠𝑛𝑒𝑥𝑡 (𝑡) = 𝑠𝑜𝑟𝑖 (𝑡) ∙ √ 𝑁𝐹𝐹𝑇
∑𝑡=0 |𝑠𝑚𝑖𝑛 (𝑡)|2
(7 − 3)
そのフローチャートを図 7-8 に示す. この手法では歪補正処理中にレベ
ルの補正を行わないため, 歪レベルの振動をを防ぐことができる.
- 67 -
開始
①非線形歪処理1回目
②音源信号を式(7-3)により補正し, snextを生成
③非線形歪処理2回目
終了
図 7-8 レベル復元部のフローチャート
7-3-2 実験条件
今回の実験で使用する条件及び実験内容は本章 1-3 節と同様である.
ただし音源レベルの上乗せを行い, 振幅が振り切れる恐れがあるため,
振幅調整係数を正弦波, 一般音楽ともに 0.1 に設定, 実験環境は防音室
(B-0627 室)(図 7-9)である. また本実験では線形歪と非線形歪両方を補正
するパターンのみ行う.
図 7-9 防音室(B-0627 室)
- 68 -
7-3-3 実験結果
実験の結果を以下の図 7-10, 図 7-11 に示す. 示すデータは 1000Hz 正
弦波と弦楽器音源である(残り 6 音源のデータについては付録に掲載). グ
ラフの軸条件等は本章 1-2 節と同様であるが, 横軸の 0~10.5 の項目が 1
回目補正時, 11~21.5 の項目が 2 回目補整時のデータである. 1000Hz 正弦
波については, 図 7-10 より元音源のレベル(横軸 0)と 2 回目補正時の最低
出力レベルがほぼ一致していおり, 出力レベルの復元に成功している.
一方弦楽器音源については, 図 7-11 より 2 回目補正開始時に出力レベル
が大きく増加し, それ以降は 1 回目補正時と同様に減少しているが, 2 回
目の方が出力レベルの低減量が大きく, 結果的に 1 回目とほぼ同じレベ
ルまで落ち込んでしまっている. 他の音源において, 正弦波 3 音源に関し
ては 1000Hz と同様理論通り出力レベルの復元に成功した. 一方一般音
楽 3 音源の場合はいずれも弦楽器のそれとほぼ同じ結果となった.
- 69 -
(Max:76.5dB) (Min:53.8dB) (Diff:23.1dB)
90
85
出力レベル
歪レベル
SPL[dB]
80
75
70
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 7-10 出力補正アルゴリズム改良型(1000Hz 正弦波)
(Max:65.4dB) (Min:51.9dB) (Diff:4.22dB)
80
出力レベル
歪レベル
75
SPL[dB]
70
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 7-11 出力補正アルゴリズム改良型(弦楽器)
- 70 -
7-3-4 考察
この実験より, 出力レベルが低減した分を次補正時の音源信号のレベ
ルに上乗せしても出力レベルを復元できるとは限らないことが示された.
これは音源のレベルを大きくしても歪のレベルは一定のレベルまで低減
するためと考えられる. 特に様々な周波数帯の成分が含まれる一般音源
についてはこれが顕著に表れた. しかし補正 1 回目の一番低い出力レベ
ルと比べ, 補正 2 回目のそれが上回っているため, 3 回, 4 回…と処理を繰
り返し行うと出力のレベルの復元は可能であると考えられる.
- 71 -
8. まとめ及び今後の課題
本論文では従来のボルテラフィルタやミラーフィルタにおいて課題と
なっていた正確な非線形歪のモデル化の課題を解決するために, 実機材
を用い非線形歪を算出することで, 非線形歪のモデル化を行わない手法
を提案した. 更なる高精度化を図るために再帰的補正及び周波数帯域選
択処理を導入し, 実験の結果その有用性が示された. また補正回数の変
更, 収録場所, 音源に依存せず, 幅広い環境でこのアルゴリズムが有効で
あることも実験により確かめられた. 線形歪の補正を従来のアルゴリズ
ムと組み合わせた場合も歪が低減しており, このアルゴリズムの有用性
が示された. しかし歪とともに減衰する出力レベルの問題は, 出力レベ
ルを一定にすることはできたが, 歪のレベルが増加してしまう結果とな
った. この問題を解決するために導入した音源信号補正法も, 導入前と
変わらない結果となった. しかし現段階ではメモリ等のスペックの関係
上これ以上繰り返しての実験は困難である. この問題をはじめ, メモリ
の制約上周波数領域での処理が難しい長い時間の音源信号の補正などが
今後の課題である.
- 72 -
謝辞
本研究の指導をして頂いた三好和憲教授, 中島弘史准教授, そして本
研究の実験に協力して頂いた皆様にこの場を借りてお礼申し上げます.
参考文献
[1] 蘆原郁, 桐生昭吾, “周波数帯域の拡張に伴うスピーカの非線形歪の
増加”, 音響学会誌, 56, 549-555(2000)
[2] 梶川嘉延, “ボルテラフィルタって何?―その音響システムへの応用
―”, 音響学会誌, 60, 273-277(2004)
[3] V.J. Mathews, “Adaptive polynomial filters”, IEEE Signal Process.
Mag., 8, 10-26(1991)
[4] 竹村和斉, 中武哲郎, 笠井譲治, “非線形 2 次 IIR フィルタによる動電
型スピーカの非線形歪の低減”, 信学技報, EA96-74, 65-72(1996)
[5] 中尾理香, 梶川嘉延, 野村康雄, “Mirror フィルタを用いたスピーカ
システムの非線形歪み補正法の検討”, 信学技報, EA206-101,
21-26(2007)
[6] 蘆原郁, 桐生昭吾, 佐藤宗純, 吉沢昌純, “位相変化を用いた非線形歪
低減法”, 信学技報, EA2003-59, 15-19(2003)
[7] 中西孔文, 梶川嘉延, 野村康雄, “サブバンド適応 Volterra フィルタを
用いたスピーカシステムの非線形歪み補正”, 信学技報, SIP2007-90,
SIS2007-26, SP2007-52(2007-9), 43-48(2007)
[8] 梶川嘉延, “信号処理技術によるスピーカシステムの非線形歪補正”,
音響学会誌, 67, 470-475(2011)
[9] 中島弘史, “ミニマックス規範に基づくサイドローブ最小ビームフォ
ーミング”, 音響学会誌, 63, 341-352(2007)
- 73 -
本研究に関する対外発表
[1] 加藤優基, 中島弘史, 三好和憲, “音源信号の再帰補正処理による非線
形歪の低減とそのスピーカシステムへの適用”, 第 27 回信号処理シンポ
ジウム論文集, 351-356(2012)
[2] 加藤優基, 中島弘史, 三好和憲, “音源の再帰的補正によるスピーカの
非線形歪低減の検証”, 信学技報, EA2012-142, 7-12(2013)
[3] 橋野樹広, 加藤優基, 中島弘史, 三好和憲, “エージングの有無による
ヘッドホンの音響特性の変化”, 音楽音響研究会資料, MA2013-22, 電
気・応用音響研究会資料, EA2013-48, 聴覚研究会資料, H-2013-77,
87-92(2013)
[4] 坂田直人, 加藤優基, 中島弘史, 三好和憲, “入力信号の補正によるイ
ヤホンの非線形歪低減” , 音楽音響研究会資料, MA2013-21, 電気・応用
音響研究会資料, EA2013-47, 聴覚研究会資料, H-2013-76, 81-86(2013)
[5] 橋野樹広, 坂田直人, 加藤優基, 中島弘史, 三好和憲, “時間領域での
入力信号補正による非線形歪低減” , 信学技報, EA2013-106,
15-20(2014)
[6] 加藤優基, 橋野樹広, 坂田直人, 中島弘史, 三好和憲, “音源の再帰的
補正による非線形歪低減法の時間領域処理と周波数領域処理との比較”,
日本音響学会 2014 年春季研究発表会(2014 年 3 月 12 日発表)
- 74 -
付録 1 本文未掲載グラフ一覧
本章では, 本文未掲載のグラフを掲載する. 掲載するグラフは章,節ごとに 14 グル
ープに分割し, (1)~(14)として記した. グループ番号と章, 節の関係は以下の通りであ
る. (1)では第 5 章 4 節(d), (2)では第 6 章 4 節(a), (3)では第 6 章 4 節(b)及び第 7 章 1-4
節(a), (4)では第 7 章 1-4 節(b)の非線形歪のみ, (5)では第 7 章 1-4 節(b)の線形歪+非線
形歪, (6)では第 7 章 1-4 節(c)の非線形歪のみ, (7)では第 7 章 1-4 節(c)の線形歪+非線
形歪, (8)では第 7 章 1-4 節(d)の非線形歪のみ, (9)では第 7 章 1-4 節(d)の線形歪+非線
形歪, (10)では第 7 章 1-4 節(e)の非線形歪のみ, (11)では第 7 章 1-4 節(e)の線形歪+非
線形歪, (12)では第 7 章 2 節の非線形歪のみ, (13)では第 7 章 2 節の線形歪+非線形歪,
(14)では第 7 章 3 節のデータである.
(1)第 5 章 4 節(d)
250Hz, 500Hz, 1000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
(図 1~6)
Evaluation for convergence
Sound pressure level [dB]
65
60
55
50
45
40
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 1 非線形歪・出力レベル推移図(250Hz 正弦波)
- 75 -
Evaluation for convergence
70
Sound pressure level [dB]
65
60
55
50
45
40
歪レベル
出力レベル
35
30
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 2 非線形歪・出力レベル推移図(500Hz 正弦波)
Evaluation for convergence
75
Sound pressure level [dB]
70
65
60
55
50
45
40
35
歪レベル
出力レベル
30
25
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 3 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 76 -
Evaluation for convergence
60
歪レベル
出力レベル
Sound pressure level [dB]
55
50
45
40
35
30
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 4 非線形歪・出力レベル推移図(ピアノ音源)
Evaluation for convergence
60
歪レベル
出力レベル
Sound pressure level [dB]
55
50
45
40
35
30
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 5 非線形歪・出力レベル推移図(オーケストラ音源)
- 77 -
Evaluation for convergence
65
歪レベル
出力レベル
Sound pressure level [dB]
60
55
50
45
40
35
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 6 非線形歪・出力レベル推移図(ボーカル音源)
- 78 -
(2)第 6 章 4 節(a)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
(図 7~13)
64
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
Before
After
図 7 非線形歪・出力レベル推移図(250Hz 正弦波)
- 79 -
70
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
歪レベル
出力レベル
Sound pressure level [dB]
68
66
64
62
60
58
Before
After
図 8 非線形歪・出力レベル推移図(500Hz 正弦波)
73
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
歪レベル
出力レベル
Sound pressure level [dB]
72
71
70
69
68
67
66
65
Before
After
図 9 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 80 -
78
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
歪レベル
出力レベル
Sound pressure level [dB]
77
76
75
74
73
72
71
Before
After
図 10 非線形歪・出力レベル推移図(2000Hz 正弦波)
56
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
歪レベル
出力レベル
Sound pressure level [dB]
55
54
53
52
51
50
49
Before
After
図 11 非線形歪・出力レベル推移図(ピアノ音源)
- 81 -
59
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
歪レベル
出力レベル
Sound pressure level [dB]
58
57
56
55
54
53
52
51
Before
After
図 12 非線形歪・出力レベル推移図(オーケストラ音源)
64
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
Before
After
図 13 非線形歪・出力レベル推移図(ボーカル音源)
- 82 -
(3)第 6 章 4 節(b)及び第 7 章 1-4 節(a)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
(図 14~20)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
Sound pressure level[dB]
65
60
55
50
45
歪レベル
出力レベル
40
0
1
2
3 4
5
6
7 8
Number
of iteration
L(times)
number
of iteration
L(times)
9
10 11
図 14 非線形歪・出力レベル推移図(250Hz 正弦波)
- 83 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
Sound pressure level[dB]
65
60
55
50
45
40
歪レベル
出力レベル
35
30
0
1
2
3 4
5
6
7 8
number of
ofiteration
iterationL(times)
L(times)
Number
9
10 11
図 15 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
75
Sound pressure level[dB]
70
65
60
55
50
45
40
35
歪レベル
出力レベル
30
25
0
1
2
3 4
5
6
7 8
number of
ofiteration
iterationL(times)
L(times)
Number
9
10 11
図 16 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 84 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
80
Sound pressure level[dB]
75
70
歪レベル
出力レベル
65
60
55
50
45
40
35
30
0
1
2
3 4
5
6
7 8
Number
number of
ofiteration
iterationL(times)
L(times)
9
10 11
図 17 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
60
歪レベル
出力レベル
Sound pressure level[dB]
55
50
45
40
35
30
0
1
2
3 4
5
6
7 8
Number
number of
ofiteration
iterationL(times)
L(times)
9
10 11
図 18 非線形歪・出力レベル推移図(ピアノ音源)
- 85 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
60
歪レベル
出力レベル
Sound pressure level[dB]
55
50
45
40
35
30
0
1
2
3 4
5
6
7 8
Number
number of
ofiteration
iterationL(times)
L(times)
9
10 11
図 19 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
65
歪レベル
出力レベル
Sound pressure level[dB]
60
55
50
45
40
35
0
1
2
3 4
5
6
7 8
number of
ofiteration
iterationL(times)
L(times)
Number
9
10 11
図 20 非線形歪・出力レベル推移図(ボーカル音源)
- 86 -
(4)第 7 章 1-4 節(b)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, 弦楽器, ボーカルの各音源
非線形歪のみ低減 (図 21~28)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
62
歪レベル
出力レベル
60
58
56
54
52
50
48
46
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 21 非線形歪・出力レベル推移図(250Hz 正弦波)
- 87 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
Sound pressure level [dB]
68
歪レベル
出力レベル
66
64
62
60
58
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 22 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
82
歪レベル
出力レベル
Sound pressure level [dB]
80
78
76
74
72
70
68
66
64
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 23 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 88 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
82
Sound pressure level [dB]
81
80
79
78
77
76
75
74
歪レベル
出力レベル
73
72
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 24 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
56
歪レベル
出力レベル
Sound pressure level [dB]
54
52
50
48
46
44
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 25 非線形歪・出力レベル推移図(ピアノ音源)
- 89 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
60
歪レベル
出力レベル
Sound pressure level [dB]
58
56
54
52
50
48
46
44
42
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 26 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
68
Sound pressure level [dB]
66
64
62
60
58
56
54
52
50
0
1
歪レベル
出力レベル
2
3 4
5
6
7 8
9 10 11
Number of iteration L (times)
図 27 非線形歪・出力レベル推移図(弦楽器音源)
- 90 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
歪レベル
出力レベル
Sound pressure level [dB]
65
60
55
50
45
40
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 28 非線形歪・出力レベル推移図(ボーカル音源)
- 91 -
(5)第 7 章 1-4 節(b)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
線形歪+非線形歪低減 (図 29~35)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
62
歪レベル
出力レベル
60
58
56
54
52
50
48
46
44
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 29 非線形歪・出力レベル推移図(250Hz 正弦波)
- 92 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
Sound pressure level [dB]
68
歪レベル
出力レベル
66
64
62
60
58
56
54
52
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 30 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
74
歪レベル
出力レベル
Sound pressure level [dB]
72
70
68
66
64
62
60
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 31 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 93 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
80
Sound pressure level [dB]
78
76
74
72
70
68
0
1
歪レベル
出力レベル
2
3 4
5
6
7 8
9
Number of iteration L (times)
10 11
図 32 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
56
歪レベル
出力レベル
Sound pressure level [dB]
54
52
50
48
46
44
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 33 非線形歪・出力レベル推移図(ピアノ音源)
- 94 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
66
Sound pressure level [dB]
64
62
60
58
56
54
52
歪レベル
出力レベル
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 34 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
48
46
44
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 35 非線形歪・出力レベル推移図(ボーカル音源)
- 95 -
(6)第 7 章 1-4 節(c)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, 弦楽器, ボーカルの各音源
非線形歪のみ低減 (図 36~43)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
62
歪レベル
出力レベル
60
58
56
54
52
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 36 非線形歪・出力レベル推移図(250Hz 正弦波)
- 96 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
72
Sound pressure level [dB]
70
68
66
64
62
60
58
56
歪レベル
出力レベル
54
52
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 37 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
76
歪レベル
出力レベル
Sound pressure level [dB]
74
72
70
68
66
64
62
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 38 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 97 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
80
Sound pressure level [dB]
歪レベル
出力レベル
75
70
65
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 39 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
56
Sound pressure level [dB]
55
54
53
52
51
50
49
0
1
歪レベル
出力レベル
2
3 4
5
6
7 8
9 10 11
Number of iteration L (times)
図 40 非線形歪・出力レベル推移図(ピアノ音源)
- 98 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
63
Sound pressure level [dB]
62
61
60
59
58
57
56
55
歪レベル
出力レベル
54
53
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 41 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
65
Sound pressure level [dB]
64
63
62
61
60
59
58
57
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 42 非線形歪・出力レベル推移図(弦楽器音源)
- 99 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
68
Sound pressure level [dB]
66
64
62
60
58
56
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 43 非線形歪・出力レベル推移図(ボーカル音源)
- 100 -
(7)第 7 章 1-4 節(c)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
線形歪+非線形歪低減 (図 44~50)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 44 非線形歪・出力レベル推移図(250Hz 正弦波)
- 101 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
歪レベル
出力レベル
Sound pressure level [dB]
68
66
64
62
60
58
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 45 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
76
歪レベル
出力レベル
Sound pressure level [dB]
74
72
70
68
66
64
62
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 46 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 102 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
79
歪レベル
出力レベル
Sound pressure level [dB]
78
77
76
75
74
73
72
71
70
69
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 47 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
56
歪レベル
出力レベル
Sound pressure level [dB]
55
54
53
52
51
50
49
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 48 非線形歪・出力レベル推移図(ピアノ音源)
- 103 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
61
Sound pressure level [dB]
60
59
58
57
56
55
歪レベル
出力レベル
54
53
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 49 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
65.5
歪レベル
出力レベル
Sound pressure level [dB]
65
64.5
64
63.5
63
62.5
62
61.5
61
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 50 非線形歪・出力レベル推移図(ボーカル音源)
- 104 -
(8)第 7 章 1-4 節(d)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, 弦楽器, ボーカルの各音源
非線形歪のみ低減 (図 51~58)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 51 非線形歪・出力レベル推移図(250Hz 正弦波)
- 105 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
Sound pressure level [dB]
68
歪レベル
出力レベル
66
64
62
60
58
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 52 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
84
歪レベル
出力レベル
Sound pressure level [dB]
82
80
78
76
74
72
70
68
66
64
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 53 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 106 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
81
歪レベル
出力レベル
Sound pressure level [dB]
80
79
78
77
76
75
74
73
72
71
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 54 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
56
Sound pressure level [dB]
54
52
50
48
46
44
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 55 非線形歪・出力レベル推移図(ピアノ音源)
- 107 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
60
歪レベル
出力レベル
Sound pressure level [dB]
58
56
54
52
50
48
46
44
42
40
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 56 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
68
歪レベル
出力レベル
Sound pressure level [dB]
66
64
62
60
58
56
54
52
50
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 57 非線形歪・出力レベル推移図(弦楽器音源)
- 108 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
65
歪レベル
出力レベル
Sound pressure level [dB]
60
55
50
45
40
35
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 58 非線形歪・出力レベル推移図(ボーカル音源)
- 109 -
(9)第 7 章 1-4 節(d)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
線形歪+非線形歪低減 (図 59~65)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
62
歪レベル
出力レベル
60
58
56
54
52
50
48
46
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 59 非線形歪・出力レベル推移図(250Hz 正弦波)
- 110 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
Sound pressure level [dB]
68
歪レベル
出力レベル
66
64
62
60
58
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 60 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
82
歪レベル
出力レベル
Sound pressure level [dB]
80
78
76
74
72
70
68
66
64
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 61 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 111 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
81
歪レベル
出力レベル
Sound pressure level [dB]
80
79
78
77
76
75
74
73
72
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 62 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
62
歪レベル
出力レベル
Sound pressure level [dB]
60
58
56
54
52
50
48
46
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 63 非線形歪・出力レベル推移図(ピアノ音源)
- 112 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
60
歪レベル
出力レベル
Sound pressure level [dB]
58
56
54
52
50
48
46
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 64 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 65 非線形歪・出力レベル推移図(ボーカル音源)
- 113 -
(10)第 7 章 1-4 節(e)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, 弦楽器, ボーカルの各音源
非線形歪のみ低減 (図 66~73)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 66 非線形歪・出力レベル推移図(250Hz 正弦波)
- 114 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
歪レベル
出力レベル
Sound pressure level [dB]
68
66
64
62
60
58
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 67 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
76
Sound pressure level [dB]
75
74
73
72
71
70
69
68
歪レベル
出力レベル
67
66
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 68 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 115 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
80
Sound pressure level [dB]
79
78
歪レベル
出力レベル
77
76
75
74
73
72
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 69 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
57
Sound pressure level [dB]
56
55
54
53
52
51
50
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 70 非線形歪・出力レベル推移図(ピアノ音源)
- 116 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
61
Sound pressure level [dB]
60
59
58
57
56
55
歪レベル
出力レベル
54
53
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 71 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
63
62
61
60
59
58
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 72 非線形歪・出力レベル推移図(弦楽器音源)
- 117 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
66
Sound pressure level [dB]
65
64
63
62
61
60
59
58
歪レベル
出力レベル
57
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 73 非線形歪・出力レベル推移図(ボーカル音源)
- 118 -
(11)第 7 章 1-4 節(e)
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
線形歪+非線形歪低減 (図 74~80)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 74 非線形歪・出力レベル推移図(250Hz 正弦波)
- 119 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
歪レベル
出力レベル
Sound pressure level [dB]
68
66
64
62
60
58
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 75 非線形歪・出力レベル推移図(500Hz 正弦波)
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
Output
76
歪レベル
出力レベル
Sound pressure level [dB]
74
72
70
68
66
64
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 76 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 120 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
80
Sound pressure level [dB]
79
78
77
76
75
74
歪レベル
出力レベル
73
72
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 77 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
57
Sound pressure level [dB]
56
55
54
53
52
51
50
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 78 非線形歪・出力レベル推移図(ピアノ音源)
- 121 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
61
Sound pressure level [dB]
60
59
58
57
56
55
歪レベル
出力レベル
54
53
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 79 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
63
62
61
60
59
58
歪レベル
出力レベル
57
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 80 非線形歪・出力レベル推移図(ボーカル音源)
- 122 -
(12)第 7 章 2 節
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, 弦楽器, ボーカルの各音源
非線形歪のみ低減 (図 81~88)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 81 非線形歪・出力レベル推移図(250Hz 正弦波)
- 123 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
歪レベル
出力レベル
Sound pressure level [dB]
68
66
64
62
60
58
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 82 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
76
Sound pressure level [dB]
74
72
70
68
66
64
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 83 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 124 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
82
Sound pressure level [dB]
81
80
79
78
歪レベル
出力レベル
77
76
75
74
73
72
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 84 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
57
Sound pressure level [dB]
56
55
54
53
52
51
50
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 85 非線形歪・出力レベル推移図(ピアノ音源)
- 125 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
62
Sound pressure level [dB]
61
60
59
58
57
56
55
歪レベル
出力レベル
54
53
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 86 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
65
Sound pressure level [dB]
64
63
62
61
60
59
歪レベル
出力レベル
58
57
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 87 非線形歪・出力レベル推移図(弦楽器音源)
- 126 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
66
Sound pressure level [dB]
65
64
63
62
61
60
59
58
歪レベル
出力レベル
57
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 88 非線形歪・出力レベル推移図(ボーカル音源)
- 127 -
(13)第 7 章 2 節
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
線形歪+非線形歪低減 (図 89~95)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
歪レベル
出力レベル
Sound pressure level [dB]
62
60
58
56
54
52
50
48
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 89 非線形歪・出力レベル推移図(250Hz 正弦波)
- 128 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
70
歪レベル
出力レベル
Sound pressure level [dB]
68
66
64
62
60
58
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 90 非線形歪・出力レベル推移図(500Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
76
Sound pressure level [dB]
75
74
73
72
71
70
69
68
歪レベル
出力レベル
67
66
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 91 非線形歪・出力レベル推移図(1000Hz 正弦波)
- 129 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
79
歪レベル
出力レベル
Sound pressure level [dB]
78
77
76
75
74
73
72
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 92 非線形歪・出力レベル推移図(2000Hz 正弦波)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
57
Sound pressure level [dB]
56
55
54
53
52
51
50
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 93 非線形歪・出力レベル推移図(ピアノ音源)
- 130 -
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
61
Sound pressure level [dB]
60
59
58
57
56
55
54
53
歪レベル
出力レベル
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 94 非線形歪・出力レベル推移図(オーケストラ音源)
Output
Outputand
andnon-linear
non-linerdistortion
distortionlevel
level
64
Sound pressure level [dB]
63
62
61
60
59
58
歪レベル
出力レベル
57
56
0
1
2
3 4
5
6
7 8
Number of iteration L (times)
9
10 11
図 95 非線形歪・出力レベル推移図(ボーカル音源)
- 131 -
(14)第 7 章 3 節
250Hz, 500Hz, 1000Hz, 2000Hz 正弦波
ピアノ, オーケストラ, ボーカルの各音源
線形歪+非線形歪低減
横軸 0~10.5 : 1 回目補正 , 11~22.5 : 2 回目補正 (図 96~102)
(Max:67.7dB) (Min:51.2dB) (Diff:15.8dB)
80
75
出力レベル
歪レベル
SPL[dB]
70
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 96 非線形歪・出力レベル推移図(250Hz 正弦波)
(Max:74.7dB) (Min:51dB) (Diff:23.6dB)
90
85
出力レベル
歪レベル
SPL[dB]
80
75
70
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 97 非線形歪・出力レベル推移図(500Hz 正弦波)
- 132 -
(Max:76.5dB) (Min:53.8dB) (Diff:23.1dB)
90
85
出力レベル
歪レベル
SPL[dB]
80
75
70
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 98 非線形歪・出力レベル推移図(1000Hz 正弦波)
(Max:80.2dB) (Min:56.2dB) (Diff:17.9dB)
95
出力レベル
歪レベル
90
SPL[dB]
85
80
75
70
65
60
55
0
10
20
30
Number of iteration L(times)
40
図 99 非線形歪・出力レベル推移図(2000Hz 正弦波)
- 133 -
(Max:59dB) (Min:51.2dB) (Diff:0.95dB)
70
出力レベル
歪レベル
SPL[dB]
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 100 非線形歪・出力レベル推移図(ピアノ音源)
(Max:63.1dB) (Min:52.3dB) (Diff:2.57dB)
75
出力レベル
歪レベル
SPL[dB]
70
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 101 非線形歪・出力レベル推移図(オーケストラ音源)
- 134 -
(Max:66.4dB) (Min:53.8dB) (Diff:1.4dB)
80
出力レベル
歪レベル
75
SPL[dB]
70
65
60
55
50
0
10
20
30
Number of iteration L(times)
40
図 102 非線形歪・出力レベル推移図(ボーカル音源)
- 135 -
付録2 線形歪・非線形歪低減プログラム(出力補正)
本章では実験で使用したプログラムのうち, 線形歪, 非線形歪両方を
低減させる処理のものを掲載する.
function [DLALL YLALL] =
mainfanc2SH_Anp_long_short(nfft,Fs,A,f,L,M,Li,flag,WAVNAME,SAVENAME,sentaku)
%%%%引数詳細%%%%
% nfft=2^16;
% Fs=44100;
% A=0.9;
% f=1000;:フラグが1の時のみ有効
% L=2400*3;:フラグが1の時のみ有効
% M=2400;:フラグが1の時のみ有効
% Li=0.1;
% flag=0;%0:ファイル読み込みモード
% WAVNAME:string data
data.wav
1:正弦波作成モード
:フラグが0の時のみ有効
% SAVENAME:string data data.mat
dBg=20;
%終了条件
t=(0:nfft-1)'./Fs;
%時間
start=1;
%出力レベル評価軸始点
rec_count=0;
%追加補正実験回数
%%%%音声ファイル読み込みパターン%%%%
if flag==0
wfname=[WAVNAME(1:end-4) '_eqSH.wav'];
%ファイル名指定
[out1,Fs]=wavread(WAVNAME);
%ファイル読み込み
out1=0.1*out1(:,1);
%振幅調整
nfft=2^ceil(log2(length(out1)));
%FFT長算出
if size(out1,1)<nfft
out1(nfft,1)=0;
%端数0埋め
end
faxis=(0:nfft-1)'./nfft.*Fs;
%周波数軸設定
taxis=(0:nfft-1)'./Fs;
%時間軸設定
- 136 -
%%%%正弦波作成パターン%%%%
elseif flag==1
faxis=(0:nfft-1)'./nfft.*Fs;
%周波数軸設定
taxis=(0:nfft-1)'./Fs;
%時間軸設定
out1=0.1*sin(2*pi*f*t);
%正弦波生成
out1(1:L)=0;
%始点0埋め
out1(end-L+1:end)=0;
%終点0埋め
%%%%窓かけユニット%%%%
cw=0.5*(cos(pi*(0:M-1)'./M)+1);
%COS窓生成
out1(L+1:L+M)=out1(L+1:L+M).*flipud(cw);
%始点窓かけ
out1(end-L-M+1:end-L)=out1(end-L-M+1:end-L).*cw;
%終点窓かけ
%%%%ユニットここまで%%%%
%%%%音声ファイル書き出しユニット%%%%
wavwrite(out1,Fs,[num2str(f) 'Hz正弦波SH.wav'])
wfname=[num2str(f) 'Hz正弦波_eqSH.wav'];
%%%%ユニットここまで%%%%
%%%%TSP作成パターン%%%%
elseif flag==2
wfname='tsp_equalizeSH.wav';
%ファイル名指定
[out1,Iout1] = mktsp(44100, 2^18, 0.5);
%TSP波形生成
wavwrite(out1,Fs,'tsp_originalSH.wav');
%ファイル書き出し
nfft=2^ceil(log2(length(out1)));
%FFT長算出
if size(out1,1)<nfft
out1(nfft,1)=0;
%端数0埋め
end
faxis=(0:nfft-1)'./nfft.*Fs;
%周波数軸指定
taxis=(0:nfft-1)'./Fs;
%時間軸指定
- 137 -
%%%%エラーパターン%%%%
else
'モードコードエラー'
return
end
[z zz]=kousei(nfft);
%校正値読み込み
IN{1}=out1;
%出力信号保存
FIRST=IN{1}
%出力信号キープ
S=fft(IN{1},nfft);
%入力信号を変換
%%%%振り切れ防止処理ユニット%%%%%
if max(abs(IN{1}))>0.9
fprintf('振幅エラー end')
return;
elseif max(abs(IN{1}))>0.5
fprintf('warning!')
end
%%%%ユニットここまで%%%%
%%%%インパルス応答計測ユニット%%%%
[tsp,Itsp] = mktsp(Fs, nfft, A);
%TSP波形を生成
wavwrite(tsp,Fs,'スイープ波.wav')
%TSPデータ保存
y = pa_wavplayrecord( tsp, [], Fs, length( tsp ), 1, 1, [], 'asio' );%応答算出
HH=fft(y,nfft*2);
ITSP=fft(Itsp,nfft*2);
H=HH.*ITSP;
%伝達関数算出
h=real(ifft(H));
%元のインパルス応答算出
%%今後の処理に用いる伝達関数の算出%%
[mv,mvi]=max(abs(h(:,1)));
%ピーク値とインデックスを算出
ho=h(1:mvi+3000,1);
%波形の切り出し
H=fft(ho,nfft);
H2=abs(H).^2;
%伝達関数生成
DH=H2+max(H2)*Li;
%振幅調整
%%算出処理ここまで%%
%%%%ユニットここまで%%%%
xx = pa_wavplayrecord( out1, [], Fs, length( out1 ), 1, 1, [], 'asio' );
- 138 -
OUT{1}=xx;
%入力信号保存
%%%%振り切れ防止処理ユニット%%%%%
if max(OUT{1})>0.9
fprintf('振幅エラー end')
max(OUT{1})
return;
elseif max(OUT{1})>0.5
fprintf('warning!')
end
%%%%ユニットここまで%%%%
X=fft(xx,nfft);
XX=20*log10(abs(X))+z;
%入力信号周波数特性算出
SXX{1}=XX;
%入力信号周波数特性保存
R=H.*S;
%理想の周波数成分産出
OUT1=fft(out1,nfft);
dOUT1=20*log10(abs(OUT1))+z;
%出力信号周波数特性算出
SSS{1}=dOUT1;
%出力信号周波数特性保存
D=X-R;
%D:非線形成分算出
%%%%線形歪除去ユニット%%%%
OUT1H=(S.*(conj(H))./(abs(H).^2+max(abs(H).^2)*0.01));
%線形歪補正処理
SSS{2}=20*log10(abs(OUT1H))+z;
%出力信号周波数特性算出・保存
out1h=real(ifft(OUT1H));
%変換
IN{2}=out1h;
%出力信号保存
xs = pa_wavplayrecord( out1h, [], Fs, length( out1h ), 1, 1, [], 'asio' );
OUT{2}=xs;
%入力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(OUT{2})>0.9
fprintf('振幅エラー end')
return;
- 139 -
elseif max(OUT{2})>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%
XS=fft(xs,nfft);
XXS=20*log10(abs(XS))+z;
%入力信号周波数特性算出
SXX{2}=XXS;
%入力信号周波数特性保存
DS=XS-OUT1H.*(H);
%歪成分算出
XPS=10*log10((sum(abs(DS).^2))/(sum(abs(XS).^2)));
%歪(絶対)レベル算出(線形補正
後)
%%%%線形歪除去ユニットここまで%%%%
XP=10*log10((sum(abs(D).^2))/(sum(abs(X).^2)));
%歪(絶対)レベル算出(補正前)
DLALL(1)=10*log10(sum(abs(D).^2))+z;
%補正前歪レベル
YLALL(1)=10*log10(sum(abs(X).^2))+z;
%補正前出力レベル
DLALL(2)=10*log10(sum(abs(DS).^2))+z;
%線形補正後歪レベル
YLALL(2)=10*log10(sum(abs(XS).^2))+z;
%線形補正後出力レベル
sbest=out1;
%最もよい波形データ(仮置き)
sbestdB=XP;
%最もよい歪レベル(仮置き)
%%%%データ更新ユニット%%%%
if XPS < sbestdB
sbestdB=XPS;
%sbestdB更新
sbest=out1h;
%sbest更新
end
D=DS;
%D更新
S=OUT1H;
%S更新
%%%%ユニットここまで%%%%
- 140 -
S2=(OUT1H-D.*conj(H)./DH);
%出力信号更新(周波数領域)
s2=real(ifft(S2));
%S2変換
count=1;
%カウント変数(再帰回数)
%%%%%%%%再帰処理ユニット%%%%%%%%
while(1)
%%%%%%%%%%周波数帯域選択前フェーズここから%%%%%%%%%%
IN{count*2+1}=s2;
%出力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(abs(IN{count*2+1}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(IN{count*2+1}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
xx2 = pa_wavplayrecord( s2, [], Fs, length( s2 ), 1, 1, [], 'asio' );
OUT{count*2+1}=xx2;
%入力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(abs(OUT{count*2+1}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(OUT{count*2+1}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
X2=fft(xx2,nfft);
XX2=20*log10(abs(X2))+z;
%入力信号周波数特性算出
SXX{2*count+1}=XX2;
%入力信号周波数特性保存
SS2=fft(s2,nfft);
- 141 -
dSS2=20*log10(abs(SS2))+z;
%出力信号周波数特性算出
SSS{2*count+1}=dSS2;
%出力信号周波数特性算出
D2=X2-OUT1H.*(H);
%歪算出
XP2=10*log10((sum(abs(D2).^2))/(sum(abs(X2).^2)));
%歪(絶対)レベル算出
DLALL(count*2+1)=10*log10(sum(abs(D2).^2))+z;
%歪レベル保存
YLALL(count*2+1)=10*log10(sum(abs(X2).^2))+z;
%出力レベル保存
%%%%周波数帯域選択処理サブユニット%%%%
DN=D;
%周波数帯域選択処理を行うDNを
生成
DN(abs(D2)>abs(D))=0;
%周波数帯域選択処理
%%%%サブユニットここまで%%%%
S3=(S-DN.*conj(H)./DH);
%入力信号更新(周波数)
s3=real(ifft(S3));
%S3変換
%%%%%%%%%%周波数帯域選択前フェーズここまで%%%%%%%%%%
%%%%%%%%%%周波数帯域選択後フェーズここから%%%%%%%%%%
IN{count*2+2}=s3;
%出力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(abs(IN{count*2+1}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(IN{count*2+1}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
xx3 = pa_wavplayrecord( s3, [], Fs, length( s3 ), 1, 1, [], 'asio' );
OUT{count*2+2}=xx3;
%入力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
- 142 -
if max(abs(OUT{count*2+2}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(OUT{count*2+2}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
X3=fft(xx3,nfft);
XX3=20*log10(abs(X3))+z;
%入力信号周波数特性算出
SXX{2*count+2}=XX3;
%入力信号周波数特性保存
SS3=fft(s3,nfft);
dSS3=20*log10(abs(SS3))+z;
%出力信号周波数特性算出
SSS{2*count+2}=dSS3;
%出力信号周波数特性保存
D3=X3-OUT1H.*(H);
%歪算出
XP3=10*log10((sum(abs(D3).^2))/(sum(abs(X3).^2)));
%歪(絶対)レベル算出
%%%%%%%%%%周波数帯域選択後フェーズここまで%%%%%%%%%%
%%%%条件分岐用の積分ユニット%%%%
D2P=sum(abs(D2).^2);
%選択前
D3P=sum(abs(D3).^2);
%選択後
%%%%ユニットここまで%%%%
if(((D2P<=D3P)&&(sentaku == 1))||(sentaku == 3))
DLALL(count*2+2)=10*log10(sum(abs(D2).^2))+z;
%歪レベル保存
YLALL(count*2+2)=10*log10(sum(abs(X2).^2))+z;
%出力レベル保存
%%%%データ更新ユニット%%%%
if XP2 < sbestdB
sbestdB=XP2;
%sbestdB更新
sbest=s2;
%sbest更新
end
- 143 -
S=S2;
%S更新
S2=(S-D2.*conj(H)./(DH));
%S2更新
s2=real(ifft(S2));
%s2更新
D=D2;
%D更新
%%%%ユニットここまで%%%%
%%%%中断判定ユニット%%%%
if XP2>sbestdB+dBg;
break;
end
%%%%ユニットここまで%%%%
end
if(((D2P>D3P)&&(sentaku == 1))||(sentaku == 2))
DLALL(count*2+2)=10*log10(sum(abs(D3).^2))+z;
%歪レベル保存
YLALL(count*2+2)=10*log10(sum(abs(X3).^2))+z;
%出力レベル保存
%%%%データ更新ユニット%%%%
if XP3 < sbestdB
sbestdB=XP3;
%sbestdB更新
sbest=s3;
%sbest更新
end
S=S3;
%S更新
S2=(S-D3.*conj(H)./DH);
%S2更新
s2=real(ifft(S2));
%s2更新
D=D3;
%D更新
%%%%ユニットここまで%%%%
%%%%中断判定ユニット%%%%
if XP3>sbestdB+dBg;
break;
end
%%%%ユニットここまで%%%%
- 144 -
end
%%%%再帰低減処理終了判定ユニット%%%%
if count == 10
break;
end
%%%%ユニットここまで%%%%
count=count+1;
close all;
%ウィンドウをすべて消去
end
Adcount=count*2+2;
%インデックス終点
gorl=Adcount;
%出力レベル評価軸終点
[val ind]=min(YLALL(start:gorl));
%最低出力レベル・インデックス算
出
start=Adcount+1;
%出力レベル評価軸始点更新
MINIMUM=IN{ind};
%最小出力レベル時波形をキープ
%%%%%%主要・サイズ大データ保存ユニット%%%%%%
%保存データ:IN{n},OUT{n},SXX{n},SSS{n}
save([SAVENAME '_' num2str(rec_count+1) 'times(backups)_.mat'],'IN*','OUT*','SXX*','SSS*');%
主要データ保存
%%%%%%保存ユニットここまで%%%%%%
'1回目終了'
%%%%%%%%%%%%%%%%%%%%%%%%%%補正n回目%%%%%%%%%%%%%%%%%%%%%%%%%
while(1)
- 145 -
%%%%%%主要・サイズ大データデータクリアユニット%%%%%%
clear IN* OUT* SSS* SXX*
clear H S DH D D2 D2L D3 D3L DD DDS DN DS OUT1 OUT1H R RR S2 S3 SS2 SS3 X X2 X3 XS XX XX2 XX3
XXS dOUT1 dSS2 dSS3 s2 s3 sbest out1 out1h
%%%%%%クリアユニットここまで%%%%%%
rec_count=rec_count+1;
%追加補正回数更新
out1=FIRST*sqrt(sum(abs(FIRST).^2)/sum(abs(MINIMUM).^2));
%音源信号補正
[z zz]=kousei(nfft);
%校正値読み込み
IN{1}=out1;
%出力信号保存
S=fft(IN{1},nfft);
%入力信号を変換
%%%%振り切れ防止処理ユニット%%%%%
if max(abs(IN{1}))>0.9
fprintf('振幅エラー end')
return;
elseif max(abs(IN{1}))>0.5
fprintf('warning!')
end
%%%%ユニットここまで%%%%
%%%%インパルス応答計測ユニット%%%%
[tsp,Itsp] = mktsp(Fs, nfft, A);
%TSP波形を生成
wavwrite(tsp,Fs,'スイープ波.wav')
%TSPデータ保存
y = pa_wavplayrecord( tsp, [], Fs, length( tsp ), 1, 1, [], 'asio' );%応答算出
HH=fft(y,nfft*2);
ITSP=fft(Itsp,nfft*2);
H=HH.*ITSP;
%伝達関数算出
h=real(ifft(H));
%元のインパルス応答算出
- 146 -
%%今後の処理に用いる伝達関数の算出%%
[mv,mvi]=max(abs(h(:,1)));
%ピーク値とインデックスを算出
ho=h(1:mvi+3000,1);
%波形の切り出し
H=fft(ho,nfft);
H2=abs(H).^2;
%伝達関数生成
DH=H2+max(H2)*Li;
%振幅調整
%%算出処理ここまで%%
%%%%ユニットここまで%%%%
xx = pa_wavplayrecord( out1, [], Fs, length( out1 ), 1, 1, [], 'asio' );
OUT{1}=xx;
%入力信号保存
%%%%振り切れ防止処理ユニット%%%%%
if max(OUT{1})>0.9
fprintf('振幅エラー end')
max(OUT{1})
return;
elseif max(OUT{1})>0.5
fprintf('warning!')
end
%%%%ユニットここまで%%%%
X=fft(xx,nfft);
XX=20*log10(abs(X))+z;
%入力信号周波数特性算出
SXX{1}=XX;
%入力信号周波数特性保存
R=H.*S;
%理想の周波数成分産出
OUT1=fft(out1,nfft);
dOUT1=20*log10(abs(OUT1))+z;
%出力信号周波数特性算出
SSS{1}=dOUT1;
%出力信号周波数特性保存
D=X-R;
%D:非線形成分 D(L)
- 147 -
%%%%線形歪除去ユニット%%%%
OUT1H=(S.*(conj(H))./(abs(H).^2+max(abs(H).^2)*0.01));
%線形歪補正処理
SSS{2}=20*log10(abs(OUT1H))+z;
%出力信号周波数特性算出・保存
out1h=real(ifft(OUT1H));
%変換
IN{2}=out1h;
%出力信号保存
xs = pa_wavplayrecord( out1h, [], Fs, length( out1h ), 1, 1, [], 'asio' );
OUT{2}=xs;
%入力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(OUT{2})>0.9
fprintf('振幅エラー end')
return;
elseif max(OUT{2})>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%
XS=fft(xs,nfft);
XXS=20*log10(abs(XS))+z;
%入力信号周波数特性算出
SXX{2}=XXS;
%入力信号周波数特性保存
DS=XS-OUT1H.*(H);
%歪成分算出
XPS=10*log10((sum(abs(DS).^2))/(sum(abs(XS).^2)));
%歪(絶対)レベル算出(線形補正
後)
%%%%線形歪除去ユニットここまで%%%%
XP=10*log10((sum(abs(D).^2))/(sum(abs(X).^2)));
%歪(絶対)レベル算出(補正前)
DLALL(Adcount+1)=10*log10(sum(abs(D).^2))+z;
%補正前歪レベル
YLALL(Adcount+1)=10*log10(sum(abs(X).^2))+z;
%補正前出力レベル
DLALL(Adcount+2)=10*log10(sum(abs(DS).^2))+z;
%線形補正後歪レベル
YLALL(Adcount+2)=10*log10(sum(abs(XS).^2))+z;
%線形補正後出力レベル
sbest=out1;
%最もよい波形データ(仮置き)
sbestdB=XP;
%最もよい歪レベル(仮置き)
- 148 -
%%%%データ更新ユニット%%%%
if XPS < sbestdB
sbestdB=XPS;
%sbestdB更新
sbest=out1h;
%sbest更新
end
D=DS;
%D更新(キープ)
S=OUT1H;
%S更新(キープ)
%%%%ユニットここまで%%%%
S2=(OUT1H-D.*conj(H)./DH);
%出力信号更新(周波数領域)
s2=real(ifft(S2));
%S2変換
count=1;
%カウント変数(再帰回数)
%%%%%%%%再帰処理ユニット%%%%%%%%
while(1)
%%%%%%%%%%周波数帯域選択前フェーズここから%%%%%%%%%%
IN{count*2+1}=s2;
%出力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(abs(IN{count*2+1}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(IN{count*2+1}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
xx2 = pa_wavplayrecord( s2, [], Fs, length( s2 ), 1, 1, [], 'asio' );
OUT{count*2+1}=xx2;
%入力信号保存
- 149 -
%%%%振り切れ防止処理サブユニット%%%%%
if max(abs(OUT{count*2+1}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(OUT{count*2+1}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
X2=fft(xx2,nfft);
XX2=20*log10(abs(X2))+z;
%入力信号周波数特性算出
SXX{2*count+1}=XX2;
%入力信号周波数特性保存
SS2=fft(s2,nfft);
dSS2=20*log10(abs(SS2))+z;
%出力信号周波数特性算出
SSS{2*count+1}=dSS2;
%出力信号周波数特性算出
D2=X2-OUT1H.*(H);
%歪算出
XP2=10*log10((sum(abs(D2).^2))/(sum(abs(X2).^2)));
%歪(絶対)レベル算出
DLALL(Adcount+count*2+1)=10*log10(sum(abs(D2).^2))+z;
%歪レベル保存
YLALL(Adcount+count*2+1)=10*log10(sum(abs(X2).^2))+z;
%出力レベル保存
%%%%周波数帯域選択処理サブユニット%%%%
DN=D;
%周波数帯域選択処理を行うDNを
生成
DN(abs(D2)>abs(D))=0;
%周波数帯域選択処理
%%%%サブユニットここまで%%%%
S3=(S-DN.*conj(H)./DH);
%入力信号更新(周波数)
s3=real(ifft(S3));
%S3変換
%%%%%%%%%%周波数帯域選択前フェーズここまで%%%%%%%%%%
- 150 -
%%%%%%%%%%周波数帯域選択後フェーズここから%%%%%%%%%%
IN{count*2+2}=s3;
%出力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(abs(IN{count*2+1}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(IN{count*2+1}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
xx3 = pa_wavplayrecord( s3, [], Fs, length( s3 ), 1, 1, [], 'asio' );
OUT{count*2+2}=xx3;
%入力信号保存
%%%%振り切れ防止処理サブユニット%%%%%
if max(abs(OUT{count*2+2}))>0.9
fprintf('振幅エラー end')
break;
elseif max(abs(OUT{count*2+2}))>0.5
fprintf('warning!')
end
%%%%サブユニットここまで%%%%%
X3=fft(xx3,nfft);
XX3=20*log10(abs(X3))+z;
%入力信号周波数特性算出
SXX{2*count+2}=XX3;
%入力信号周波数特性保存
SS3=fft(s3,nfft);
dSS3=20*log10(abs(SS3))+z;
%出力信号周波数特性算出
SSS{2*count+2}=dSS3;
%出力信号周波数特性保存
D3=X3-OUT1H.*(H);%歪算出
XP3=10*log10((sum(abs(D3).^2))/(sum(abs(X3).^2)));
%%%%%%%%%%周波数帯域選択後フェーズここまで%%%%%%%%%%
- 151 -
%歪(絶対)レベル算出
%%%%条件分岐用の積分ユニット%%%%
D2P=sum(abs(D2).^2);
%選択前
D3P=sum(abs(D3).^2);
%選択後
%%%%ユニットここまで%%%%
if(((D2P<=D3P)&&(sentaku == 1))||(sentaku == 3))
%%%%%%%%
(13)
%%%%%%%%%%%%%%%
DLALL(Adcount+count*2+2)=10*log10(sum(abs(D2).^2))+z;
%歪レベル保存
YLALL(Adcount+count*2+2)=10*log10(sum(abs(X2).^2))+z;
%出力レベル保存
%%%%データ更新ユニット%%%%
if XP2 < sbestdB
sbestdB=XP2;
%sbestdB更新
sbest=s2;
%sbest更新
end
S=S2;%S更新
S2=(S-D2.*conj(H)./(DH));
%S2更新
s2=real(ifft(S2));
%s2更新
D=D2;
%D更新
%%%%ユニットここまで%%%%
%%%%中断判定ユニット%%%%
if XP2>sbestdB+dBg;
break;
end
%%%%ユニットここまで%%%%
%%%%%%%%
(13)
%%%%%%%%%%%%%%%
end
if(((D2P>D3P)&&(sentaku == 1))||(sentaku == 2))
%%%%%%%%
(14)
%%%%%%%%%%%%%%%
DLALL(Adcount+count*2+2)=10*log10(sum(abs(D3).^2))+z;
%歪レベル保存
YLALL(Adcount+count*2+2)=10*log10(sum(abs(X3).^2))+z;
%出力レベル保存
- 152 -
%%%%データ更新ユニット%%%%
if XP3 < sbestdB
sbestdB=XP3;
sbest=s3;
end
S=S3;%S更新
S2=(S-D3.*conj(H)./DH);
%S2更新
s2=real(ifft(S2));
%s2更新
D=D3;
%D更新
%%%%ユニットここまで%%%%
%%%%中断判定ユニット%%%%
if XP3>sbestdB+dBg;
break;
end
%%%%ユニットここまで%%%%
end
%%%%再帰低減処理終了判定ユニット%%%%
if count == 10
break;
end
%%%%ユニットここまで%%%%
count=count+1;
close all;
%ウィンドウをすべて消去
end
gorl=Adcount+count*2+2;
%出力レベル評価軸終点更新
[val ind]=min(YLALL(start:gorl));
%最小データ・インデックス算出
MINIMUM=IN{ind};
%最小データ更新
Adcount=Adcount+count*2+2;
%インデックス終点更新
start=Adcount+1;
%出力レベル評価軸始点更新
%%%%終了判定ユニット(最大20回)%%%%
- 153 -
if abs(YLALL(ind)-YLALL(1)) < 1
save([SAVENAME '_' num2str(rec_count+1)
'times(backups)_.mat'],'IN*','OUT*','SXX*','SSS*');
break;
elseif rec_count==20
save([SAVENAME '_' num2str(rec_count+1)
'times(backups)_.mat'],'IN*','OUT*','SXX*','SSS*');
break;
else
save([SAVENAME '_' num2str(rec_count+1)
'times(backups)_.mat'],'IN*','OUT*','SXX*','SSS*');
end
%%%%ユニットここまで%%%%
end
close all;
wavwrite(sbest,Fs,wfname);
sfname=[SAVENAME '.mat'];
save(sfname)
end
- 154 -
付録 3 収録位置の変更
付録 3-1 導入
前節までの実験では, スピーカに対しマイクホンを正面の位置に設置
していた. しかしマイクロホンの位置を変えた場合の非線形低減能力の
比較が行われていない. また受聴者もスピーカに対し常に正面にあると
は限らない. そこで本節ではマイクロホンの位置を変化させたときの非
線形歪低減能力の比較を行う.
付録 3-2 実験条件
2000Hz の正弦波を用い, 第 5 章と同様の非線形歪低減処理を行う. 使
用機材は第 4 章と同様であるが, マイクロホンはスピーカの正面と 40cm
右方の 2 箇所に設置する. なお歪補正の基準となるのは正面のマイクロ
ホンより収録したものであり, 40cm 右方のマイクロホンでは歪の計測の
みを行う. なお歪の算出に用いる伝達関数は各々の騒音計にて計測する.
設置イメージ図を図(付 3)-1 に示す. 実験環境は一般室内 D(A-2410
室)(図(付 3)-2)である.
- 155 -
図(付 3)-1 設置イメージ図
図(付 3)-2 一般室内 D(A-2410 室)
- 156 -
付録 3-3 実験結果
実験の結果を以下の図(付 3)-3 及び図(付 3)-4 に示す. 図(付 3)-3 はスピ
ーカに対し正面のマイクロホン, 図(付 3)-4 スピーカに対し 40cm 右方の
マイクロホンの出力と歪の推移であり, グラフの横軸は補正回数[回], 縦
軸は SPL[dB]である. また歪の周波数特性を図(付 3)-5~図(付 3)-8 に示す.
図(付 3)-5 はマイクロホン位置正面の補正前, 図(付 3)-6 はマイクロホン
位置正面の補正後, 図(付 3)-7 はマイクロホン位置 40cm 右方の補正前,
図(付 3)-8 はマイクロホン位置 40cm 右方の補正後であり, グラフの横軸
は周波数[Hz], 縦軸は SPL[dB]である.
Level
95
歪レベル
出力レベル
Sound pressure level [dB]
90
85
80
75
70
65
60
0
2
4
6
8
10
Number of iteration L (times)
図(付 3)-3 マイクロホン位置正面
- 157 -
12
Level
85
歪レベル
出力レベル
Sound pressure level [dB]
80
75
70
65
60
55
0
2
4
6
8
10
Number of iteration L (times)
12
図(付 3)-4 マイクロホン位置 40cm 右方
Nonlinear distortion for equalised input (Loop:1) (-4.51 dB)
80
70
SPL [dB]
60
50
40
30
20
10
0
0
0.5
1
1.5
Frequency [Hz]
2
4
x 10
図(付 3)-5 非線形歪の周波数特性(マイクロホン位置正面 補正前)
- 158 -
Nonlinear distortion for equalised input (Loop:21) (-25.27 dB)
80
70
SPL [dB]
60
50
40
30
20
10
0
0
0.5
1
1.5
Frequency [Hz]
2
4
x 10
図(付 3)-6 非線形歪の周波数特性(マイクロホン位置正面 補正後)
Nonlinear distortion for equalised input (Loop:1) (-5.542 dB)
80
0.5
1
1.5
Frequency [Hz]
70
SPL [dB]
60
50
40
30
20
10
0
0
2
4
x 10
図(付 3)-7 非線形歪の周波数特性
(マイクロホン位置 40cm 右方 補正前)
- 159 -
Nonlinear distortion for equalised input (Loop:21) (-17.5 dB)
80
70
SPL [dB]
60
50
40
30
20
10
0
0
0.5
1
1.5
Frequency [Hz]
2
4
x 10
図(付 3)-8 非線形歪の周波数特性
(マイクロホン位置 40cm 右方 補正後)
付録 3-4 考察
図(付 3)-3~図(付 3)-8 より, 正面の場合約 26dB, 40cm 右方では約 17dB
の歪の低減が確認された. また出力の減衰レベルは両者とも約 7dB であ
った. また歪の周波数特性を見ると, 補正前と比べ, 正面, 40cm 右方と
も低減しているのがわかる. 従ってマイクロホンの位置を変化させると,
正面と比べ低減率は劣るが, この非線形歪補正法は有効であることが明
らかとなった.
- 160 -
付録 4 騒音計の歪測定
付録 4-1 導入
前節までの実験では, 騒音計をマイクロホンとして使用していたが,
騒音計自身から生じる歪の計測が行われていなかった. そこで本章では
歪の少ないコンデンサヘッドホン, IC レコーダを用いて, 騒音計より歪
が生じているかの調査を行う.
付録 4-2 実験条件
2000Hz 正弦波を用い, 非線形歪の測定を行う. 使用機材は第 4 章とほ
ぼ同様であるが, スピーカの代わりに歪のほとんどないコンデンサヘッ
ドホン(STAX 社製 SR-202 歪レベル-100dB)(図(付 4)-1)を用いる. マイ
クロホンは, 本論文で用いた騒音計(リオン社製 NA-20)と IC レコーダ
(TEAC 社製 TASCAM DR-05 歪レベル-66dB) (図(付 4)-2)である. 実験
環境は防音室(B-0627 室)である.
図(付 4)-1 コンデンサヘッドホン
- 161 -
図(付 4)-2 IC レコーダ(TASCAM DR-05)
付録 4-3 実験結果
実験の結果を以下の図(付 4)-3 及び図(付 4)-4 に示す. 図(付 4)-3 は普通
騒音計(NA-20), 図(付 4)-4 は TASCAM DR-05 の非線形歪の周波数特性
であり, グラフの横軸は周波数[Hz], 縦軸は SPL[dB]である. またピーク
が 0dB となるように正規化を行っている
- 162 -
Nonlinear distortion for original input (dB:77.043) (D/X:-5.906dB)
0
-10
Level [dB]
-20
-30
-40
-50
-60
-70
-80
0
0.5
1
1.5
Frequency [Hz]
2
4
x 10
図(付 4)-3 非線形歪の周波数特性(普通騒音計 NA-20)
Nonlinear distortion for original input (dB:62.416) (D/X:-6.019dB)
0.5
1
1.5
Frequency [Hz]
0
-10
Level [dB]
-20
-30
-40
-50
-60
-70
-80
0
2
4
x 10
図(付 4)-4 非線形歪の周波数特性(IC レコーダ TASCAM DR-05)
- 163 -
付録 4-4 考察
図(付 4)-3, 図(付 4)-4 より, 普通騒音計では出力に対し最大-52dB 程の
歪が生じているが, TASCAM D-05 では最大でも-67dB 程であった. これ
より本論文で使用していた普通騒音計自体が微小の歪を生じていること
がわかる. また計測器に含まれる歪以下には非線形歪を低減できないこ
とから, 普通騒音計を用いて非線形歪低減処理を行うと, 歪をほとんど
生じない計測器を用いたものと比べ, 非線形歪低減能力が低下すると考
えられる.
また出力に対する全体の歪レベルは普通騒音計, TASCAM D-05 とも
-6dB 程であった. 両者の歪レベルの差がほぼなくなった原因として, 普
通騒音計では基音の 0.5, 2, 3 倍及び高周波部分にレベルの高い成分が含
まれ, 一方 TASCAM D-05 では, 2 倍音付近以外でレベルの高い個所は見
られないが, 直流部付近にノイズと思われるレベルの高い成分が含まれ
ていたことが考えられる.
- 164 -