ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
webadm
投稿日時: 2009-8-7 12:03
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3086
【1】波形補間
最初にいきなり興味深い問題が出てくる。やはり著者はFourier変換の現実的な応用面を知っていて、それと関連のある問題を考えているのかもしれない。

最初の問題は、y(t)=a1*sin(ωt)+b0+b1*cos(ωt)
という関数を用いて、以下の電圧波形e(t)を近似しようとするときに、t=0,π/ω,3π/2ωの3点でy(t)とe(t)が一致するには、係数a1,b0,b1をどのようにすればよいかというもの。

e(t)=2t, 0≦t≦2π/ω

これはどういう意味だろう。y(t)はFourier級数なので繰り返し波形になる。

e(t)をプロットすると



式としては連続関数として与えられているが、近似関数に対しては3点が離散的な数列として与えられているだけである。

こうした離散的な数列と一致する関数を合成することを波形補間とも呼ぶ。

デジタルオシロのように離散的にサンプリングされた波形データを滑らかに曲線で表示するにはなんらかの波形補間が必要である。

画像イメージを拡大表示する際も素の画素データ列が離散的に離ればなれになるため隙間の画素データを補間しないといけない。

もちろん素のデータは離散数値列なので、その間の情報は無いのだが、ほとんどの波形はFourier級数で近似できるので有限項数のFourier級数の係数を求めれば良いことになる。

そのためには問題で与えられているe(t)の式は一端忘れて、与えられた3点の値のみがわかっているものとする必要がある。

再びそれを図に描くと



これは有る意味で方程式の解を求める問題でもある。微分方程式程面倒ではない。

3点(t0,t1,t2)でそれぞれ以下の関係式がなりたたねばならない。

y(t0)=a1*sin(ω*t0)+b0+b1*cos(ω*t0)=2*t0
y(t1)=a1*sin(ω*t1)+b0+b1*cos(ω*t1)=2*t1
y(t2)=a1*sin(ω*t2)+b0+b1*cos(ω*t2)=2*t2

これをa1,b0,b1に関する三元連立方程式として解くと

(%i1) e1:a1*sin(o*t0)+b0+b1*cos(o*t0)=2*t0;
(%o1) a1*sin(o*t0)+b1*cos(o*t0)+b0=2*t0
(%i2) e2:a1*sin(o*t1)+b0+b1*cos(o*t1)=2*t1;
(%o2) a1*sin(o*t1)+b1*cos(o*t1)+b0=2*t1
(%i3) e3:a1*sin(o*t2)+b0+b1*cos(o*t2)=2*t2;
(%o3) a1*sin(o*t2)+b1*cos(o*t2)+b0=2*t2

(%i4) solve([e1,e2,e3],[a1,b0,b1]);
(%o4) [[a1=-
(t0*(2*cos(o*t2)-2*cos(o*t1))-2*t1*cos(o*t2)+2*cos(o*t1)*t2+cos(o*t0)*(2*t1-2*t2))/(cos(o*t0)*(sin(o*t2)-sin(o*t1))-cos(o*t1)*sin(o*t2)+sin(o*t1)*cos(o*t2)+sin(o*t0)*(cos(o*t1)-cos(o*t2))),b0=(t0*
(2*sin(o*t1)*cos(o*t2)-2*cos(o*t1)*sin(o*t2))+cos(o*t0)*(2*t1*sin(o*t2)-2*sin(o*t1)*t2)+sin(o*t0)*
(2*cos(o*t1)*t2-2*t1*cos(o*t2)))/(cos(o*t0)*(sin(o*t2)-sin(o*t1))-cos(o*t1)*sin(o*t2)+sin(o*t1)*
cos(o*t2)+sin(o*t0)*(cos(o*t1)-cos(o*t2))),b1=
(t0*(2*sin(o*t2)-2*sin(o*t1))-2*t1*sin(o*t2)+2*sin(o*t1)*t2+sin(o*t0)*(2*t1-2*t2))/(cos(o*t0)*(sin(o*t2)-sin(o*t1))-cos(o*t1)*sin(o*t2)+sin(o*t1)*cos(o*t2)+sin(o*t0)*(cos(o*t1)-cos(o*t2)))]]

