投稿

N88-BASICでフーリエ変換 (1回目)

イメージ
2025/2/25(火) N88-BASICで フーリエ変換 ( 1 回目 ) (fourier)   ■ 周期Tのフーリエ級数 ▼ 前提 https://ulprojectmail.blogspot.com/2025/02/fourier-3.html フーリエ変換 (3回目) より   ▼ 結果 T:サンプル計測時間 (周期) N:サンプル総数 t k :サンプルの計測時刻( k   = 0, 1, 2, …, N-1) , t k   =   k( T/N ) y k :各サンプルの計測値( k   = 0, 1, 2, …, N-1)   周波数 f n   = n /T ( n   = 1 , …, N) y(t) = (a 0 /2) + Σ n=1 N {a n cos(2π f n t ) + b n sin(2π f n t )} a n   ≒ (2/ N ) Σ k=0 N-1 [ y k cos(2π f n t k )] b n   ≒ (2/ N ) Σ k=0 N-1 [ y k sin (2π f n t k )] を計算する   ▼ 動作 y(t)をcos,sinの合成波として定義し a n   , b n   を求めて cosの係数 a n   , sinの係数 b n   周波数 f n   と合成振幅 A = √( a n 2   + b n 2 ) を表示しています   VL,NL,XL-BASICとdlg~.zip( fou 00 1 .bas)は このブログ (以下のリンク)から ダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

フーリエ変換 (3回目)

