擬似乱数生成系の検定方法に関する調査報告書
NIST SP800-22 の離散フーリエ変換検定について
廣瀬勝一
京都大学情報学研究科
2005 年 1 月

1まえがき与えられた系列が良い乱数列であるかどうかを判定するための手法として，従来より，その系列の統計的性質を利用した検定法が多数提案されている．したがって，統計的手法による乱数検定法に関する文献やそれらを利用した検定ツールも多く存在するが，どの検定法が採用あるいは推奨されているかはそれぞれ異なっており，明確な判定基準はない．
このような状況において，2002 年度，「擬似乱数検証ツールの調査開発」が行われ，その調査報告書が情報処理振興事業協会から発行されている [2]．この調査報告では，まず，これまでに提案されている統計的手法に基づく乱数検定法が分類・整理され，さらに，乱数検定のための必要最小限の検定法の組が選出されている．この検定法の組はミニマムセットと呼ばれている．
なお，この調査開発は，NIST Special Publication 800-22 (SP800-22)[1] と DIEHARD [9] の二つの乱数検定ツールで採用されている検定法を主な対象として行われた．
上で述べた「擬似乱数検証ツールの調査開発」では，検定法の分類・整理，ミニマムセットの導出にあたり，検定法の解析および計算機実験が行われ，それによって，幾つかの問題点が明らかにされた．この内で最も大きな二つの問題点は，NIST SP800-22 の離散フーリエ変換検定および Lempel-Ziv 圧縮検定の不具合である．
これを受けて，昨年度には，CRYPTREC プロジェクトにおいて，これら二つの検定法に関する調査が行われ，その報告書が公開されている [3, 6]．
本報告書は，昨年度に引き続き，離散フーリエ変換検定について，今年度に学会等で報告された離散フーリエ変換検定に関する解析結果 [7, 8] と，それに関連して筆者が行った解析結果とをまとめたものである．
本報告書の構成は以下の通りである．まず，2 章では，NIST SP800-22 の離散フーリエ変換検定法と，それについて NIST が示した理論的根拠を述べると共に，本検定法について明らかとなっている問題点を記す．3 章では，2 章で示された離散フーリエ変換の問題点に関して行った調査結果を述べる．4 章は本報告書の結論である．

2NIST SP800-22 の離散フーリエ変換検定

本章では，NIST SP800-22 の離散フーリエ変換検定のアルゴリズムと理論的根拠を述べると共に，本検定に関して報告されている問題点を述べる．なお，以下では簡単のため，本検定をDFT 検定と呼ぶ．

2.1

DFT 検定のアルゴリズム

入力系列 x = (x0 , x1 , . . . , xn−1 ) を 0 と 1 からなる系列とする．n は系列の長さである．以下
では簡単のため，特にことわらない限り，n は偶数であると仮定する．

1. 0 と 1 からなる長さ n の入力系列 x = (x0 , x1 , . . . , xn−1 ) を，次のように −1 と 1 からなる系列 X = (X0 , X1 , . . . , Xn−1 ) へ変換する．
Xi = 2xi − 1 (1 ≤ i ≤ n)
2. 系列 X を離散フーリエ変換し，複素数の列 S = (S0 , S1 , . . . , Sn−1 ) を得る．
1

3. S  を S の最初の n/2 個からなる部分列とし，M = modulus(S  ) = |S  | を求める．すな
わち，S  = (S0 , S1 , . . . , S n −1 ) に対し，i = 0, 1, . . . , n/2 − 1 について，|Si | を求める．
2√
4. T = 3n とする．なお，これは，|Si | ≤ T である確率が 0.95 となるような値である．
5. N0 = 0.95(n/2) とする．N0 は，X が真の乱数列であるときに，|S0 |, |S1 |, . . . , |S n2 −1 | のうちで T を越えない |Si | の個数の理論値である．
6. |S0 |, |S1 |, . . . , |S n2 −1 | の中で実際に T を越えなかった |Si | の個数 N1 を求める．
7. d = N1 − N0(0.95)(0.05)(n/2)

を求める．

8. X が真の乱数列であるとき，d は標準正規分布に従うので，この分布から p-value =√erfc(|d|/ 2) を計算する．
入力系列は，p-value ≥ 0.01 のとき，良い乱数列であると判定され，p-value < 0.01 のとき，良い乱数列でないと判定される．
p-value は，真の乱数生成器が，検定対象として入力された系列よりもランダムでない系列を生成する確率と解釈できる．今の場合，関数 erfc は以下の通りである．
 ∞22√ e−x dxerfc(z) =πz

