· 

パルスで直交復調(3) -フーリエ級数展開-

「パルスで直交復調(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} \]

となる。

う~む、、、あっているのかわからないので、確かめてみる。

  1. # 変数クリア
  2. from IPython import get_ipython
  3. get_ipython().magic('reset -sf')
  4.  
  5. import matplotlib.pyplot as plt
  6. import numpy as np
  7. import scipy.signal as signal
  8.  
  9. # よく使う変数
  10. pi=np.pi
  11.  
  12. # 設定
  13. T=1
  14.  
  15. # 計算する範囲と刻みで計算ポイントを作る
  16. t=np.arange(-T,T,0.01)
  17.  
  18. # 式に値を入れて結果を得る
  19. f1_t=4/np.pi*np.cos(2*pi/T*t)
  20. f2_t=f1_t+((-1)**3)*4*np.cos(3*2*pi/T*t)/(3*np.pi)
  21. f3_t=f2_t+((-1)**4)*4*np.cos(5*2*pi/T*t)/(5*np.pi)
  22. f4_t=f3_t+((-1)**5)*4*np.cos(7*2*pi/T*t)/(7*np.pi)
  23. f5_t=f4_t+((-1)**6)*4*np.cos(9*2*pi/T*t)/(9*np.pi)
  24. f6_t=f5_t+((-1)**7)*4*np.cos(11*2*pi/T*t)/(11*np.pi)
  25. f7_t=f6_t+((-1)**8)*4*np.cos(13*2*pi/T*t)/(13*np.pi)
  26.  
  27. # プロット
  28. fig=plt.figure()
  29. plt.plot(t,f1_t,label="n=1")
  30. plt.plot(t,f2_t,label="n=1,2")
  31. plt.plot(t,f3_t,label="n=1,2,3")
  32. plt.plot(t,f4_t,label="n=1,2,3,4")
  33. plt.plot(t,f5_t,label="n=1,...,5")
  34. plt.legend()
  35.  
  36. fig=plt.figure()
  37. plt.plot(t,f7_t,label="n=1,...,7")
  38. plt.legend()

どうやらあっているらしい。

正直、(1)のままでも良かった;

、、、なかなか、直交復調にたどり着けない;

 

 

学生の頃、こういうツールがあったら少しは真面目に勉強したかもしれない。昔はホント何やっても五里霧中な感じで、やる気出なかったよなー