SlideShare a Scribd company logo
課題解説 その9
ディジタルフィルタの設計2
• (課題61-64は課題65に統合)
• 課題65:バターワースフィルタに基づくディジタルフィルタの設計
• 課題66-69:移動平均フィルタに基づくディジタルフィルタの設計
• 課題70:双2次フィルタ(制作中)
• 課題71:イコライザ(制作中)
課題65
2次のバターワースフィルタを基に、
1.遮断周波数が100Hzの低域通過ディジタルフィルタ
2.遮断周波数が1000Hzの高域通過ディジタルフィルタ
3.通過周波数が400Hz~800Hzの帯域通過ディジタルフィルタ
4.遮断周波数が400Hz~800Hzの帯域遮断ディジタルフィルタ
を設計し、振幅特性のグラフを描きなさい
また、基になるバターワースフィルタの次数を高くすることによって、
振幅特性がどのように変化するかも調べなさい
課題65
clear all
close all
N=7; %次数
thresh=100; %カットオフ周波数
omega_c=thresh*2*pi; %周波数→角
周波数
%2次のバターワースフィルタを求める
[z,p,k] = buttap(N);
%伝達関数に変換
[b, a]= zp2tf(z,p,k);
%カットオフ周波数の変更
[bt,at] = lp2lp(b,a,omega_c);

buttapの出力[z,p,k]は
z…零点
p…極
k…ゲイン
𝑠− 𝑧 1
𝑠 − 𝑧 2 … (𝑠 − 𝑧(𝑚))
ℎ 𝑠 = 𝑘
𝑠− 𝑝 1
𝑠 − 𝑝 2 … (𝑠 − 𝑝(𝑛))
カットオフ周波数の変更
lp2lp…LPF→LPF
lp2hp…LPF→HPF
lp2bp…LPF→BPF
lp2bs…LPF→BEF
課題65
%双1次変換(s領域→z領域)
ここでフィルタが完成する
[numd,dend] = bilinear(bt,at,fs);
[H,W]=freqz(numd,dend,2048);
F1=(W*fs)/(2*pi*1000);
plot(F1,abs(H))
xlabel('frequency(kHz)');
ylabel('amplitude');
line([thresh/1000 thresh/1000],[0 1],'LineWidth',2,'Color','y');
line([0 5],[1/sqrt(2) 1/sqrt(2)],'LineWidth',2,'Color','y');
課題65
結果(2次)
課題65
結果(5次)
課題65
結果(7次)

IIRフィルタの場合,フィードバック回
路であるので次数が大きいと量子
化誤差の影響を大きく受ける
課題66-69
移動平均フィルタを基に、
1.遮断周波数が100Hzの低域通過ディジタルフィルタ
2.遮断周波数が1000Hzの高域通過ディジタルフィルタ
3.通過周波数が400Hz~800Hzの帯域通過ディジタルフィルタ
4.遮断周波数が400Hz~800Hzの帯域遮断ディジタルフィルタ
を設計し、振幅特性のグラフを描きなさい
また、基になるバターワースフィルタの次数を高くすることによって、
振幅特性がどのように変化するかも調べなさい
課題66-69
• 課題65ではアナログのフィルタを基にディジタルフィルタを制

作した 課題66からはディジタルフィルタを基にディジタルフィ
ルタを作成する
• 移動平均フィルタ

𝐻 𝑧 =

1 −𝑘
2
𝑘=0 3 𝑧

これ自体はLPFである(これを2次元に拡張すると講義中に出
てきた平滑化フィルタとなる)
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
課題66-69
• 特定の関数がないので自分で制作する
• しかし単純移動平均フィルタを用いて特定のカットオフ周波数

を持つフィルタは作れるのか…
• 次数を上げて近似的に作る

• 単純移動平均フィルタの振幅特性
• 𝐺=

𝑓𝑠
2𝜋𝑓𝑀

• Mは次数

2 1−