2025/2/22(土) フーリエ変換 ( 3 回目 ) (fourier)   ■ 周期Tの 離散 フーリエ級数 ▼ 結果 T:サンプル計測時間 (周期) N:サンプル総数 t k :サンプルの計測時刻( k   = 0, 1, 2, …, N-1) , t k   =   k( T/N ) y k :各サンプルの計測値( k   = 0, 1, 2, …, N-1)   周波数 f n   = n /T ( n   = 1 , …, N) y(t) = (a 0 /2) + Σ n=1 N {a n cos(2π f n t ) + b n sin(2π f n t )} a n   ≒ (2/ N ) Σ k=0 N-1 [ y k cos(2π f n t k )] b n   ≒ (2/ N ) Σ k=0 N-1 [ y k sin (2π f n t k )]   ▼ 式 ∫をΣで近似する (周期T , 周波数 f n   = n/T, n = 1, 2, 3, …, N → ∞) y(t) = (a 0 /2) + Σ n=1 N {a n cos(2π f n t ) + b n sin(2π f n t )} a n   = (2/T)∫ 0 T y(t)cos(2π f n t )dt b n   = (2/T)∫ 0 T y(t)sin(2π f n t )dt   a n cos(2π f n t )   + b n sin(2π f n t ) = √( a n 2   + b n 2 )sin( 2π f n t + Tan -1 (a n / b n ))   ここで 周期 Tのサンプル数Nとして   T:サンプル計測時間 (周期) N:サンプル総数 t k :サンプルの計測時刻( k   = 0, 1, 2, …, N-1) y k :各サンプルの計測値( k   = 0, 1, 2, …, N-1)   Δt = T/N t k   = kΔt = kT/N   a n   = (2/...

フーリエ変換 (2回目)

2025/2/18(火) フーリエ変換 (2回目)   (fourier)   ■ 周期Tのフーリエ級数 ▼ 結果 (周期T , 周波数 f n   = n/T, n = 1, 2, 3, …, N → ∞) y(t) = (a 0 /2) + Σ n=1 N {a n cos(2π f n t ) + b n sin(2π f n t )} a n   = (2/T)∫ 0 T y(t)cos(2π f n t )dt    … cos(2π f n t ) のみの振幅を取り出す b n   = (2/T)∫ 0 T y(t)sin(2π f n t )dt    … sin (2π f n t ) のみの振幅を取り出す   a n cos(2π f n t )   + b n sin(2π f n t ) = √( a n 2   + b n 2 )sin( 2π f n t + Tan -1 (a n / b n ))   ▼ 周期Tの波の式 波はベースライン cとsin,cosの和で表せるとすると ( 周波数 f n   = n/T, n = 1, 2, 3, …, N → ∞) y(t) = c + Σ n=1 N { a n cos(2π f n t ) + b n sin(2π f n t )} c = (1/T)∫ 0 T y(t)dt  … 1周期の変位の合計がc   ▼ cosの振幅a n   を求める [クロネッカーのデルタδ mn   = 1(m=n), 0(m≠n)] 周期 T , 周波数f n   = n/T, f m   = m/T   (m, n ∈ Z ) ∫ 0 T cos(2π f m t )cos(2π f n t)dt = (T/2)δ mn   ∫ 0 T sin(2π f m t)cos(2π f n t)dt = 0 より ∫ 0 T y(t)cos(2π f n t )dt は y(t)の内sin成分と,違う周波数のcosが0となるため y(t)の内cos(2π f n t )の成分のみ取り出せるの...

フーリエ変換 (1回目)

2025/2/8(土) フーリエ変換 (1回目)   (fourier)   ■ 周期Tのフーリエ級数に使う公式 ▼ 結果 [クロネッカーのデルタδ mn  = 1(m=n), 0(m≠n)] 周期 T , 周波数f n  = n/T, f m  = m/T  (m, n ∈ Z ) ∫ 0 T cos(2π f m t )cos(2π f n t)dt = (T/2)δ mn   ∫ 0 T sin(2π f m t)sin(2π f n t)dt = (T/2)δ mn   ∫ 0 T sin(2π f m t)cos(2π f n t)dt = 0 同じ種類 (sin,cos)で同じ周波数(f n  = f m )のみT/2で それ以外は 0となるので、任意の基本波(sin,cos)の 振幅を取り出す事が出来る   ▼ フーリエ級数に使う公式の導出 加法定理 sin(α+β) = sinαcosβ+cosαsinβ sin(α-β) = sinαcosβ-cosαsinβ cos(α+β) = cosαcosβ-sinαsinβ cos(α-β) = cosαcosβ+sinαsinβ の内の 2式の和または差で以下の公式をつくる   ∫ 0 2π/a cos(mat)cos(nat)dt = (1/2)∫ 0 2π/a {cos((m-n)at) + cos((m+n)at)}dt ∫ 0 2π/a sin(mat)sin(nat)dt = (1/2)∫ 0 2π/a {cos((m-n)at) - cos((m+n)at)}dt の右辺 をまとめて 書いて (1/2)∫ 0 2πa {cos((m-n)at) ± cos((m+n)at)}dt = (1/2)[{/((m-n)a)}sin((m-n)at) ± {1/((m+n)a)}sin((m+n)at)] 0 2π/a   = 0 (m ≠ n) (1/2)∫ 0 2π/a {cos((m-n)at) ± cos((m+n)at)}dt = (1/2)∫ 0 2π/a {1 ± cos((m+n)at)}dt (1/2)[t ± {1/((m+n)a } }sin((m+n)a...

積分

イメージ
2025/2/4(火) 積分 (integral)   ■ x n の積分公式の導出 ▼ 積分をΣで表す                   ∫ 0 x  f(x) dx = lim  n→∞  Σ k=0 n  (x/n)f(kx/n)         ▼ f(x) = x のとき Σ k=0 n  k = Σ k=1 n  k = n(n+1)/2   ∫ 0 x  x dx = lim n→∞  Σ k=0 n  (x/n)(kx/n) = lim n→∞  (x 2 /n 2 )Σ k=0 n  k = lim n→∞  (x 2 /n 2 )n(n+1)/2 = lim n→∞  (x 2 n 2 +x 2 n)/(2n 2 ) = lim n→∞  x 2 /2 + x 2 /(2n) = x 2 /2   ▼ f(x) = x 2   のとき Σ k=1 n  k 2  = n(n+1)(2n+1)/6   ∫ 0 x  x 2  dx = lim n→∞  Σ k=0 n  (x/n)(kx/n) 2   = lim n→∞  (x 3 /n 3 )Σ k=0 n  k 2   = lim n→∞  (x 3 /n 3 )n(n+1)(2n+1)/6 = lim n→∞  x 3 (2n 2 +3n+1)/(6n 2 ) = lim n→∞  x 3 /3 + x 3 /(2n) + x 3 /(6n 2 ) = x 3 /3   ▼ f(x) = x 3   のとき (Σ k=1 n  k) 2  = Σ k=1 n  k 3     ∫ 0 x  x 3  dx = lim n→∞  Σ k=0 n  (x/n)(kx/n) 3   = lim n→∞  (x 4 /...