2.2

DFT 検定の理論的根拠{−1, 1} 系列 X = (X0 , X1 , . . . , Xn−1 ) の離散フーリエ変換 S = (S0 , S1 , . . . , Sn−1 ) は以下のように定義される．
Sj =n−1
n−1

Xk cos

k=0


2πkj
2πkj
−i
Xk sinnnk=0√
ここで，i = −1 である．
簡単のために，
cj (X) =sj (X) =n−1

k=0n−1
k=0

Xk cos

2πkjn

Xk sin2πkjnと表記すると，|Sj (X)|2 = (cj (X))2 + (sj (X))2である．ここで，X が真の乱数列であれば，cj (X)，sj (X) の分布は共に，n が大きくなるにつれて，平均 μ = 0，分散 σ 2 = n/2 の正規分布 N (0, n/2) に近づくことが証明できる．なお，cj (X) について，平均，分散は付録 A のように計算できる．sj (X) についても同様に計算できる．
DFT 検定の理論的根拠は，以下の定理である．

2

定理 1 [5] 正規分布 N (μ, σ 2 ) に従う母集団から，大きさ n の標本 z1 , z2 , . . . , zn をランダムに選び，ny=1 (zi − μ)2σ2i=1を作ると，これは自由度 n の χ2 分布に従う．



この定理に基づいて，DFT 検定では，(sj (X))2|Sj (X)|22(cj (X))2+== |Sj (X)|2222σσσnが自由度 2 の χ2 分布に従うことが仮定されている．この分布の確率密度関数は以下の通りであり，平均は 2，分散は 4 である．
1 − y2y > 0 のとき
2eT2 (y) =0y ≤ 0 のとき|Sj (X)|2 /σ 2 = (2/n)|Sj (X)| の平均，分散はそれぞれ，2，4 − 8/n となる（付録 B）．
DFT 検定のステップ 3 で，(S0 , S1 , . . . , S n2 −1 ) のみが考慮されているのは，1 ≤ i ≤ n − 1 について，Sn−i が Si の共役であり，|Sn−i | = |Si | となるためである．なお，S0 , S n2 はそれぞれ以下の通りである．
S0 =n−1k=0Xk , S n2 =n−1(−1)k Xkk=0

ステップ 4 の T は，T より大きな |Sj | が 5%であるように定められているので，y = |Sj |2 /σ 2とすれば， ∞T21 −ye 2 dy = e− 2σ2 = 0.05
T 2 /σ2 2が成立する．したがって，−T2= ln 0.05
2σ 2T 2 = −2σ 2 ln 0.05 = (− ln 0.05)nであり，− ln 0.05 = 2.9957322735 · · · であることから，

T ≈√3nとされている．
ステップ 5 から 8 では，|S0 |, |S1 |, . . . , |S n2 −1 | が独立であると仮定され，N1 が，独立な試行の回数を n/2，1 回の試行における生起確率を 0．95 としたときの二項分布に従うと考えられている．このとき，N1 の平均は N0 = 0.95 n/2，分散は (0.95)(0.05)(n/2) であり，d が標準正規分布 N (0, 1) に従うと考えられている．

32.3

DFT 検定の問題点

金，梅野，長谷川 [4] は，DFT 検定に関する以下の二つの問題点を指摘している．

1. ステップ 3 で，− ln 0.05 の近似値として 3 が使われているが，これらの間の誤差が無視できない程度に大きいこと．
2. ステップ 5 から 7 で，N1 は生起確率 0.95 の二項分布に従うと考えられているが，計算機実験では，分散が想定される値の 1/2 に近い値となること．
問題点 1 については，文献 [4] で，金らが，G using SHA-1 を利用して得られる長さ n = 106√√の 300, 000 個の擬似乱数列について，T を 3 n とした場合と 2.995732274 n とした場合のそれぞれについて N1 の分布を調べ，両者の相違を示している．
√実際，e−3 ≈ 0.0497871 であり，n = 106 のとき，T = 3 n を用いた場合の N1 の平均値は(1 − e−3 )n≈ 4751062になると見積もることができる．文献 [4] でもこの見積もりに合致した結果が示されている．以上のことから，この問題点は，単に近似の精度が十分ではなかったことと結論付けて良いと考えられる．
問題点 2 については，文献 [4] で，金らが，G using SHA-1 を利用して得られる擬似乱数列√について，T = 2.995732274 n とした場合の N1 の分布を調べ，分散が (0.95)(0.05)(n/2)/2に近い値となることを確認している．このように，この問題点については，N1 の分散値を(0.95)(0.05)(n/2) とすることは明らかな誤りであることが確認されたが，実験によって得られた (0.95)(0.05)(n/2)/2 が理論的に正しい分散値であるかどうかについては明らかになっていない．
次章では，この問題点に関する調査結果を述べる．