2𝜋𝑓𝑀
cos
𝑓𝑠
課題66-69
• カットオフ周波数に𝑓𝑐おいて1/ 2となる条件を求めると

𝑓𝑐・𝑀/𝑓𝑠 = 0.443
fs=44100Hz,fc=1000のとき
44100
𝑀 = 0.443・
= 19.5 ≈ 19
1000
課題66-69
fs=44100;
b=(1/19)*ones(1,19);a=1;
[H1,W]=freqz(b,a,512);
F1=(W*fs)/(2*pi*1000);
plot(F1,abs(H1),'b');
xlabel('frequency(kHz)');
ylabel('amplitude');
line([0 fs/2000+0.5],[1/sqrt(2)
1/sqrt(2)],'linewidth',2,'Color','y');
line([1 1],[0 1],'linewidth',2,'Color','y');
xlim([0 5]);

制作してみる
課題66-69
• HPFを作る
• 係数𝑎 𝑚 を −1

𝑚

𝑓𝑠
𝑚 に変換、カットオフ周波数( 2

𝑎
− 𝑓𝑐)となる
HPFが作成される
• fs=44100Hz,fc=44100/2-1000を代入
44100
𝑀 = 0.443・
= 0.93 ≈ 1
44100
− 1000
2
作れないのでやむを得ずfs=2500Hzとして再計算
2500
𝑀 = 0.443・
= 4.4 ≈ 4
2500
− 1000
2
課題66-69
• サンプリング周波数を下げると作成はできたが単純移動平均

フィルタの場合はサンプリング周波数の範囲が限定される
課題66-69
• BPFを作る
• 200HzのLPFを作り適切な次数を求める…98次
• 係数𝑎 𝑚 を2cos(2𝜋𝑘𝑓𝑐/𝑓𝑠)𝑎 𝑚 に変換
• fcは中央の600Hz、fsは44100Hz
fs=44100;
M=98;
b=(1/M)*ones(1,M);a=1;
for ii=1:M
b(ii)=2*b(ii)*cos(ii*2*pi*600/fs);
end
…(フィルタ作成部分のみ)
他も同様に変換していけばよいので省略

More Related Content

What's hot

今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
動的輪郭モデル
動的輪郭モデル動的輪郭モデル
動的輪郭モデル
Arumaziro
 
DeepLearningTutorial
DeepLearningTutorialDeepLearningTutorial
DeepLearningTutorial
Takayoshi Yamashita
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
Shuyo Nakatani
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
AtCoder Inc.
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
Yukara Ikemiya
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版
dsp_kyoto_2014
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
Takao Yamanaka
 
形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換Tsukasa Fukunaga
 
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組みフーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組み
yuichi takeda
 
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg 「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
Junpei Tsuji
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
Taketo Sano
 
確率ロボティクス第二回
確率ロボティクス第二回確率ロボティクス第二回
確率ロボティクス第二回
Ryuichi Ueda
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
Eita Sugimoto
 
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqsleipnir002
 
Crfと素性テンプレート
Crfと素性テンプレートCrfと素性テンプレート
Crfと素性テンプレート
Kei Uchiumi
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用
Ryo Iwaki
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
Kenjiro Sugimoto
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
Yasunori Ozaki
 

What's hot (20)

今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
動的輪郭モデル
動的輪郭モデル動的輪郭モデル
動的輪郭モデル
 
DeepLearningTutorial
DeepLearningTutorialDeepLearningTutorial
DeepLearningTutorial
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換
 
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組みフーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組み
 
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg 「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
 
確率ロボティクス第二回
確率ロボティクス第二回確率ロボティクス第二回
確率ロボティクス第二回
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
 
Crfと素性テンプレート
Crfと素性テンプレートCrfと素性テンプレート
Crfと素性テンプレート
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 

Viewers also liked

続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
kozossakai
 
Process Simulation using DWSIM
Process Simulation using DWSIMProcess Simulation using DWSIM
Process Simulation using DWSIM
Naren P.R.
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
Yasuhiro Yoshimura
 
