SlideShare a Scribd company logo
1 of 19
Download to read offline
課題解説(その4)
高速フーリエ変換、離散コサイン変換
• 課題31:バタフライ計算の計算量
• 課題32:行ー列分解アルゴリズムの計算量
• 課題33: チェビシェフ多項式

• 課題34:DFTによるDCTの計算
• 課題35:離散コサイン変換の手計算
課題30
時間間引きFFTアルゴリズムの計算量が
𝑂 𝑁log 2 𝑁 になることを証明しなさい
課題31
• 時間間引きアルゴリズムの計算式
𝑁
( 2 −1)

𝑋 𝑘 =
計算量は𝑂
𝑁→

𝑁
2

→

𝑁
4

𝑥 2𝑟
𝑛=0
𝑁
−1
2

𝑊2
𝑁

𝑟𝑘

𝑁
( 2 −1)

+ 𝑊 𝑁𝑘

𝑥 2𝑟 + 1

𝑊2
𝑁

𝑟𝑘

𝑛=0

= 𝑂(𝑁)

→ ⋯と1になるまで計算していった時の計算回数は

𝑂(log 𝑁)(2 𝑘 = 𝑁なので)

よって全体の計算量はO(Nlog N)
課題31
• Nが2の累乗以外の数字だったら(N=9の場合)

x(0)
x(8)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)

X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)
X(8)

演算時,Nが奇数ならば
値を一つ無視して偶数
にしてから演算を行う
→非効率
課題31
• MATLABでは信号の長さを2の累乗にして行うとより高速である
• 後々出てくる短時間フーリエ変換で信号を切り出す際には切り出す信号の
大きさを2の累乗にするとよい(1024とか2048など)
• 信号全体をFFTしたいときは元の信号に0を付加して2の累乗にすることも

ある
• (xが信号のとき): fftsize=2^ceil(log2(length(x)));もしくはfftsize =

nextpow2(length(x));これは指定値以上の最小の 2 のべき乗の指数を求めて
いる 本来ならfftsize>length(x)ならばxに0が付加されfftsize<length(x)ならばx
の信号をカットすることにより両者をそろえているが、指定値以上にすることによ
り信号が勝手にカットされることがなくなる
課題32
行-列分解アルゴリズムの計算量が
𝑂 𝑁3
さらに1D-FFTを使うと
𝑂(𝑁 2 log 2 𝑁)
になることを証明しなさい
課題32
𝑀−1 𝑁−1

𝑓 𝑚, 𝑛 𝑊1 𝑚𝑢 𝑊2𝑛𝑣

𝐹 𝑢, 𝑣 =
𝑚=0 𝑛=0

𝑁−1

𝑀−1

𝐹 𝑢, 𝑛 𝑊2𝑛𝑣 (𝐹 𝑢, 𝑛 =

=
𝑛=0

𝑓 𝑚, 𝑛 𝑊1 𝑚𝑢 )
𝑚=0

とnを固定し一次元に落とせば
一次元の離散フーリエ変換を合計(M+N)回行えばよいことに
なる.
よってを通常のDFTで行えば𝑂 𝑁・𝑁 2 + 𝑀・𝑀2 = 𝑂(𝑁 3 )
FFTを用いれば𝑂 𝑁𝑁 log 2 𝑁 + 𝑀𝑀 log 2 𝑀 = 𝑂(𝑁 2 log 𝑁)の
計算量で解ける
課題33
チェビシェフ多項式が直交系列であることを証明しなさい
すなわち
𝑇0 𝑚 =

1
√2

𝑇 𝑘 𝑚 = cos( 2𝑚 + 1 𝑘𝜋/2𝑀)
において
𝑀−1

𝑇 𝑘 𝑚 𝑇𝑙 𝑚 =
𝑚=0

(𝑚 = 1,2, … , 𝑀 − 1)
𝑀
(𝑘 = 𝑙 = 0)
2
𝑀
(𝑘 = 𝑙 ≠ 0)
2
0 (𝑘 ≠ 𝑙)
課題33
(1)𝑘 = 𝑙 = 0の場合
𝑀−1
𝑚=0{𝑇0

𝑚

}2

= 𝑀

1 2
2

=

𝑀
2