3

調査結果
前章の定理 1 と DFT 検定の理論的根拠との間には，以下の不一致が見られる．

1. DFT 検定では，cj (X) と sj (X) が独立ではないこと．
2. 定理 1 が保証するのは，j を固定して，X がランダムに選択された場合に，Sj (X) が自由度 2 の χ2 分布に従うということである．一方，DFT 検定では，X を固定して，S0 (X), S1 (X), . . . , S n2 −1 (X) の分布を検査している．なお，これら S0 (X), S1 (X), . . . , S n2 −1 (X)
は独立ではない．
これらの不一致が，DFT 検定で検査される d の分散の値が理論値と大きく異なる原因であると考えられる．以下ではこれらそれぞれの不一致について調査結果を述べる．

1 について cj (X) と sj (X) の共分散は 0 となる（付録 C 参照）ので，相関係数も 0 であることが分かるが，これは cj (X) と sj (X) とが独立であることを意味するものではない．そこで以下では，cj と sj が独立の場合との相違について検討する．
4

長さ n の独立な二つの {−1, 1} 系列 X = (X0 , X1 , . . . , Xn−1 )，Y = (Y0 , Y1 , . . . , Yn−1 ) について，

cj (X) =sj (Y ) =n−1

k=0n−1
k=0

Xk cosYk sin2πkjn

2πkjnとし，|Sj (X, Y )|2 = (cj (X))2 + (sj (Y ))2とする．このとき，(2/n)|Sj (X, Y )|2 の平均，分散はそれぞれ，2，4 − 6/n である（付録 D参照）．
付録 B に示した通り，(2/n)|Sj (X)|2 の平均と分散はそれぞれ，2，4 − 8/n である．したがって，(2/n)|Sj (X)|2 と (2/n)|Sj (X, Y )|2 の平均は等しい．一方，これらの分散は漸近的には同じ値に収束するものの，(2/n)|Sj (X)|2 の分散は (2/n)|Sj (X, Y )|2 の分散よりも小さい．
本調査では，DFT 検定において Sj (X, Y ) を用いた場合について，この検定で得られる N1の標本の分散値を計算し，Sj (X) を用いた場合と比較した．

2.1 節で示した DFT 検定のアルゴリズムのステップ 4 と 6 について，これを一般化した以下のアルゴリズムを実行し，各 p = 0.05, 0.10, 0.15, 0.20, . . . , 0.90, 0.95 について N1 の標本の分散値を計算した．本実験では，各 p について，X, Y それぞれ，長さ n = 4096 の 2000 個の系列を用いた．なお，これらの擬似乱数系列の生成には Matematica の Random 関数を用いた．
4. T = (− ln(1 − p))n とする．なお，これは，|Si | ≤ T である確率が p となるような値である．
6. |S0 |, |S1 |, . . . , |S n2 −1 | の中で実際に T を越えなかった |Si | の個数 N1 を求める．
図 1 に，Sj (X, Y ) について得られた N1 の標本の分散値（N1 (X, Y )）を示す．この図には，比較のため，Sj (X) について得られた N1 の標本の分散値（N1 (X)）と，DFT 検定の根拠とされた理論による N1 の分散値（theory）も示されている．この値は p(1 − p)(n/2) = 2048p(1 − p)である．図 1 から直ちに分かるように，N1 (X, Y ) は N1 (X) より大きくなるものの，依然として理論による分散よりも小さな値をとる．また，N1 (X) と同様に p が 0.5 より小さい値のときに最大値をとると考えられるなど，理論による分散とは異なる振舞を示している．
図 2 に，Sj (X, Y ) について得られた N1 の標本の分散値と DFT 検定の根拠とされた理論による N1 の分散値の比（N1 (X, Y )）を示す．この図には，比較のため，Sj (X) について得られた N1 の標本の分散値と理論による N1 の分散値の比（N1 (X)）も示されている．これらは図 1に示した結果から直ちに得られる結果である．