(%i9) ratsimp(%);
(%o9) [[a1=-((2*t1-2*t0)*cos(o*t2)+(2*cos(o*t0)-2*cos(o*t1))*t2+2*t0*cos(o*t1)-2*cos(o*t0)*t1)/(sin(o*t2-o*t1)-sin(o*t2-o*t0)+sin(o*t1-o*t0)),b0=
(2*t0*sin(o*t2-o*t1)-2*t1*sin(o*t2-o*t0)+2*sin(o*t1-o*t0)*t2)/(sin(o*t2-o*t1)-sin(o*t2-o*t0)+sin(o*t1-o*t0)),b1=
((2*t1-2*t0)*sin(o*t2)+(2*sin(o*t0)-2*sin(o*t1))*t2+2*t0*sin(o*t1)-2*sin(o*t0)*t1)/(sin(o*t2-o*t1)-sin(o*t2-o*t0)+sin(o*t1-o*t0))]]

ということになる。これに

t0=0
t1=π/ω
t2=3π/2ω

を代入すると

(%i10)
subst(0, t0, [[a1=-((2*t1-2*t0)*cos(o*t2)+(2*cos(o*t0)-2*cos(o*t1))*t2+2*t0*cos(o*t1)
-2*cos(o*t0)*t1)/(sin(o*t2-o*t1)-sin(o*t2-o*t0)+sin(o*t1-o*t0)),b0=(2*t0*sin(o*t2
-o*t1)-2*t1*sin(o*t2-o*t0)+2*sin(o*t1-o*t0)*t2)/(sin(o*t2-o*t1)-sin(o*t2-o*t0)+sin(o*t1
-o*t0)),b1=((2*t1-2*t0)*sin(o*t2)+(2*sin(o*t0)-2*sin(o*t1))*t2+2*t0*sin(o*t1)-2*sin(o*t0)*t1)/(sin(o*t2
-o*t1)-sin(o*t2-o*t0)+sin(o*t1-o*t0))]]);
(%o10) [[a1=(-2*t1*cos(o*t2)-(2-2*cos(o*t1))*t2+2*t1)/(sin(o*t2-o*t1)-sin(o*t2)+sin(o*t1)),b0=(2*sin(o*t1)*t2-2*t1*sin(o*t2))/(sin(o*t2-o*t1)-sin(o*t2)+sin(o*t1)),b1=
(2*t1*sin(o*t2)-2*sin(o*t1)*t2)/(sin(o*t2-o*t1)-sin(o*t2)+sin(o*t1))]]
(%i11)
subst(%pi/o, t1, [[a1=(-2*t1*cos(o*t2)-(2-2*cos(o*t1))*t2+2*t1)/(sin(o*t2-o*t1)-sin(o*t2)
+sin(o*t1)),b0=(2*sin(o*t1)*t2-2*t1*sin(o*t2))/(sin(o*t2-o*t1)-sin(o*t2)+sin(o*t1)),b1=(2*t1*sin(o*t2)
-2*sin(o*t1)*t2)/(sin(o*t2-o*t1)-sin(o*t2)+sin(o*t1))]]);
(%o11) [[a1=-(-(2*%pi*cos(o*t2))/o-4*t2+(2*%pi)/o)/(2*sin(o*t2)),b0=%pi/o,b1=-%pi/o]]
(%i12)
subst(3*%pi/(2*o), t2, [[a1=-(-(2*%pi*cos(o*t2))/o-4*t2+(2*%pi)/o)/(2*sin(o*t2)),b0=%pi/o,b1=
-%pi/o]]);
(%o12) [[a1=-(2*%pi)/o,b0=%pi/o,b1=-%pi/o]]

従って

a1= -2π/ω
b0=π/ω
b1=-π/ω