(2)𝑘 = 𝑙 ≠ 0の場合
𝑀−1
𝑚=0{𝑇0

=

𝑚

𝑀−1 1
𝑚=0 2 (1

}2

=

+ cos

𝑀−1
𝑚=0

cos(

2𝑚+1 𝑘𝜋
)
𝑀

2𝑚+1 𝑘𝜋 2
)
2𝑀

(2倍角の定理)

ここで
=

𝑀−1
𝑚=0 cos

2𝑚+1 𝑘𝜋
𝑀

=

𝑀−1
𝑚=0

𝑅𝑒[𝑒

𝑗 2𝑚+1 𝑘𝜋
𝑀

]
課題33
𝑒

= 𝑅𝑒

𝑘𝜋
𝑗 𝑀

1−𝑒

1−𝑒

2𝑘𝜋
𝑗 𝑀 𝑀

2𝑘𝜋
𝑗 𝑀

(等比数列の和)

ここで任意のkについて𝑒
𝑀−1
𝑚=0{𝑇0

𝑀−1 1
𝑚=0 2

𝑚 }2 =

2𝑘𝜋

𝑗 𝑀 𝑀

= 𝑒 𝑗2𝑘𝜋 = 1であるから

1+0 =

𝑀
2

(3)𝑘 ≠ 𝑙のとき
𝑀−1
𝑚=0

=
=

1
2
1
2

2𝑚+1 𝑘𝜋
2𝑚+1 𝑙𝜋
𝑀−1
𝑇 𝑘 [𝑚]𝑇𝑙 [𝑚] = 𝑚=0 cos(
) cos(
)
2𝑀
2𝑀
2𝑚+1 (𝑘+𝑙)𝜋
2𝑚+1 (𝑘−𝑙)𝜋
𝑀−1
cos(
) cos(
)
𝑚=0
2𝑀
2𝑀

𝑅𝑒

𝑒

(𝑘+𝑙)𝜋
𝑗 2𝑀

1−𝑒

1−𝑒

𝑗

𝑗

2(𝑘+𝑙)𝜋
𝑀
2𝑀

2(𝑘+𝑙)𝜋
2𝑀

+

𝑒

(𝑘−𝑙)𝜋
𝑗 2𝑀

1−𝑒

1−𝑒

𝑗

𝑗

2(𝑘−𝑙)𝜋
𝑀
2𝑀

2(𝑘−𝑙)𝜋
2𝑀
課題33
𝑘 + 𝑙が偶数ならば(2)と同様にして解ける((2)は(3)の特殊な例
である)
二つの項がどちらも0になるので値は0となる
𝑘 + 𝑙が奇数の時𝑘 + 𝑙 = 2ℎ + 1(hは整数)として𝑘 − 𝑙 = 2(ℎ −
𝑙) + 1となるから
=

=

1
2
1
2

𝑅𝑒

𝑒

𝑗

(2ℎ+1)𝜋
2𝑀

1−𝑒

1−𝑒

𝑅𝑒

𝑒

𝑗

(2ℎ+1)𝜋
2𝑀

1−𝑒

𝑗

𝑗

2(2ℎ+1)𝜋
𝑀
2𝑀

2(2ℎ+1)𝜋
2𝑀

1−𝑒 jπ

2(2ℎ+1)𝜋
𝑗
2𝑀

+

+

𝑒

𝑗

(2(ℎ−𝑙)+1)𝜋
2𝑀

1−𝑒
𝑒

𝑗

(2(ℎ−𝑙)+1)𝜋
2𝑀

1−𝑒

𝑗

1−𝑒 jπ

2(2(ℎ−𝑙)+1)𝜋
2𝑀

1−𝑒
𝑗

𝑗

2(2(ℎ−𝑙)+1)𝜋
𝑀
2𝑀

2(2(ℎ−𝑙)+1)𝜋
2𝑀
課題33
=

1
2

𝑅𝑒

(2ℎ+1)𝜋
2𝑀

2𝑒

𝑗

1−𝑒

𝑗

2(2ℎ+1)𝜋 +
2𝑀

(2(ℎ−𝑙)+1)𝜋
2𝑀

2𝑒

𝑗

1−𝑒

𝑗

2(2(ℎ−𝑙)+1)𝜋
2𝑀

ここで第一項のみを考える𝑥 =

2 2ℎ+1 𝜋
とおくと
2𝑀

cos 𝑥 1−cos 2𝑥 −sin 𝑥 sin 2𝑥
1−cos 2𝑥 2 −(sin 2𝑥)2