Sj (X) について得られた N1 の標本の分散値に関しては，既に，[7, 8] で，長さ 106 の擬似乱数系列を用いて精密な検討がなされている．ここで行った実験では，長さ 4096 の擬似乱数系列を用いたが，Sj (X) について得られた N1 の標本の分散値の振舞いは [7, 8] の実験とほぼ同じであり，十分妥当性のある結果と考えられる．
5550

N1(X, Y)
N1(X)theory500
450variance

400
350
300
250200
150
100
50
00.1

0.2

0.3

0.4

0.50.60.70.80.91p

図 1: N1 の標本の分散．N1 (X, Y )，N1 (X) はそれぞれ，Sj (X, Y )，Sj (X) によって得られた N1 の標本の分散値を表す．theory は DFT 検定の根拠とされた理論に基づく N1 の分散値p(1 − p)(n/2) を表す．X ，Y 各々について，長さ n = 4096 の系列が 2000 個用いられている．

1N1(X, Y)
N1(X)

0.9

ratio

0.80.70.6
0.5
0.40.300.1

0.20.30.40.5p0.6

0.70.80.91

図 2: N1 の標本の分散値と DFT 検定の根拠とされた理論による分散値 p(1 − p)(n/2) との比．
N1 (X, Y )，N1 (X) はそれぞれ，Sj (X, Y )，Sj (X) によって得られた N1 の標本の分散値に関する結果を示す．X ，Y 各々について，長さ n = 4096 の系列が 2000 個用いられている．

6

2 について パーセバルの定理より
n−1|Sj (X)|2 = nj=0n−1

|Xk |2 = n2k=0が成立するので，S0 (X), S1 (X), . . . , S n2 −1 (X) が独立でないことは明らかである．濱野 [8] は，以下の分布について検討し，この従属性を定量的に評価することを試みている．

•n/2−12 
cj (X) の分布
nj=1


•

n/2−12 sj (X) の分布
nj=1


•

n/2−12 |Sj (X)| の分布
nj=1


•

n/2−12 |Sj (X)|2 の分布
nj=1

更に詳しく述べると，濱野はこれらについて，n が素数であると仮定して検討を行っている．このとき，(n−1)/2 n−1(n−1)/2

cj (X) =j=1





j=1

k=0

2πkj
Xk cosn=n−1
(n−1)/2Xk


j=1

k=0

cos

2πkj
n(n−1)/2=n−1

2πkj
n−1X0 +Xkcos
2
nj=1

k=1

n−1

=1
n−1
X0 −Xk22
k=1より，(n−1)/2


j=1

n−1

1
(cj (X) − X0 ) = −Xk2
k=1が成立する．このことから，先に示した確率変数の分布については，Sj (X)，cj (X)，sj (X) の代わりに以下について検討を行っている．

Sj (X) − X0 = (cj (X) − X0 ) + i sj (X)
cj (X) − X0 =sj (X) =n−1

k=1
n−1
k=1

Xk cos2πkj
n2πkj
Xk sinn=n−1
k=072πkj
Xk sinn以上の検討にもかかわらず，DFT 検定おいて，統計量 d がどのような分布に従うかは，これまでのところ解明されていない．
山本と金子 [7] は，S0 (X), S1 (X), . . . , S n2 −1 (X) について，長さ (n/2)/M の M 個の部分列
S n  , . . . , S n +1 −1 （ = 0, 1, . . . , M − 1）を考え，それぞれを個別の乱数系列を用いて計算し2 M
2 Mて，DFT 検定における d の標本の分散値を確認している．
本調査ではこれに倣い，2.1 節で示した DFT 検定のアルゴリズムのステップ 4 と 6 について，これを一般化した以下のアルゴリズムを実行し，各 p = 0.05, 0.10, 0.15, 0.20, . . . , 0.90, 0.95について N1 の標本の分散値を計算した．本実験では，各 p について，長さ n = 32768 の 5000個の系列を用いた．なお，これらの擬似乱数系列の生成には Matematica の Random 関数を用いた．

4. T =

(− ln(1 − p))n とする．

