サンプリング定理を完全に理解する

## 記事を書く目的
備忘録（数学的要素は絡めてません。）

情報学生の役に立てればなと思っています。
(僕が大学が学んだ時、何故サンプリング定理が存在するのかが分かりづらかったので、、、)

## 事前知識

#### 周期：波形が上下に一回往復する間隔
1周期
<img width="150" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/5c412119-f730-9c07-55a8-23f693d76a20.png">


#### 波長:隣り合った同じ位相の間の距離
この記事では使用しない
<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/33be2fe4-ab2c-7bba-a432-1f2a4420ad43.png">



#### 周波数：1秒間に何周期の波が存在するかを表す（単位：Hz）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/878522c2-1841-c447-341c-4d92f1aeda44.png">
上記の場合だと、1秒間に2周期存在するので、周波数は2Hz。


#### 角周波数:1秒間に何ラジアン分位相が進むかを表す（単位:rad/s)
この記事では使用しない
1回の振動は、一回転(つまり2π)を表す.

周波数は1秒間に何周期の波が存在したかを表しており,
1周期=1回転になるので, 
「何周期」というのは「何回転」という言葉に置き換えられるので,
1秒間に8周期という事は、1秒間に8回転に置き換えられて,
1回転は2πなので, 8回転は2π*8=16π
＝＞周波数をfとし、角周波数をωとすると、「2πf=ω」となる


#### サンプリング周波数：1秒間に何回サンプリングしたかを表す(単位：Hz)

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/7616c8ef-fa49-1a0e-4672-d35f3e8a7ccb.png">
上記の場合だと、1秒間に4回サンプリング(赤線)しているので、サンプリング周波数は4Hz。


## 誤解ポイント

「サンプリング周波数」と「周波数」は似てますが、全く別物と理解しておく必要があります


## 音のアナログ信号を標本化しよう

理解を簡単にする為に、現実世界の事は考えないで説明します.

#### 課題：サンプリング周波数は8Hzとして、入ってきたアナログ信号を標本化

####周波数1Hz
黒の曲線（周波数1Hz）
赤の角々した線（周波数1Hzをサンプリング周波数8Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/118cf771-80fb-08b4-ad17-e4c8c2a1df09.png">

####周波数2Hz

黒の曲線（周波数2Hz）
赤の角々した線（周波数2Hzをサンプリング周波数8Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/643a33ce-c3ff-5e33-8499-2a013ac4be3c.png">

####周波数3Hz

黒の曲線（周波数3Hz）
赤の角々した線（周波数3Hzをサンプリング周波数8Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/701796a8-46ab-9e2c-814e-eb20d76f2256.png">


####周波数4Hz

黒の曲線（周波数4Hz）
赤の角々した線（周波数4Hzをサンプリング周波数8Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/11546532-1092-2ac2-c976-4eaeb38c5092.png">


####周波数5Hz

黒の曲線（周波数5Hz）
赤の角々した線（周波数5Hzをサンプリング周波数8Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/330d73a6-0a36-a77d-c58d-3ab370f3d9db.png">



####周波数6Hz

黒の曲線（周波数6Hz）
赤の角々した線（周波数6Hzをサンプリング周波数8Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/71f94973-0f63-169c-4aa9-79d07e84169d.png">


####周波数7Hz

黒の曲線（周波数7Hz）
赤の角々した線（周波数6Hzをサンプリング周波数7Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/5379879c-4b53-fa07-8bd4-63eb97bfa9a9.png">


####周波数8Hz

黒の曲線（周波数8Hz）
赤の角々した線（周波数8Hzをサンプリング周波数8Hzで標本化したものを繋ぐ）

<img width="450" alt="1周期" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677453/efdf4784-e6b5-56e3-c65a-396d0e36470a.png">


### 確認して欲しい事

周波数1Hzと周波数7Hz
周波数2Hzと周波数6Hz
周波数3Hzと周波数5Hz
周波数4Hzと周波数8Hz

の赤の角々した線を比べて見て下さい。

＝＞そう！！めちゃくちゃ似てます！！
＝＞位相をズラすと一致します！！

## ナイキスト周波数

赤の角々した線が似ている事（位相をズラすと同じ事）を確認して頂けたでしょうか？？

これは何を表しているのかというと、

サンプリングされた音声データを見ても、元の周波数が、
周波数1Hzなのか周波数7Hzなのかが分からなかったり、
周波数2Hzなのか周波数6Hzなのかが分からなかったりします。

👇

つまり、離散的にサンプリングされた音声データから、全ての周波数の音声変形について、元々の連続的な音声波形に復元できない事になります。

#### 但し、周波数1Hz~4Hzはそれぞれ別々の赤の角々した線になっている

＝＞周波数1Hz~4Hzだったら、復元できる！！

すなわち、

### 復元できる限界の周波数、今回の場合だったら4Hzの事をナイキスト周波数と言います。


## サンプリング定理

ここまでの例で、
「0」~「サンプリング周波数✖️1/2」の範囲でサンプリングした波形と
「サンプリング周波数✖️1/2」~「サンプリング周波数」の範囲でサンプリングした波形
が存在すると、復元できないという事を視覚的に確認できました。

従って、サンプリング定理というのは、

### 与えられた波形の最大周波数の2倍を超えたサンプリング周波数で標本化すれば完全に元の波形が得られるよ！

です。

上記で行った周波数で具体例を示します。
周波数は1~8Hzまで存在していたので、それの最大周波数、すなわち8Hzの2倍に当たる16Hzのサンプリング周波数で標本化すれば復元できるようになるよというだけです。


## サンプリング定理を意識した音声データ収録

ナイキスト周波数以下の音だけ通す低減通過フィルタ（ローパスフィルタ）を通してからサンプリングを行います。
こうする事で、元の音への復元ができるようになります


## まとめ

僕自身、大学で学んだ時は、なんで2倍するのかという所が全然理解できなかった記憶があるので、記載してみました。

サンプリング定理については、今回、本記事で記述した周波数1~8Hzを眺めて、その特徴を理解すれば簡単に理解できます！

また走り書きになるので、誤字などもあるかもしれないので、気軽にコメント下さい。

ここまで読んで頂きありがとうございました🙇‍♂️


## 補足情報

可聴周波数（人間が聞く事のできる周波数）：20Hz~20kHz（と言われてます）