2倍角の公式より
=

cos 𝑥 (1−cos2 𝑥+sin2 𝑥 −2 sin2 𝑥)
1−cos 2𝑥 2 −(sin 2𝑥)2

=0

第2項も同様の計算で0になるのでこの式の値は0
チェビシェフ多項式は直交系列である
課題34
𝑥[𝑛]に0を付加して長さ2Nの系列を作る
𝑥 𝑛 (0 ≤ 𝑛 ≤ 𝑁 − 1)
𝑥 𝑛 =
0 (𝑁 ≤ 𝑛 ≤ 2𝑁 − 1)
この時
X0 =
Xk =

2
𝑁
2
𝑅𝑒
𝑁

exp −

を証明しなさい

𝑗𝑘𝜋
2𝑁

2𝑁−1
𝑛=0

𝑛𝑘
𝑥 𝑛 𝑊2𝑁 (1 ≤ 𝑘 ≤ 𝑁 − 1)
課題34
この問題は離散フーリエ変換と離散コサイン変換は密接な関係があるという
ことを証明すればよい
DFTの定義式から始まる
𝑋 𝑘 =
=

2
𝑁

=

2
𝑁

𝑅𝑒

2
N

𝑁−1
𝑛=0
𝑁−1
𝑛=0

𝑥 𝑛 𝑒

𝑅𝑒 exp(−

2𝜋𝑘𝜋

𝑥 𝑛 cos

𝑗𝑘𝜋
)
2𝑁

−𝑗

2𝑛+1 𝑘𝜋
2𝑁

2𝑛+1 𝑘𝜋
2𝑁

𝑁−1
𝑛=0

𝑥 𝑛 𝑒

𝑒 −𝑗 2𝑁

𝑗𝑘𝜋
)
2𝑁

2𝜋𝑘𝜋
2𝑁

𝑛𝑘
= 𝑊2𝑁 であるから

2
𝑁

−𝑗

=