6. |S0 |, |S1 |, . . . , |S n2 α−1 | の中で T を越えなかった |Si | の個数 N1 を求める．
α = 1, 1/2, 1/4 について，この実験の結果を図 3 に示す．この図から分かるように，利用する S0 (X), S1 (X), . . . , S n2 −1 (X) の部分列の長さを小さくするほど，標本の分散値が，DFT 検定の根拠とされた理論による分散値 (α n/2)p(1 − p) に近付くことが分かる．但し，p が 0.7 から 0.8 の辺りで標本の分散値が (α n/2)p(1 − p) に対して最小となるなど，いずれの α の値についても，同様の特徴を示すことが分かる．
111/21/40.9

ratio

0.80.70.60.50.40.300.10.20.3

0.40.5p0.60.70.80.91

図 3: N1 の標本の分散値と DFT 検定で用いられる分散の理論値 (α n/2)p(1 − p) との比．右上の 1，1/2，1/4 は α の値を表す．長さ n = 32768 の系列が 5000 個用いられている．

84むすび

本調査結果から明らかなように，DFT 検定とその根拠とされていた理論との間には明確な不一致が確認できる．この不一致は，DFT 検定で計算される統計量 d の分布が，理論の示す標準正規分布 N (0, 1) とは大きく異なる分布を示すということである．なお，計算機実験によると，d の分布は N (0, 0.5) に近い分布となることが確認できるが，これを裏付ける理論は構築されていない．
以上より，NIST SP800-22 の DFT 検定は，乱数列の検定法として不適切である．更に，DFT検定をどのように改良すれば適切な検定法となるかは，現在のところ未解決問題である．

参考文献[1] NIST, Special Publication 800-22, A statistical test suite for random and pseudorandom
number generators for cryptographic applications, 2001.
[2] 電子政府情報セキュリティ技術開発事業「擬似乱数検証ツールの調査開発」調査報告書, 情報処理振興事業協会セキュリティセンター, 2003 年 2 月. http://www.ipa.go.jp/security/
fy14/crypto/.
[3] 金子敏信, 擬似乱数生成系の検定方法に関する調査報告書 − Lempel-Ziv 圧縮検定について−, http://cryptrec.nict.go.jp/PDF/wat-rep2003/rep_ID0206.pdf. http://www.
ipa.go.jp/security/enc/CRYPTREC/fy15/documents/rep_ID0206.pdf.
[4] 金成主, 梅野健, 長谷川晃朗, NIST のランダム性評価テストについて, 信学技法, ISEC200387, pp. 21–27, 2003.
[5] 小針 [日見] 宏, 確率・統計入門, 岩波書店, 1973.
[6] 廣瀬勝一, 擬似乱数生成系の検定方法に関する調査 調査報告書, http://cryptrec.
nict.go.jp/PDF/wat-rep2003/rep_ID0207.pdf. http://www.ipa.go.jp/security/enc/CRYPTREC/fy15/documents/rep_ID0207.pdf.
[7] 山本尚史, 金子敏信, NIST SP800-22 の DFT 検定に関する一考察, 信学技法, ISEC2004-50,pp. 61–64, 2004.
[8] K. Hamano, The distribution of the spectrum for the discrete Fourier transform test
included in SP800-22, IEICE Trans. Fundamentals, vol. E88-A, no. 1, pp. 67–73, 2005.
[9] G. Marsaglia, DIEHARD, http://stat.fsu.edu/~geo/diehard.html, http://stat.
fsu.edu/pub/diehard.html.

9A

cj (X)，sj (X) の平均と分散

cj (X) の平均は，
n−11 1 
2πkj=0c(X)=Xk cosjnn
22nX

X k=0cj (X) の分散は，
2
n−1
1  
2πkj
1 2(cj (X)) = n
Xk cos2n2nX
Xk=0⎞⎛n−12
2π2 j ⎠12π1 j2πkj
⎝cos=
Xk 2 cos+X X2 cos
2nnnn
X

=
=

12nn
2

k=0

 n−1

X k=0

1 =22πkj
cosn2=n−1


2πkj
cos
nk=0

2=n−1
k=0

1
2

1 + cos

4πkjn

sj (X) の平均と分散も同様に計算できる．

B(2/n)|Sj (X)|2 の平均，分散|Sj (X)|2 = (cj (X))2 + (sj (X))2
2π2 j2π2 j2π1 j2π1 jcos+sin= n+X1 X2 cos
X1 X2 sinnnnn
1 =2= n+1 =2X1 X21 =2= n+X1 X2 cos1 =2= n+22π2 j2π1 j2π2 j2π1 jcos
+ sin
sin
cos
nnnn



