「パルスで直交復調(2) -フーリエ級数展開-」の(12)において、tの代わりにt+T/4と書けばいいだけなので、
\[ f \left( t \right)= \frac{4}{\pi} \displaystyle \sum_{n=1}^\infty
\frac{\sin\left\{\left(2n-1\right)\frac{2 \pi}{T} \left( t+\frac{T}{4} \right)\right\}}{2n-1} \tag{1} \]
numpyで使う分には、これでも良いっちゃ~良いんですが、見た目重視で書き直します。
\[ m=2n-1 (mは奇数) \tag{2} \]
\[ \omega=\frac{2 \pi}{T} \tag{3} \]
とすると、
\[ f \left( t \right)= \frac{4}{\pi} \displaystyle \sum_{n=1}^\infty \frac{\sin\left\{
m \omega \left( t+\frac{T}{4} \right)\right\}}{m} \tag{4} \]
\[ f \left( t \right)= \frac{4}{\pi} \displaystyle \sum_{n=1}^\infty \frac {\sin\left(m
\omega t + m \omega \frac{T}{4} \right)} {m} \tag{5} \]
\[ f \left( t \right)= \frac{4}{\pi} \displaystyle \sum_{n=1}^\infty \frac {\sin\left(m
\omega t + m \frac{\pi}{2} \right)} {m} \tag{6} \]
\[ f \left( t \right)= \frac{4}{\pi} \displaystyle \sum_{n=1}^\infty \frac { \sin m
\omega t \cos m \frac{\pi}{2} + \cos m \omega t \sin m \frac{\pi}{2} } {m} \tag{7} \]
ここで、mは奇数なので、常に
\[ \cos m \frac{\pi}{2}=0 \tag{8} \]
であり、
\[ \begin{eqnarray} \sin m \frac{\pi}{2} = \begin{cases} 1 & ( nが奇数 ) \\ -1 & (
nが偶数 ) \end{cases} \end{eqnarray} \tag{9} \]
なので、(7)は、
\[ f \left( t \right)= \frac{4}{\pi} \displaystyle \sum_{n=1}^\infty \frac {
\left(-1\right)^{n+1} \cos \left\{ \left(2n-1\right) \frac{2 \pi}{T} t \right\} } {\left(2n-1\right)} \tag{10} \]
となる。
う~む、、、あっているのかわからないので、確かめてみる。
- # 変数クリア
- from IPython import get_ipython
- get_ipython().magic('reset -sf')
- import matplotlib.pyplot as plt
- import numpy as np
- import scipy.signal as signal
- # よく使う変数
- pi=np.pi
- # 設定
- T=1
- # 計算する範囲と刻みで計算ポイントを作る
- t=np.arange(-T,T,0.01)
- # 式に値を入れて結果を得る
- f1_t=4/np.pi*np.cos(2*pi/T*t)
- f2_t=f1_t+((-1)**3)*4*np.cos(3*2*pi/T*t)/(3*np.pi)
- f3_t=f2_t+((-1)**4)*4*np.cos(5*2*pi/T*t)/(5*np.pi)
- f4_t=f3_t+((-1)**5)*4*np.cos(7*2*pi/T*t)/(7*np.pi)
- f5_t=f4_t+((-1)**6)*4*np.cos(9*2*pi/T*t)/(9*np.pi)
- f6_t=f5_t+((-1)**7)*4*np.cos(11*2*pi/T*t)/(11*np.pi)
- f7_t=f6_t+((-1)**8)*4*np.cos(13*2*pi/T*t)/(13*np.pi)
- # プロット
- fig=plt.figure()
- plt.plot(t,f1_t,label="n=1")
- plt.plot(t,f2_t,label="n=1,2")
- plt.plot(t,f3_t,label="n=1,2,3")
- plt.plot(t,f4_t,label="n=1,2,3,4")
- plt.plot(t,f5_t,label="n=1,...,5")
- plt.legend()
- fig=plt.figure()
- plt.plot(t,f7_t,label="n=1,...,7")
- plt.legend()
どうやらあっているらしい。
正直、(1)のままでも良かった;
、、、なかなか、直交復調にたどり着けない;
学生の頃、こういうツールがあったら少しは真面目に勉強したかもしれない。昔はホント何やっても五里霧中な感じで、やる気出なかったよなー
コメントをお書きください