𝑅𝑒 exp(−

𝑁−1
𝑛=0

𝑛𝑘
𝑥 𝑛 𝑊2𝑁

N ≤ n ≤ 2N − 1において𝑥 𝑛 = 0であるから

=

2
𝑁

𝑅𝑒 exp(−

𝑗𝑘𝜋
)
2𝑁

2𝑁−1
𝑛=0

𝑛𝑘
𝑥 𝑛 𝑊2𝑁
課題35
以下の画像の離散コサイン変換を計算し,そのパワースペクト
ルを求めなさい.なお,計算は手計算で行うこととし, 白画素,
黒画素の値はそれぞれ1,0とし,画像の大きさは、2*2、4*4の
2つの場合を 求めなさい.
課題35
定義式が違うだけで課題25と同様にして解ける
𝑁−1 𝑁−1

𝑋 𝑢, 𝑣 = 𝑐 𝑢 𝑐 𝑣

𝑥 𝑛, 𝑚 cos
𝑛=0 𝑚=0

であるから2x2なら
𝑋=

1
2
1
2

1
2
1
2

𝑥

1
2
1
2

1
2
1
2

2𝑛 + 1 𝑢𝜋
2𝑚 + 1 𝑢𝜋
cos
(𝑐 𝑢 , 𝑐 𝑣 =
2𝑁
2𝑁

4x4なら

𝐴=

1
2
1
2
1
2

1/2

1/2
𝜋

cos 8

2𝜋
8
3𝜋
cos 8

cos

とすると𝑋 = 𝐴𝑥𝐴 𝑡
を計算する

1
2
1
2
1
2

3𝜋
8
6𝜋
cos 8
9𝜋
cos 8

cos

1/2
1
2
1
2
1
2

5𝜋
8
10𝜋
cos 8
15𝜋
cos 8

cos

1
(𝑢, 𝑣 = 0)
𝑁
2
(𝑢, 𝑣 ≠ 0)
𝑁
1/2

1
2
1
2
1
2

7𝜋
8
14𝜋
cos 8
21𝜋
cos 8

cos

)
課題35
解答
課題35
視覚的に計算してみると

=
−
1

0

-1

0

More Related Content

What's hot

形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換
Tsukasa Fukunaga
 

What's hot (20)

形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換
 
[DL輪読会]Learning quadrupedal locomotion over challenging terrain
[DL輪読会]Learning quadrupedal locomotion over  challenging terrain[DL輪読会]Learning quadrupedal locomotion over  challenging terrain
[DL輪読会]Learning quadrupedal locomotion over challenging terrain
 
[DL輪読会]The Cramer Distance as a Solution to Biased Wasserstein Gradients
[DL輪読会]The Cramer Distance as a Solution to Biased Wasserstein Gradients[DL輪読会]The Cramer Distance as a Solution to Biased Wasserstein Gradients
[DL輪読会]The Cramer Distance as a Solution to Biased Wasserstein Gradients
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半
 
ウィナーフィルタと適応フィルタ
ウィナーフィルタと適応フィルタウィナーフィルタと適応フィルタ
ウィナーフィルタと適応フィルタ
 
ウェーブレットと多重解像度処理
ウェーブレットと多重解像度処理ウェーブレットと多重解像度処理
ウェーブレットと多重解像度処理
 
Tokyo.R #46 Cox比例ハザードモデルとその周辺
Tokyo.R #46  Cox比例ハザードモデルとその周辺Tokyo.R #46  Cox比例ハザードモデルとその周辺
Tokyo.R #46 Cox比例ハザードモデルとその周辺
 
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組みフーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組み
 
スパースモデリング
スパースモデリングスパースモデリング
スパースモデリング
 
ヒルベルトの零点定理
ヒルベルトの零点定理ヒルベルトの零点定理
ヒルベルトの零点定理
 
qubitによる波動関数の虚時間発展のシミュレーション: a review
qubitによる波動関数の虚時間発展のシミュレーション: a reviewqubitによる波動関数の虚時間発展のシミュレーション: a review
qubitによる波動関数の虚時間発展のシミュレーション: a review
 
Multiple optimization and Non-dominated sorting with rPref package in R
Multiple optimization and Non-dominated sorting with rPref package in RMultiple optimization and Non-dominated sorting with rPref package in R
Multiple optimization and Non-dominated sorting with rPref package in R
 
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワークDeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
DeepLearning 10章 回帰結合型ニューラルネットワークと再帰型ネットワーク
 
異常音検知に対する深層学習適用事例
異常音検知に対する深層学習適用事例異常音検知に対する深層学習適用事例
異常音検知に対する深層学習適用事例
 
【DL輪読会】Semi-Parametric Neural Image Synthesis
【DL輪読会】Semi-Parametric Neural Image Synthesis【DL輪読会】Semi-Parametric Neural Image Synthesis
【DL輪読会】Semi-Parametric Neural Image Synthesis
 
汎化性能測定
汎化性能測定汎化性能測定
汎化性能測定
 
YOLACT real-time instance segmentation
YOLACT real-time instance segmentationYOLACT real-time instance segmentation
YOLACT real-time instance segmentation
 
A Brief Survey of Schrödinger Bridge (Part I)
A Brief Survey of Schrödinger Bridge (Part I)A Brief Survey of Schrödinger Bridge (Part I)
A Brief Survey of Schrödinger Bridge (Part I)
 
Compatibilité Electromagnétique de tous les jours.pdf
Compatibilité Electromagnétique de tous les jours.pdfCompatibilité Electromagnétique de tous les jours.pdf
Compatibilité Electromagnétique de tous les jours.pdf
 
5-2 簡諧運動-題目演練
5-2 簡諧運動-題目演練5-2 簡諧運動-題目演練
5-2 簡諧運動-題目演練
 

Similar to ディジタル信号処理 課題解説 その4

情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
Kazuma Mikami
 

Similar to ディジタル信号処理 課題解説 その4 (20)

【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について
 
Indeedなう B日程 解説
Indeedなう B日程 解説Indeedなう B日程 解説
Indeedなう B日程 解説
 
Introduction qc
Introduction qcIntroduction qc
Introduction qc
 
単調増加と階数
単調増加と階数単調増加と階数
単調増加と階数
 
単調増加と階数
単調増加と階数単調増加と階数
単調増加と階数
 
単調増加と階乗
単調増加と階乗単調増加と階乗
単調増加と階乗
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
 
linhyp.pdf
linhyp.pdflinhyp.pdf
linhyp.pdf
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
 
TopCoder SRM614 解説
TopCoder SRM614 解説TopCoder SRM614 解説
TopCoder SRM614 解説
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
双対性
双対性双対性
双対性
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 
はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 

ディジタル信号処理 課題解説 その4