2π(1 − 2 )jn

X1 X2 cos1 <22π(1 − 2 )jnである．したがって，(2/n)|Sj (X)|2 の平均は⎛⎞
212π(12−)j12 ⎠⎝n + 2|Sj (X)|2 = n=2X1 X2 cos
2nn2nnnX∈{−1,1}X1 <210(2/n)|Sj (X)|2 の分散は12n

2|Sj (X)|2 − 2nX∈{−1,1}n===16 1  n2 2n
16n2X

X 1 <2cos

0≤1 <2 ≤n−1n(n − 1) n−222

1 <22π(1 − 2 )jn

2=16 1  n2 2nX 1 <2cos

2π(1 − 2 )jn2


84π(1 − 2 )j1 + cos
2nn0≤1 <2 ≤n−1
⎞4π(1 − 2 )j ⎠cosn2π(1 − 2 )jn⎛ 
8 ⎝ n+n220≤ < ≤n−18n2⎞2⎛
16 1  ⎝ 2π(1 − 2 )j ⎠= 2 n
X1 X2 cosn 2n(X1 X2 )2 cos

1=

2=4−2=8nとなる．

Ccj (X) と sj (X) の共分散

cj (X) と sj (X) の平均は共に 0 であるから，cj (X) と sj (X) の共分散は以下のように計算できる．
 n−1
n−1

1  
2πkj
2πkj
1 
cj (X) sj (X) = n
Xk cos
Xk sin2n2nn
XX
k=0k=0⎞⎛n−1
2πkj
2π2 j ⎠2πkj
2π1 j1  ⎝ 2sin+sin
Xk cosX X2 cos=2nnnnn
X=n−1
k=0cosk=0

1 =22πkj
2πkj
sinn
n

= 0

D(2/n)|Sj (X, Y )|2 の平均，分散|Sj (X, Y )|2 = (cj (X))2 + (sj (Y ))22π2 j2π2 j2π1 j2π1 jcos+sin= n+X1 X2 cos
Y1 Y2 sinnnnn
1 =21 =2である．(2/n)|Sj (X, Y )|2 の平均は，

11

1 2|Sj (X, Y )|222nn
X,Y⎛⎞
2π2 j2π2 j ⎠12π1 j2π1 j2⎝cos+
sinn+=
X1 X2 cos
Y1 Y2 sin2n2nnnnn
X,Y1 =2

1 =2= 2(2/n)|Sj (X, Y )|2 の分散は，
1 22n22|Sj (X, Y )|2 − 2n
X,Y⎞2⎛
2π2 j2π2 j ⎠4 1
2π1 j2π1 j⎝cos+sin=X1 X2 cos
Y1 Y2 sinn2 22nnnnn
X,Y1 =2
1 =2⎞2⎞2⎛⎛
2π2 j ⎠2π2 j ⎠4 12π1 j
4 1
2π1 j⎝⎝cossin=X1 X2 cos+ 2 n
Y1 Y2 sin
2nn 2nnn 2nnX1 =2Y1 =2⎞2⎞2⎛⎛2π2 j ⎠2π2 j ⎠16 1  ⎝ 
2π1 j
16 1  ⎝ 
2π1 jcossin=X1 X2 cos+ 2 n
Y1 Y2 sinn2 2nnnn 2nnX1 <2Y1 <22π2 j 22π2 j 216 
2π1 j2π1 jcossin=+ sincosn2nnnn
1 <2=16 n2

148 n2

1 + cos1 <2=

1 + cos1 <2= 4−4π1 jn

1 + cos

4π2 jn+141 − cos

4π1 jn

1 − cos

4π2 j4π1 jcosnn

8 
4π2 j4π1 j
4+ 2
cos
cos
n nnn
1 <24 
4π2 j4π1 j4cos
cos= 4− + 2n nnn
1 =2⎛⎞n−1n−1n−12
44π2 j4π1 j
4πj ⎠4
cos
−cos
cos
= 4− + 2 ⎝n nnnn
1 =0 2 =0
=0⎞⎛n−1n−1n−1414π2 j
4π1 j
8πj ⎠
4−cos
cos
1 − cos= 4− + 2 ⎝n nnn2n
1 =0

2 =0

=02
4
= 4− −n n6= 4−n124π2 jn