Scilab: Computing Tool For Engineers
Scilab: Computing Tool For EngineersScilab: Computing Tool For Engineers
Scilab: Computing Tool For Engineers
Naren P.R.
 
Hough forestを用いた物体検出
Hough forestを用いた物体検出Hough forestを用いた物体検出
Hough forestを用いた物体検出
MPRG_Chubu_University
 
Cloud frontの概要と勘所
Cloud frontの概要と勘所Cloud frontの概要と勘所
Cloud frontの概要と勘所
Kei Hirata
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
nonane
 
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
Shohei Hido
 
有名論文から学ぶディープラーニング 2016.03.25
有名論文から学ぶディープラーニング 2016.03.25有名論文から学ぶディープラーニング 2016.03.25
有名論文から学ぶディープラーニング 2016.03.25
Minoru Chikamune
 
最先端NLP勉強会 “Learning Language Games through Interaction” Sida I. Wang, Percy L...
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
最先端NLP勉強会 “Learning Language Games through Interaction” Sida I. Wang, Percy L...
Yuya Unno
 
深層学習とTensorFlow入門
深層学習とTensorFlow入門深層学習とTensorFlow入門
深層学習とTensorFlow入門
tak9029
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
tak9029
 
Chainer, Cupy入門
Chainer, Cupy入門Chainer, Cupy入門
Chainer, Cupy入門
Yuya Unno
 
アセンブラ漢文
アセンブラ漢文アセンブラ漢文
アセンブラ漢文
kozossakai
 
20160724_cv_sfm_revisited
20160724_cv_sfm_revisited20160724_cv_sfm_revisited
20160724_cv_sfm_revisited
Kyohei Unno
 
20161203 cv 3_d_recon_tracking_eventcamera
20161203 cv 3_d_recon_tracking_eventcamera20161203 cv 3_d_recon_tracking_eventcamera
20161203 cv 3_d_recon_tracking_eventcamera
Kyohei Unno
 
Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16
tomoaki0705
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
Yasuhiro Yoshimura
 
TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!
Kei Hirata
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Shohei Hido
 

Viewers also liked (20)

続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
 
Process Simulation using DWSIM
Process Simulation using DWSIMProcess Simulation using DWSIM
Process Simulation using DWSIM
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
 
Scilab: Computing Tool For Engineers
Scilab: Computing Tool For EngineersScilab: Computing Tool For Engineers
Scilab: Computing Tool For Engineers
 
Hough forestを用いた物体検出
Hough forestを用いた物体検出Hough forestを用いた物体検出
Hough forestを用いた物体検出
 
Cloud frontの概要と勘所
Cloud frontの概要と勘所Cloud frontの概要と勘所
Cloud frontの概要と勘所
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
 
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
 
有名論文から学ぶディープラーニング 2016.03.25
有名論文から学ぶディープラーニング 2016.03.25有名論文から学ぶディープラーニング 2016.03.25
有名論文から学ぶディープラーニング 2016.03.25
 
最先端NLP勉強会 “Learning Language Games through Interaction” Sida I. Wang, Percy L...
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
最先端NLP勉強会 “Learning Language Games through Interaction” Sida I. Wang, Percy L...
 
深層学習とTensorFlow入門
深層学習とTensorFlow入門深層学習とTensorFlow入門
深層学習とTensorFlow入門
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 
Chainer, Cupy入門
Chainer, Cupy入門Chainer, Cupy入門
Chainer, Cupy入門
 
アセンブラ漢文
アセンブラ漢文アセンブラ漢文
アセンブラ漢文
 
20160724_cv_sfm_revisited
20160724_cv_sfm_revisited20160724_cv_sfm_revisited
20160724_cv_sfm_revisited
 
20161203 cv 3_d_recon_tracking_eventcamera
20161203 cv 3_d_recon_tracking_eventcamera20161203 cv 3_d_recon_tracking_eventcamera
20161203 cv 3_d_recon_tracking_eventcamera
 
Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
 
TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
 

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