# Radio {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** ๐Ÿ’ฌ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ๐Ÿฆ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} ## SigDigger [**SigDigger** ](https://github.com/BatchDrake/SigDigger)๋Š” GNU/Linux ๋ฐ macOS์šฉ ๋ฌด๋ฃŒ ๋””์ง€ํ„ธ ์‹ ํ˜ธ ๋ถ„์„๊ธฐ๋กœ, ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๋ผ๋””์˜ค ์‹ ํ˜ธ์˜ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ SDR ์žฅ์น˜๋ฅผ SoapySDR๋ฅผ ํ†ตํ•ด ์ง€์›ํ•˜๋ฉฐ, FSK, PSK ๋ฐ ASK ์‹ ํ˜ธ์˜ ์กฐ์ • ๊ฐ€๋Šฅํ•œ ๋ณต์กฐ, ์•„๋‚ ๋กœ๊ทธ ๋น„๋””์˜ค ๋””์ฝ”๋”ฉ, ๋ฒ„์ŠคํŠธ ์‹ ํ˜ธ ๋ถ„์„ ๋ฐ ์•„๋‚ ๋กœ๊ทธ ์Œ์„ฑ ์ฑ„๋„ ์ฒญ์ทจ(๋ชจ๋‘ ์‹ค์‹œ๊ฐ„)๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ### Basic Config ์„ค์น˜ ํ›„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.\ ์„ค์ •(๋‘ ๋ฒˆ์งธ ํƒญ ๋ฒ„ํŠผ)์—์„œ **SDR ์žฅ์น˜**๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ **ํŒŒ์ผ์„ ์„ ํƒ**ํ•˜์—ฌ ์ฝ๊ณ  ์กฐ์ •ํ•  ์ฃผํŒŒ์ˆ˜ ๋ฐ ์ƒ˜ํ”Œ ์†๋„(PC๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ๋Œ€ 2.56Msps ๊ถŒ์žฅ)๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\\ ![](<../../.gitbook/assets/image (245).png>) GUI ๋™์ž‘์—์„œ PC๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ๋ช‡ ๊ฐ€์ง€๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (472).png>) {% hint style="info" %} PC๊ฐ€ ์‹ ํ˜ธ๋ฅผ ์บก์ฒ˜ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ OpenGL์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ƒ˜ํ”Œ ์†๋„๋ฅผ ๋‚ฎ์ถ”์–ด ๋ณด์‹ญ์‹œ์˜ค. {% endhint %} ### Uses * ์‹ ํ˜ธ์˜ ์ผ๋ถ€๋ฅผ **์บก์ฒ˜ํ•˜๊ณ  ๋ถ„์„**ํ•˜๋ ค๋ฉด "Push to capture" ๋ฒ„ํŠผ์„ ํ•„์š”ํ•œ ๋งŒํผ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ![](<../../.gitbook/assets/image (960).png>) * SigDigger์˜ **ํŠœ๋„ˆ**๋Š” **๋” ๋‚˜์€ ์‹ ํ˜ธ๋ฅผ ์บก์ฒ˜ํ•˜๋Š” ๋ฐ ๋„์›€**์„ ์ค๋‹ˆ๋‹ค(ํ•˜์ง€๋งŒ ์‹ ํ˜ธ๋ฅผ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค). ์ด์ƒ์ ์œผ๋กœ๋Š” 0์—์„œ ์‹œ์ž‘ํ•˜์—ฌ **์‹ ํ˜ธ์˜ ๊ฐœ์„ ๋ณด๋‹ค** **๋…ธ์ด์ฆˆ**๊ฐ€ **๋” ์ปค์งˆ ๋•Œ๊นŒ์ง€** **ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ์‹ญ์‹œ์˜ค**. ![](<../../.gitbook/assets/image (1099).png>) ### Synchronize with radio channel [**SigDigger** ](https://github.com/BatchDrake/SigDigger)๋กœ ๋“ฃ๊ณ  ์‹ถ์€ ์ฑ„๋„๊ณผ ๋™๊ธฐํ™”ํ•˜๊ณ  "Baseband audio preview" ์˜ต์…˜์„ ๊ตฌ์„ฑํ•œ ๋‹ค์Œ, ์ „์†ก๋˜๋Š” ๋ชจ๋“  ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋Œ€์—ญํญ์„ ๊ตฌ์„ฑํ•˜๊ณ  ํŠœ๋„ˆ๋ฅผ ๋…ธ์ด์ฆˆ๊ฐ€ ์‹ค์ œ๋กœ ์ฆ๊ฐ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์˜ ์ˆ˜์ค€์œผ๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค: ![](<../../.gitbook/assets/image (585).png>) ## Interesting tricks * ์žฅ์น˜๊ฐ€ ์ •๋ณด์˜ ๋ฒ„์ŠคํŠธ๋ฅผ ์ „์†กํ•  ๋•Œ, ์ผ๋ฐ˜์ ์œผ๋กœ **์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ ํ”„๋ฆฌ์•ฐ๋ธ”**์ด๋ฏ€๋กœ **์ •๋ณด๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋”๋ผ๋„ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค** **๋˜๋Š” ๊ฑฐ๊ธฐ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ**. * ์ •๋ณด ํ”„๋ ˆ์ž„์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ **์„œ๋กœ ์ž˜ ์ •๋ ฌ๋œ ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค**: ![](<../../.gitbook/assets/image (1076).png>) ![](<../../.gitbook/assets/image (597).png>) * **๋น„ํŠธ๋ฅผ ๋ณต๊ตฌํ•œ ํ›„์—๋Š” ์–ด๋–ค ์‹์œผ๋กœ๋“  ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋งจ์ฒด์Šคํ„ฐ ๋ถ€ํ˜ธํ™”์—์„œ up+down์€ 1 ๋˜๋Š” 0์ด ๋˜๊ณ  down+up์€ ๋‹ค๋ฅธ ํ•˜๋‚˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1๊ณผ 0์˜ ์Œ(์—…๊ณผ ๋‹ค์šด)์€ ์‹ค์ œ 1 ๋˜๋Š” ์‹ค์ œ 0์ด ๋ฉ๋‹ˆ๋‹ค. * ์‹ ํ˜ธ๊ฐ€ ๋งจ์ฒด์Šคํ„ฐ ๋ถ€ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด(์—ฐ์†์œผ๋กœ 0 ๋˜๋Š” 1์ด 2๊ฐœ ์ด์ƒ ๋ฐœ๊ฒฌ๋˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅ), **ํ”„๋ฆฌ์•ฐ๋ธ”์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ 1 ๋˜๋Š” 0์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**! ### Uncovering modulation type with IQ ์‹ ํ˜ธ์— ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 3๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: **์ง„ํญ**, **์ฃผํŒŒ์ˆ˜** ๋˜๋Š” **์œ„์ƒ**์„ ๋ณ€์กฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.\ ์‹ ํ˜ธ๋ฅผ ํ™•์ธํ•  ๋•Œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ(์•„๋ž˜์—์„œ ๋” ๋งŽ์€ ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค) ์ข‹์€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” IQ ๊ทธ๋ž˜ํ”„๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ![](<../../.gitbook/assets/image (788).png>) * **AM ๊ฐ์ง€**: IQ ๊ทธ๋ž˜ํ”„์— ์˜ˆ๋ฅผ ๋“ค์–ด **2๊ฐœ์˜ ์›**์ด ๋‚˜ํƒ€๋‚˜๋ฉด(์•„๋งˆ๋„ ํ•˜๋‚˜๋Š” 0์ด๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋‹ค๋ฅธ ์ง„ํญ), ์ด๋Š” AM ์‹ ํ˜ธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” IQ ๊ทธ๋ž˜ํ”„์—์„œ 0๊ณผ ์› ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์‹ ํ˜ธ์˜ ์ง„ํญ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ๋‹ค๋ฅธ ์ง„ํญ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ์‰ฝ๊ฒŒ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. * **PM ๊ฐ์ง€**: ์ด์ „ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์„œ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ์ž‘์€ ์›์„ ์ฐพ์œผ๋ฉด ์ด๋Š” ์œ„์ƒ ๋ณ€์กฐ๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” IQ ๊ทธ๋ž˜ํ”„์—์„œ ์ ๊ณผ 0,0 ์‚ฌ์ด์˜ ๊ฐ๋„๊ฐ€ ์‹ ํ˜ธ์˜ ์œ„์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์— 4๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์ƒ์ด ์‚ฌ์šฉ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. * ์ •๋ณด๊ฐ€ ์œ„์ƒ์ด ๋ณ€๊ฒฝ๋œ ์‚ฌ์‹ค์— ์ˆจ๊ฒจ์ ธ ์žˆ๊ณ  ์œ„์ƒ ์ž์ฒด์— ์ˆจ๊ฒจ์ ธ ์žˆ๋‹ค๋ฉด, ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์ƒ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. * **FM ๊ฐ์ง€**: IQ์—๋Š” ์ฃผํŒŒ์ˆ˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ํ•„๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค(์ค‘์‹ฌ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋Š” ์ง„ํญ์ด๊ณ  ๊ฐ๋„๋Š” ์œ„์ƒ์ž…๋‹ˆ๋‹ค).\ ๋”ฐ๋ผ์„œ FM์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด ์ด ๊ทธ๋ž˜ํ”„์—์„œ **๊ธฐ๋ณธ์ ์œผ๋กœ ์›๋งŒ ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค**.\ ๋˜ํ•œ, ๋‹ค๋ฅธ ์ฃผํŒŒ์ˆ˜๋Š” IQ ๊ทธ๋ž˜ํ”„์—์„œ **์› ์ฃผ์œ„๋ฅผ ๊ฐ€๋กœ์ง€๋ฅด๋Š” ์†๋„ ๊ฐ€์†**์œผ๋กœ "ํ‘œํ˜„"๋ฉ๋‹ˆ๋‹ค(๋”ฐ๋ผ์„œ SysDigger์—์„œ ์‹ ํ˜ธ๋ฅผ ์„ ํƒํ•˜๋ฉด IQ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฑ„์›Œ์ง€๋ฉฐ, ์ƒ์„ฑ๋œ ์›์—์„œ ๊ฐ€์† ๋˜๋Š” ๋ฐฉํ–ฅ ๋ณ€๊ฒฝ์„ ์ฐพ์œผ๋ฉด ์ด๋Š” FM์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค): ## AM Example {% file src="../../.gitbook/assets/sigdigger_20220308_165547Z_2560000_433500000_float32_iq.raw" %} ### Uncovering AM #### Checking the envelope [**SigDigger** ](https://github.com/BatchDrake/SigDigger)๋กœ AM ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ  **์—”๋ฒจ๋กœํ”„**๋ฅผ ๋ณด๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ๋ช…ํ™•ํ•œ ์ง„ํญ ์ˆ˜์ค€์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋œ ์‹ ํ˜ธ๋Š” AM์œผ๋กœ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๋Š” ํŽ„์Šค๋ฅผ ๋ณด๋‚ด๊ณ  ์žˆ์œผ๋ฉฐ, ํ•˜๋‚˜์˜ ํŽ„์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (590).png>) ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด ํŒŒํ˜•๊ณผ ํ•จ๊ป˜ ๊ธฐํ˜ธ์˜ ์ผ๋ถ€์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (734).png>) #### Checking the Histogram ์ •๋ณด๊ฐ€ ์žˆ๋Š” **์ „์ฒด ์‹ ํ˜ธ**๋ฅผ ์„ ํƒํ•˜๊ณ  **์ง„ํญ** ๋ชจ๋“œ์™€ **์„ ํƒ**์„ ์„ ํƒํ•œ ๋‹ค์Œ **ํžˆ์Šคํ† ๊ทธ๋žจ**์„ ํด๋ฆญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2๊ฐœ์˜ ๋ช…ํ™•ํ•œ ์ˆ˜์ค€๋งŒ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ![](<../../.gitbook/assets/image (264).png>) ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด AM ์‹ ํ˜ธ์—์„œ ์ง„ํญ ๋Œ€์‹  ์ฃผํŒŒ์ˆ˜๋ฅผ ์„ ํƒํ•˜๋ฉด ๋‹จ 1๊ฐœ์˜ ์ฃผํŒŒ์ˆ˜๋งŒ ๋ฐœ๊ฒฌ๋ฉ๋‹ˆ๋‹ค(์ฃผํŒŒ์ˆ˜๋กœ ๋ณ€์กฐ๋œ ์ •๋ณด๊ฐ€ ๋‹จ 1๊ฐœ์˜ ์ฃผํŒŒ์ˆ˜๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค). ![](<../../.gitbook/assets/image (732).png>) ๋งŽ์€ ์ฃผํŒŒ์ˆ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ์ด๋Š” FM์ด ์•„๋‹ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ์•„๋งˆ๋„ ์‹ ํ˜ธ ์ฃผํŒŒ์ˆ˜๊ฐ€ ์ฑ„๋„ ๋•Œ๋ฌธ์— ์ˆ˜์ •๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. #### With IQ ์ด ์˜ˆ์ œ์—์„œ๋Š” **ํฐ ์›**์ด ์žˆ์ง€๋งŒ **์ค‘์•™์— ๋งŽ์€ ์ **์ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ![](<../../.gitbook/assets/image (222).png>) ### Get Symbol Rate #### With one symbol ๊ฐ€์žฅ ์ž‘์€ ๊ธฐํ˜ธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ž˜์„œ 1๊ฐœ๋งŒ ํ™•์‹คํžˆ ์žˆ๋Š”์ง€ ํ™•์ธ) ๋ฐ "์„ ํƒ ์ฃผํŒŒ์ˆ˜"๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์ด ๊ฒฝ์šฐ 1.013kHz(์ฆ‰, 1kHz)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ![](<../../.gitbook/assets/image (78).png>) #### With a group of symbols ์„ ํƒํ•  ๊ธฐํ˜ธ์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ SigDigger๋Š” 1 ๊ธฐํ˜ธ์˜ ์ฃผํŒŒ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค(์„ ํƒํ•œ ๊ธฐํ˜ธ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋” ์ข‹์Šต๋‹ˆ๋‹ค). ์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” 10๊ฐœ์˜ ๊ธฐํ˜ธ๋ฅผ ์„ ํƒํ–ˆ์œผ๋ฉฐ "์„ ํƒ ์ฃผํŒŒ์ˆ˜"๋Š” 1.004 Khz์ž…๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (1008).png>) ### Get Bits ์ด๊ฒƒ์ด **AM ๋ณ€์กฐ** ์‹ ํ˜ธ์ด๊ณ  **๊ธฐํ˜ธ ์ฃผํŒŒ์ˆ˜**๋ฅผ ์ฐพ์•˜์œผ๋ฉฐ(์ด ๊ฒฝ์šฐ ์–ด๋–ค ๊ฒƒ์ด ์œ„๋กœ ๊ฐ€๋ฉด 1์ด๊ณ  ์–ด๋–ค ๊ฒƒ์ด ์•„๋ž˜๋กœ ๊ฐ€๋ฉด 0์ž„์„ ์•Œ๊ณ  ์žˆ์Œ) ์‹ ํ˜ธ์— ์ธ์ฝ”๋”ฉ๋œ **๋น„ํŠธ๋ฅผ ์–ป๋Š” ๊ฒƒ์ด ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค**. ๋”ฐ๋ผ์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ์‹ ํ˜ธ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ƒ˜ํ”Œ๋ง ๋ฐ ๊ฒฐ์ •์„ ๊ตฌ์„ฑํ•œ ๋‹ค์Œ ์ƒ˜ํ”Œ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค(ํ™•์ธ: **์ง„ํญ**์ด ์„ ํƒ๋˜์–ด ์žˆ๊ณ  ๋ฐœ๊ฒฌ๋œ **๊ธฐํ˜ธ ์ฃผํŒŒ์ˆ˜**๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ **Gadner ํด๋ก ๋ณต๊ตฌ**๊ฐ€ ์„ ํƒ๋จ): ![](<../../.gitbook/assets/image (965).png>) * **์„ ํƒ ๊ฐ„๊ฒฉ์— ๋™๊ธฐํ™”**๋Š” ์ด์ „์— ๊ธฐํ˜ธ ์ฃผํŒŒ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์„ ํƒํ•œ ๊ฐ„๊ฒฉ์ด ์‚ฌ์šฉ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. * **์ˆ˜๋™**์€ ์ง€์ •๋œ ๊ธฐํ˜ธ ์ฃผํŒŒ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. * **๊ณ ์ • ๊ฐ„๊ฒฉ ์„ ํƒ**์—์„œ๋Š” ์„ ํƒํ•ด์•ผ ํ•  ๊ฐ„๊ฒฉ์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๊ณ  ๊ทธ๋กœ๋ถ€ํ„ฐ ๊ธฐํ˜ธ ์ฃผํŒŒ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. * **Gadner ํด๋ก ๋ณต๊ตฌ**๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ์ข‹์€ ์˜ต์…˜์ด์ง€๋งŒ ์—ฌ์ „ํžˆ ๋Œ€๋žต์ ์ธ ๊ธฐํ˜ธ ์ฃผํŒŒ์ˆ˜๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒ˜ํ”Œ์„ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (644).png>) ์ด์ œ SigDigger๊ฐ€ **์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ ˆ๋ฒจ์˜ ๋ฒ”์œ„**๋ฅผ ์ดํ•ดํ•˜๋„๋ก ํ•˜๋ ค๋ฉด **ํ•˜์œ„ ๋ ˆ๋ฒจ**์„ ํด๋ฆญํ•˜๊ณ  ๊ฐ€์žฅ ํฐ ๋ ˆ๋ฒจ๊นŒ์ง€ ํด๋ฆญ์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (439).png>) ์˜ˆ๋ฅผ ๋“ค์–ด **4๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ง„ํญ ์ˆ˜์ค€**์ด ์žˆ์—ˆ๋‹ค๋ฉด, **๊ธฐํ˜ธ๋‹น ๋น„ํŠธ๋ฅผ 2๋กœ ์„ค์ •**ํ•˜๊ณ  ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ์—์„œ ๊ฐ€์žฅ ํฐ ๊ฒƒ๊นŒ์ง€ ์„ ํƒํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ **์คŒ์„ ์ฆ๊ฐ€์‹œํ‚ค๊ณ ** **ํ–‰ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด** ๋น„ํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ชจ๋‘ ์„ ํƒํ•˜๊ณ  ๋ณต์‚ฌํ•˜์—ฌ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค): ![](<../../.gitbook/assets/image (276).png>) ์‹ ํ˜ธ์— ๊ธฐํ˜ธ๋‹น 1๋น„ํŠธ ์ด์ƒ(์˜ˆ: 2๋น„ํŠธ)์ด ์žˆ๋Š” ๊ฒฝ์šฐ, SigDigger๋Š” **์–ด๋–ค ๊ธฐํ˜ธ๊ฐ€** 00, 01, 10, 11์ธ์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์„œ๋กœ ๋‹ค๋ฅธ **ํšŒ์ƒ‰ ์Œ์˜**์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค(๋น„ํŠธ๋ฅผ ๋ณต์‚ฌํ•˜๋ฉด **0์—์„œ 3๊นŒ์ง€์˜ ์ˆซ์ž**๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค). ๋˜ํ•œ **๋งจ์ฒด์Šคํ„ฐ**์™€ ๊ฐ™์€ **๋ถ€ํ˜ธํ™”**๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  **up+down**์€ **1 ๋˜๋Š” 0**์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, **down+up**์€ 1 ๋˜๋Š” 0์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” **์–ป์€ ์—…(1)๊ณผ ๋‹ค์šด(0)**์„ ์ฒ˜๋ฆฌํ•˜์—ฌ 01 ๋˜๋Š” 10 ์Œ์„ 0 ๋˜๋Š” 1๋กœ ๋Œ€์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ## FM Example {% file src="../../.gitbook/assets/sigdigger_20220308_170858Z_2560000_433500000_float32_iq.raw" %} ### Uncovering FM #### Checking the frequencies and waveform FM์œผ๋กœ ๋ณ€์กฐ๋œ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๋Š” ์‹ ํ˜ธ ์˜ˆ์ œ: ![](<../../.gitbook/assets/image (725).png>) ์ด์ „ ์ด๋ฏธ์ง€์—์„œ **2๊ฐœ์˜ ์ฃผํŒŒ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Œ์„** ๊ฝค ์ž˜ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, **ํŒŒํ˜•**์„ ๊ด€์ฐฐํ•˜๋ฉด **2๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผํŒŒ์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**: ![](<../../.gitbook/assets/image (717).png>) ์ด๋Š” ๋‚ด๊ฐ€ ๋‘ ์ฃผํŒŒ์ˆ˜์—์„œ ์‹ ํ˜ธ๋ฅผ ์บก์ฒ˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜๋Š” ๋Œ€๋žต ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ ์Œ์ˆ˜์ž…๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (942).png>) ๋™๊ธฐํ™”๋œ ์ฃผํŒŒ์ˆ˜๊ฐ€ **ํ•œ ์ฃผํŒŒ์ˆ˜์— ๋” ๊ฐ€๊นŒ์šด ๊ฒฝ์šฐ** ๋‘ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผํŒŒ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (422).png>) ![](<../../.gitbook/assets/image (488).png>) #### Checking the histogram ์ •๋ณด๊ฐ€ ์žˆ๋Š” ์‹ ํ˜ธ์˜ ์ฃผํŒŒ์ˆ˜ ํžˆ์Šคํ† ๊ทธ๋žจ์„ ํ™•์ธํ•˜๋ฉด ๋‘ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์‹ ํ˜ธ๋ฅผ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ![](<../../.gitbook/assets/image (871).png>) ์ด ๊ฒฝ์šฐ **์ง„ํญ ํžˆ์Šคํ† ๊ทธ๋žจ**์„ ํ™•์ธํ•˜๋ฉด **๋‹จ ํ•˜๋‚˜์˜ ์ง„ํญ**๋งŒ ๋ฐœ๊ฒฌ๋˜๋ฏ€๋กœ **AM์ด ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค**(๋งŽ์€ ์ง„ํญ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์‹ ํ˜ธ๊ฐ€ ์ฑ„๋„์„ ๋”ฐ๋ผ ์ „๋ ฅ์„ ์žƒ์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค): ![](<../../.gitbook/assets/image (817).png>) ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด ์œ„์ƒ ํžˆ์Šคํ† ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค(์‹ ํ˜ธ๊ฐ€ ์œ„์ƒ์œผ๋กœ ๋ณ€์กฐ๋˜์ง€ ์•Š์•˜์Œ์„ ๋งค์šฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค): ![](<../../.gitbook/assets/image (996).png>) #### With IQ IQ์—๋Š” ์ฃผํŒŒ์ˆ˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ํ•„๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค(์ค‘์‹ฌ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋Š” ์ง„ํญ์ด๊ณ  ๊ฐ๋„๋Š” ์œ„์ƒ์ž…๋‹ˆ๋‹ค).\ ๋”ฐ๋ผ์„œ FM์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด ์ด ๊ทธ๋ž˜ํ”„์—์„œ **๊ธฐ๋ณธ์ ์œผ๋กœ ์›๋งŒ ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค**.\ ๋˜ํ•œ, ๋‹ค๋ฅธ ์ฃผํŒŒ์ˆ˜๋Š” IQ ๊ทธ๋ž˜ํ”„์—์„œ **์› ์ฃผ์œ„๋ฅผ ๊ฐ€๋กœ์ง€๋ฅด๋Š” ์†๋„ ๊ฐ€์†**์œผ๋กœ "ํ‘œํ˜„"๋ฉ๋‹ˆ๋‹ค(๋”ฐ๋ผ์„œ SysDigger์—์„œ ์‹ ํ˜ธ๋ฅผ ์„ ํƒํ•˜๋ฉด IQ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฑ„์›Œ์ง€๋ฉฐ, ์ƒ์„ฑ๋œ ์›์—์„œ ๊ฐ€์† ๋˜๋Š” ๋ฐฉํ–ฅ ๋ณ€๊ฒฝ์„ ์ฐพ์œผ๋ฉด ์ด๋Š” FM์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค): ![](<../../.gitbook/assets/image (81).png>) ### Get Symbol Rate ์ฃผํŒŒ์ˆ˜๋ฅผ ์ฐพ์€ ํ›„ ๊ธฐํ˜ธ ์ฃผํŒŒ์ˆ˜๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด **AM ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ธฐ์ˆ **์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### Get Bits ์ฃผํŒŒ์ˆ˜๊ฐ€ ๋ณ€์กฐ๋œ ์‹ ํ˜ธ๋ฅผ ์ฐพ์€ ํ›„ ๋น„ํŠธ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด **AM ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ธฐ์ˆ **์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.