ということになる。これをy(t)の式に代入してプロットしてみると

wxplot2d([-2*%pi*sin(t)-%pi*cos(t)+%pi,2*t], [t,0,2*%pi])$



ω=1と置いて2πまでの時間をプロットしたもの。t=0,π,3π/2
の3点でe(t)とy(t)のカーブが一致していることが確認できる。

さすがに項数が少ないと正弦波そのものなので近似とはいいがたいが、確かにサンプル値は一致している。

微分方程式と違って、Fourier級数の場合には係数が与えられるとそれによって唯一の関数が定まる。従ってサンプル数を多くとればそれだけ多くの次数の係数を解くことができより近似な関数が得られるということになる。

実際にはこれはサンプル数が多くなると連立方程式を解くのは大変なことになるので、実用的な波形補完はナイキスト・シャノンのサンプリング定理に基づいて、ナイキストレートによる等間隔に入力信号をサンプルした離散データ列と重み漬け関数(フィルターの伝達関数)をサンプリングした離散データ列とをたたき込み積分する方法が用いられる。詳しくは離散Fourier変換とδ関数、サンプリング定理を学ばないと難しいので割愛。後日「デジタル信号処理理論おもちゃ箱」とかいうボードが出来た暁にはその辺も触れてみたい。

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   Fourier変換と波形解析:演習問題 webadm 2009-8-7 11:06
   » 【1】波形補間 webadm 2009-8-7 12:03
     【2】Fourier係数の式の導出 webadm 2009-8-8 21:17
     【3】半波整流波のFourier級数展開 webadm 2009-8-12 10:08
     【4】ノコギリ波のFourier級数展開 webadm 2009-8-13 8:34
     【5】対称波のFourier係数 webadm 2009-8-14 9:45
     【6】奇関数波のFourier係数 webadm 2009-8-14 10:46
     【7】偶関数波のFourier係数 webadm 2009-8-14 11:12
     【8】奇数次高調波のみの波形 webadm 2009-8-18 9:46
     【9】ノコギリ波のFourier級数展開(その2) webadm 2009-8-19 2:40
     【10】ノコギリ波のFourier級数展開(その3) webadm 2009-8-20 6:58
     【11】台形波のFourier級数展開 webadm 2009-8-20 8:03
     【12】ノコギリ波のFourier級数展開(その4) webadm 2009-8-21 10:15
     【13】ひずみ波の電流 webadm 2009-8-22 7:06
     【14】ひずみ波の実効値 webadm 2009-8-22 11:14
     【15】インダクタンスの補正係数 webadm 2009-8-22 12:02
     【16】キャパシタンスの補正係数 webadm 2009-8-22 20:09
     【17】キャパシタンスの補正係数(その2) webadm 2009-8-22 20:25
     【18】RL直列回路に流れるひずみ波電流の実効値 webadm 2009-8-22 21:07
     【19】ひずみ波の有効電力 webadm 2009-8-22 21:39
     【20】ひずみ波の電力と力率 webadm 2009-8-23 2:47
     【21】RL直列回路とひずみ波の消費電力と力率 webadm 2009-8-23 3:33
     【22】RLC混成回路とひずみ波の電流と消費電力 webadm 2009-8-24 5:52
     【23】方形波のFourier級数展開と波形率、波高率 webadm 2009-8-24 11:05
     【24】キャパシタンスに流れる電流のFourier級数展開 webadm 2009-8-25 10:05
     【25】三角波のFourier級数展開 webadm 2009-8-25 12:59
     【26】方形波のFourier級数展開 webadm 2009-8-25 21:34
     【27】ひずみ波の実効値、電力および力率 webadm 2009-8-26 1:10
     【28】全波整流波電圧のFourier級数展開と波形率、波高率 webadm 2009-8-26 2:16
     【29】全波整流波電圧の負荷電力 webadm 2009-8-26 2:53
     【30】波形の同形性 webadm 2009-8-26 4:04
     【31】RLC混成回路とひずみ波の電流と電力 webadm 2009-8-31 12:27
     【32】ひずみ波のひずみ率 webadm 2009-9-1 9:55
     【33】非線形回路とひずみ波 webadm 2009-9-1 10:14
     【34】リアクタンスに流れるひずみ波電流と電圧のひずみ率 webadm 2009-9-1 10:45
     【35】台形波の波形率と波高率 webadm 2009-9-1 11:38
     【36】ひずみ波の検波値 webadm 2009-9-4 6:37
     【37】RLC直列回路に流れる電流と電圧 webadm 2009-9-5 7:10
     【38】ひずみ波の電流 webadm 2009-9-6 0:16
     【39】ひずみ波とデカップリング回路 webadm 2009-9-6 1:04
     【40】RC並列回路とひずみ波電流 webadm 2009-9-6 5:34
     【41】直流分を含まない偶数波 webadm 2009-9-6 19:57
     【42】ひずみ波とキャパシタンス容量 webadm 2009-9-8 9:29
     【43】半波整流波電流 webadm 2009-9-8 10:37
     【44】フローティング充電電流 webadm 2009-9-9 10:46
     【45】ひずみ波とLC並列回路 webadm 2009-9-9 11:50
     【46】RLC直列回路とひずみ波電流 webadm 2009-9-10 7:55
     【47】RLC混成回路のひずみ波電流 webadm 2009-9-10 8:55
     【48】相互誘導回路のひずみ波電流 webadm 2009-9-11 9:35
     【49】三相ひずみ波 webadm 2009-9-12 14:33
     【50】対称三相交流ひずみ波 webadm 2009-9-12 22:05
     【51】対称三相交流ひずみ波(その2) webadm 2009-9-12 22:23
     【52】対称三相交流ひずみ波(その3) webadm 2009-9-12 23:37
     【53】対称三相交流ひずみ波(その4) webadm 2009-9-13 0:08
     【54】対称三相交流ひずみ波(その5) webadm 2009-9-13 3:02
     【55】対称三相交流ひずみ波(その6) webadm 2009-9-13 4:13
     【56】対称三相交流ひずみ波(その7) webadm 2009-9-13 5:32
     【57】Fourier変換公式の導出 webadm 2009-9-18 20:23
     【58】Fourier変換の対称性 webadm 2009-9-22 22:54
     【59】Fourier変換の時間軸の伸縮 webadm 2009-9-22 23:02
     【60】Fourier変換の推移定理 webadm 2009-9-22 23:04
     【61】Fourier変換の微分と積分 webadm 2009-9-22 23:07
     【62】Fourier変換の畳み込み積分 webadm 2009-9-22 23:10
     【63】Fourier級数の振幅及び位相スペクトル webadm 2009-9-22 23:16
     【64】直流、正弦波、余弦波のFourier変換 webadm 2009-9-28 13:49
     【65】方形パルスのFourier変換 webadm 2009-9-30 5:53
     【66】単位ステップ関数のFourier変換 webadm 2009-9-30 9:30
     【67】余弦波バーストのFourier変換 webadm 2009-10-1 10:53
     【68】方形パルス列のFourier変換 webadm 2009-10-1 12:25
     【69】正負対方形波のFourier変換 webadm 2009-10-1 13:04
     【70】三角パルスのFourier変換 webadm 2009-10-1 20:49
     【71】三角パルスによるデルタ関数の近似 webadm 2009-10-1 22:01
     【72】指数関数のFourier変換 webadm 2009-10-2 9:50
     【73】RC直列回路の伝達関数 webadm 2009-10-2 10:25
     【74】理想低域フィルタのインパルス応答 webadm 2009-10-3 6:49
     【75】理想低域フィルタのステップ応答 webadm 2009-10-4 1:11
     【76】既知のインパルス応答から方形パルス応答を求める webadm 2009-10-4 21:30
     【77】ナイキスト−シャノンのサンプリング定理 webadm 2009-10-6 15:37

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索