diff --git "a/01. \320\222\320\262\320\265\320\264\320\265\320\275\320\270\320\265 \320\262 \321\206\320\270\321\204\321\200\320\276\320\262\321\203\321\216 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\321\203 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" "b/01. \320\222\320\262\320\265\320\264\320\265\320\275\320\270\320\265 \320\262 \321\206\320\270\321\204\321\200\320\276\320\262\321\203\321\216 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\321\203 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" index ba367c33d1b7e949699a276dc8f21d4cb6be6886..3d2c20e14cce008099e906454a22b81e9c24fa84 100644 --- "a/01. \320\222\320\262\320\265\320\264\320\265\320\275\320\270\320\265 \320\262 \321\206\320\270\321\204\321\200\320\276\320\262\321\203\321\216 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\321\203 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" +++ "b/01. \320\222\320\262\320\265\320\264\320\265\320\275\320\270\320\265 \320\262 \321\206\320\270\321\204\321\200\320\276\320\262\321\203\321\216 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\321\203 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" @@ -943,8 +943,8 @@ "engee": { "isDisplay": true, "isParagraph": true, - "isClosedParagraph": true, - "amountHideCellsInside": 3, + "isClosedParagraph": false, + "amountHideCellsInside": 0, "codeOutputView": "col", "codeOutputHidden": false } @@ -960,7 +960,7 @@ "metadata": { "name": "Ðазвание Ñекции", "engee": { - "isDisplay": false, + "isDisplay": true, "isParagraph": false, "isClosedParagraph": false, "amountHideCellsInside": 0, @@ -979,7 +979,7 @@ "metadata": { "name": "Ðазвание Ñекции", "engee": { - "isDisplay": false, + "isDisplay": true, "isParagraph": true, "isClosedParagraph": true, "amountHideCellsInside": 1, @@ -1063,7 +1063,7 @@ "id": "fbf742e7", "cell_type": "markdown", "source": [ - "Входной аналоговый Ñигнал, обычно предÑтавлÑющий Ñобой ÑмеÑÑŒ **полезного Ñигнала** и **шума** (о шумах речь пойдет в Разделе 3 данного курÑа), поÑтупает в **аналого-цифровой преобразователь** (**ÐЦП**, Раздел 2). Ð’ ÐЦП входной Ñигнал подвергаетÑÑ ÐºÐ²Ð°Ð½Ñ‚Ð¾Ð²Ð°Ð½Ð¸ÑŽ по уровню и диÑкретизации по времени. Выбор чаÑтоты диÑкретизации определÑетÑÑ **теоремой Котельникова** (Раздел 1).\r\n\r\nÐа выходе ÐЦП мы получаем цифровой Ñигнал, который поÑтупает в **блок обработки**. Блок обработки обычно предÑтавлÑет Ñобой **линейную ÑиÑтему** (Раздел 7), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ‚ÐµÐ¼ или иным ÑпоÑобом изменÑет входной Ñигнал. Таким преобразованием может быть **фильтрациÑ**, при которой уÑиливаютÑÑ Ð¾Ð´Ð½Ð¸ Ñпектральные компоненты Ñигнала и подавлÑÑŽÑ‚ÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ðµ. Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¸ÑпользуетÑÑ Ð¿Ñ€Ð°ÐºÑ‚Ð¸Ñ‡ÐµÑки во вÑех ÑиÑтемах ЦОС. Ð’ Разделе 8 раÑÑказываетÑÑ Ð¾ задачах фильтрации и видах **фильтров**, а в Разделе 9 – о Ñинтезе **КИХ и БИХ фильтров**. Другие возможные виды Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñигнала – **Ñ†Ð¸Ñ„Ñ€Ð¾Ð²Ð°Ñ Ð¼Ð¾Ð´ÑƒÐ»ÑциÑ** (Раздел 10) и демодулÑциÑ. Также при необходимоÑти может выполнÑÑ‚ÑŒÑÑ **изменение чаÑтоты диÑкретизации** Ñигнала (Раздел 11).\r\n\r\nЗатем Ñигнал поÑтупает в блок анализа Ñигнала. Ðнализ может проводитьÑÑ Ð²Ð¾ временной облаÑти (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ **Ñвертки**, Раздел 6) или (чаще вÑего) в чаÑтотной облаÑти (**Ñпектральный анализ**, в оÑнове которого лежит **быÑтрое преобразование Фурье (БПФ)**, Разделы 4 и 5).\r\n\r\nПоÑле Ñтого Ñигнгал поÑтупает в **цифро-аналоговый преобразователь** (**ЦÐП**, Раздел 2), на выходе которого получаетÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ð¹ Ñигнал.\r\n\r\n" + "Входной аналоговый Ñигнал, обычно предÑтавлÑющий Ñобой ÑмеÑÑŒ **полезного Ñигнала** и **шума** (о шумах речь пойдет в Разделе 3 данного курÑа), поÑтупает в **аналого-цифровой преобразователь** (**ÐЦП**, Раздел 2). Ð’ ÐЦП входной Ñигнал подвергаетÑÑ ÐºÐ²Ð°Ð½Ñ‚Ð¾Ð²Ð°Ð½Ð¸ÑŽ по уровню и диÑкретизации по времени. Выбор чаÑтоты диÑкретизации определÑетÑÑ **теоремой Котельникова** (Раздел 1).\r\n\r\n<br/>\r\n\r\nÐа выходе ÐЦП мы получаем цифровой Ñигнал, который поÑтупает в **блок обработки**. Блок обработки обычно предÑтавлÑет Ñобой **линейную ÑиÑтему** (Раздел 7), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ‚ÐµÐ¼ или иным ÑпоÑобом изменÑет входной Ñигнал. Таким преобразованием может быть **фильтрациÑ**, при которой уÑиливаютÑÑ Ð¾Ð´Ð½Ð¸ Ñпектральные компоненты Ñигнала и подавлÑÑŽÑ‚ÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ðµ. Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¸ÑпользуетÑÑ Ð¿Ñ€Ð°ÐºÑ‚Ð¸Ñ‡ÐµÑки во вÑех ÑиÑтемах ЦОС. Ð’ Разделе 8 раÑÑказываетÑÑ Ð¾ задачах фильтрации и видах **фильтров**, а в Разделе 9 – о Ñинтезе **КИХ и БИХ фильтров**. Другие возможные виды Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñигнала – **Ñ†Ð¸Ñ„Ñ€Ð¾Ð²Ð°Ñ Ð¼Ð¾Ð´ÑƒÐ»ÑциÑ** (Раздел 10) и демодулÑциÑ. Также при необходимоÑти может выполнÑÑ‚ÑŒÑÑ **изменение чаÑтоты диÑкретизации** Ñигнала (Раздел 11).\r\n\r\nЗатем Ñигнал поÑтупает в блок анализа Ñигнала. Ðнализ может проводитьÑÑ Ð²Ð¾ временной облаÑти (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ **Ñвертки**, Раздел 6) или (чаще вÑего) в чаÑтотной облаÑти (**Ñпектральный анализ**, в оÑнове которого лежит **быÑтрое преобразование Фурье (БПФ)**, Разделы 4 и 5).\r\n\r\nПоÑле Ñтого Ñигнгал поÑтупает в **цифро-аналоговый преобразователь** (**ЦÐП**, Раздел 2), на выходе которого получаетÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ð¹ Ñигнал.\r\n\r\n" ], "attachments": {}, "metadata": { diff --git "a/02. \320\220\320\246\320\237 \320\270 \320\246\320\220\320\237.ngscript" "b/02. \320\220\320\246\320\237 \320\270 \320\246\320\220\320\237.ngscript" index c5e10401d5ff80997adaba883dde13f5cd5613ef..3515d3221e35623f41bde85c193c387f43b45db6 100644 --- "a/02. \320\220\320\246\320\237 \320\270 \320\246\320\220\320\237.ngscript" +++ "b/02. \320\220\320\246\320\237 \320\270 \320\246\320\220\320\237.ngscript" @@ -23,7 +23,6 @@ ], "attachments": {}, "metadata": { - "id": "18e26f71", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -43,7 +42,6 @@ ], "attachments": {}, "metadata": { - "id": "4d966629", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -59,7 +57,7 @@ "id": "93154740", "cell_type": "markdown", "source": [ - "**Ðналого-цифровой преобразователь** – уÑтройÑтво, преобразующее входной аналоговый Ñигнал в диÑкретный цифровой код. ÐЦП оÑущеÑтвлÑет операции диÑкретизации и квантованиÑ.\r\n\r\n\r\n\r\nУÑтройÑтво ÐЦП:\r\n\r\n\r\n\r\nУÑтройÑтво выборки и Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð¸ÐºÑирует и ÑохранÑет значение напрÑÐ¶ÐµÐ½Ð¸Ñ Ð½Ð° Ñвоем входе в моменты Ð·Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð°. Моменты Ð·Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð° определÑÑŽÑ‚ÑÑ Ð·Ð°Ð´Ð°ÑŽÑ‰Ð¸Ð¼ генератором. Его чаÑтота определÑет чаÑтоту диÑкретизации выходного Ñигнала. Сигнал на выходе округлÑетÑÑ Ð´Ð¾ одного из уровней квантованиÑ. \r\n\r\n**Компаратор** – проÑтейший одноразрÑдный ÐЦП. Ðа вход он принимает два Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ð¿Ñ€ÑжениÑ. ЕÑли напрÑжение на первом входе больше, чем на втором, то он выдает логичеÑкую единицу, в противном Ñлучае -- логичеÑкий ноль. ЕÑли компараторов неÑколько, то когда входной Ñигнал превышает определенный уровень, Ñрабатывает ÑоответÑтвующий компаратор. Выходы вÑех компараторов преобразуютÑÑ Ð² двоичное предÑтавление.\r\n\r\n---\r\n" + "**Ðналого-цифровой преобразователь** – уÑтройÑтво, преобразующее входной аналоговый Ñигнал в диÑкретный цифровой код. ÐЦП оÑущеÑтвлÑет операции диÑкретизации и квантованиÑ.\r\n\r\n\r\n\r\nУÑтройÑтво ÐЦП:\r\n\r\n\r\n\r\nУÑтройÑтво выборки и Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð¸ÐºÑирует и ÑохранÑет значение напрÑÐ¶ÐµÐ½Ð¸Ñ Ð½Ð° Ñвоем входе в моменты Ð·Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð°. Моменты Ð·Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð° определÑÑŽÑ‚ÑÑ Ð·Ð°Ð´Ð°ÑŽÑ‰Ð¸Ð¼ генератором. Его чаÑтота определÑет чаÑтоту диÑкретизации выходного Ñигнала. Сигнал на выходе округлÑетÑÑ Ð´Ð¾ одного из уровней квантованиÑ. \r\n\r\n<br/>\r\n\r\n**Компаратор** – проÑтейший одноразрÑдный ÐЦП. Ðа вход он принимает два Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ð¿Ñ€ÑжениÑ. ЕÑли напрÑжение на первом входе больше, чем на втором, то он выдает логичеÑкую единицу, в противном Ñлучае -- логичеÑкий ноль. ЕÑли компараторов неÑколько, то когда входной Ñигнал превышает определенный уровень, Ñрабатывает ÑоответÑтвующий компаратор. Выходы вÑех компараторов преобразуютÑÑ Ð² двоичное предÑтавление.\r\n\r\n---\r\n" ], "attachments": { "ацп.jpg": { @@ -70,7 +68,6 @@ } }, "metadata": { - "id": "9dd95ebf", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -90,7 +87,6 @@ ], "attachments": {}, "metadata": { - "id": "e0bfe28d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -110,7 +106,6 @@ ], "attachments": {}, "metadata": { - "id": "e7953602", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -130,7 +125,6 @@ ], "attachments": {}, "metadata": { - "id": "bb599466", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -150,7 +144,6 @@ ], "attachments": {}, "metadata": { - "id": "34feb070", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -170,7 +163,6 @@ ], "attachments": {}, "metadata": { - "id": "71cf604e", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -190,7 +182,6 @@ ], "attachments": {}, "metadata": { - "id": "71685613", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -210,7 +201,6 @@ ], "attachments": {}, "metadata": { - "id": "b73eff46", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -231,7 +221,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "ab424fa7", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -243,6 +232,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -255,7 +249,6 @@ ], "attachments": {}, "metadata": { - "id": "ec53e196", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -275,7 +268,6 @@ ], "attachments": {}, "metadata": { - "id": "d4d806e6", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -296,7 +288,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "0dca104b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -308,6 +299,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -320,7 +316,6 @@ ], "attachments": {}, "metadata": { - "id": "56adda88", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -341,7 +336,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "4cf396e9", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -353,6 +347,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -365,7 +364,6 @@ ], "attachments": {}, "metadata": { - "id": "898a4d6a", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -389,7 +387,6 @@ } }, "metadata": { - "id": "6c6247a6", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -409,7 +406,6 @@ ], "attachments": {}, "metadata": { - "id": "a8758181", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -429,7 +425,6 @@ ], "attachments": {}, "metadata": { - "id": "7d4a626d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, diff --git "a/03. \320\241\320\273\321\203\321\207\320\260\320\271\320\275\321\213\320\265 \320\277\321\200\320\276\321\206\320\265\321\201\321\201\321\213 \320\270 \321\210\321\203\320\274\321\213.ngscript" "b/03. \320\241\320\273\321\203\321\207\320\260\320\271\320\275\321\213\320\265 \320\277\321\200\320\276\321\206\320\265\321\201\321\201\321\213 \320\270 \321\210\321\203\320\274\321\213.ngscript" index 7d89ccca28f23c0c5326d79ffadc68a7ddfdb685..a2b08b9ce04d023163273eced99bd133ea0ae460 100644 --- "a/03. \320\241\320\273\321\203\321\207\320\260\320\271\320\275\321\213\320\265 \320\277\321\200\320\276\321\206\320\265\321\201\321\201\321\213 \320\270 \321\210\321\203\320\274\321\213.ngscript" +++ "b/03. \320\241\320\273\321\203\321\207\320\260\320\271\320\275\321\213\320\265 \320\277\321\200\320\276\321\206\320\265\321\201\321\201\321\213 \320\270 \321\210\321\203\320\274\321\213.ngscript" @@ -23,7 +23,6 @@ ], "attachments": {}, "metadata": { - "id": "91b10905", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -43,7 +42,6 @@ ], "attachments": {}, "metadata": { - "id": "4228d46f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -67,7 +65,6 @@ } }, "metadata": { - "id": "523af2b7", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -87,7 +84,6 @@ ], "attachments": {}, "metadata": { - "id": "e4ddbdb2", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -107,7 +103,6 @@ ], "attachments": {}, "metadata": { - "id": "ede52f03", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -127,7 +122,6 @@ ], "attachments": {}, "metadata": { - "id": "cf1e6add", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -147,7 +141,6 @@ ], "attachments": {}, "metadata": { - "id": "a773f040", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -168,7 +161,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "7c0e067f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -180,6 +172,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -192,7 +189,6 @@ ], "attachments": {}, "metadata": { - "id": "be536e67", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -213,7 +209,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "59d91ad7", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -225,6 +220,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -237,7 +237,6 @@ ], "attachments": {}, "metadata": { - "id": "68dfa9ad", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -257,7 +256,6 @@ ], "attachments": {}, "metadata": { - "id": "d8b36cca", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -277,7 +275,6 @@ ], "attachments": {}, "metadata": { - "id": "2aaf7743", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -297,7 +294,6 @@ ], "attachments": {}, "metadata": { - "id": "6b25b2ad", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -321,7 +317,6 @@ } }, "metadata": { - "id": "0619e8c0", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -337,11 +332,10 @@ "id": "03204b38", "cell_type": "markdown", "source": [ - "## Ðддитивный белый гауÑÑовÑкий шум\r\n\r\nÐ’ цифровой обработке Ñигналов чаще вÑего иÑпользуетÑÑ **аддитивный белый гауÑÑовÑкий шум (ÐБГШ)**. Его характриÑтики:\r\n* Ð Ð°Ð²Ð½Ð¾Ð¼ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти (поÑтому он называетÑÑ Ð±ÐµÐ»Ñ‹Ð¼);\r\n* Ðормальное раÑпределение временных значений (поÑтому он называетÑÑ Ð³Ð°ÑƒÑовÑким);\r\n* Он ÑуммируетÑÑ Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¼ Ñигналом (поÑтому он называетÑÑ Ð°Ð´Ð´Ð¸Ñ‚Ð¸Ð²Ð½Ñ‹Ð¼);\r\n* Он ÑтатиÑтичеÑки незавиÑим от полезного Ñигнала.\r\n\r\n>ÐБГШ иÑпользуетÑÑ ÐºÐ°Ðº модель канала передачи данных. \r\n\r\nОдной из мер качеÑтва ÑиÑтем ЦОС и ÑиÑтем ÑвÑзи ÑвлÑетÑÑ **отношение Ñигнал/шум** (signal-to-noise ratio, **SNR**) – Ð±ÐµÐ·Ñ€Ð°Ð·Ð¼ÐµÑ€Ð½Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð°, Ñ€Ð°Ð²Ð½Ð°Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸ÑŽ мощноÑти полезного Ñигнала к мощноÑти шума: \r\n$$SNR=\\frac{P_{\\text{Ñигнала}}}{P_{\\text{шума}}}=\\left(\\frac{A_{\\text{Ñигнала}}}{A_{\\text{шума}}}\\right)^2,$$\r\nгде $P$ – мощноÑÑ‚ÑŒ, $A$ – амплитуда.\r\n\r\nSNR обычно измерÑетÑÑ Ð² децибелах (дБ).\r\n\r\nОдна из задач ЦОС – повышение Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ñигнал/шум. РаÑÑмотрим один методов – **уÑреднение (когерентное накопление)**. Он оÑнован на том факте, что при уÑреднении Ñигналов амплмитуда шума не раÑтет." + "## Ðддитивный белый гауÑÑовÑкий шум\r\n\r\nÐ’ цифровой обработке Ñигналов чаще вÑего иÑпользуетÑÑ **аддитивный белый гауÑÑовÑкий шум (ÐБГШ)**. Его характриÑтики:\r\n* Ð Ð°Ð²Ð½Ð¾Ð¼ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти (поÑтому он называетÑÑ Ð±ÐµÐ»Ñ‹Ð¼);\r\n* Ðормальное раÑпределение временных значений (поÑтому он называетÑÑ Ð³Ð°ÑƒÑовÑким);\r\n* Он ÑуммируетÑÑ Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¼ Ñигналом (поÑтому он называетÑÑ Ð°Ð´Ð´Ð¸Ñ‚Ð¸Ð²Ð½Ñ‹Ð¼);\r\n* Он ÑтатиÑтичеÑки незавиÑим от полезного Ñигнала.\r\n\r\n>ÐБГШ иÑпользуетÑÑ ÐºÐ°Ðº модель канала передачи данных. \r\n\r\nОдной из мер качеÑтва ÑиÑтем ЦОС и ÑиÑтем ÑвÑзи ÑвлÑетÑÑ **отношение Ñигнал/шум** (signal-to-noise ratio, **SNR**) – Ð±ÐµÐ·Ñ€Ð°Ð·Ð¼ÐµÑ€Ð½Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð°, Ñ€Ð°Ð²Ð½Ð°Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸ÑŽ мощноÑти полезного Ñигнала к мощноÑти шума: \r\n$$SNR=\\frac{P_{\\text{Ñигнала}}}{P_{\\text{шума}}}=\\left(\\frac{A_{\\text{Ñигнала}}}{A_{\\text{шума}}}\\right)^2,$$\r\nгде $P$ – мощноÑÑ‚ÑŒ, $A$ – амплитуда.\r\n\r\n<br/>\r\n\r\nSNR обычно измерÑетÑÑ Ð² децибелах (дБ).\r\n\r\n<br/>\r\n\r\nОдна из задач ЦОС – повышение Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ñигнал/шум. РаÑÑмотрим один методов – **уÑреднение (когерентное накопление)**. Он оÑнован на том факте, что при уÑреднении Ñигналов амплмитуда шума не раÑтет." ], "attachments": {}, "metadata": { - "id": "72214425", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -361,7 +355,6 @@ ], "attachments": {}, "metadata": { - "id": "d79dfd32", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -382,7 +375,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "03fb635c", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -394,6 +386,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -402,11 +399,10 @@ "id": "9fb224fd", "cell_type": "markdown", "source": [ - "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ `periodogram`, ÑодержащаÑÑÑ Ð² библиотеке `DSP` позволит оценить Ñпектральную плотноÑÑ‚ÑŒ мощноÑти шума. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ <code>signal</code> предÑтавлÑет Ñобой матрицу Ñ 2 Ñтолбцами: в первом Ñтолбце ÑодержитÑÑ Ð²ÐµÐºÑ‚Ð¾Ñ€ отÑчетов зашумленного Ñигнала, а во втором – вектор отÑчетов шума. ПоÑтому в качеÑтве аргумента функции <code>periodogram</code> мы возьмем второй Ñтолбец матрицы <code>signal</code>.\r\n\r\nИз объекта <code>p</code> выделим вектор чаÑтот функцией <code>freq</code> и вектор Ñпектральной плотноÑти мощноÑти функцией <code>power</code>. По графику мы видим, что раÑпределение Ñпектральной плотноÑти мощноÑти шума дейÑтвительно равномерное. Следовательно, Ñто белый шум." + "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ `periodogram`, ÑодержащаÑÑÑ Ð² библиотеке `DSP`, позволит оценить Ñпектральную плотноÑÑ‚ÑŒ мощноÑти шума. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ <code>signal</code> предÑтавлÑет Ñобой матрицу Ñ 2 Ñтолбцами: в первом Ñтолбце ÑодержитÑÑ Ð²ÐµÐºÑ‚Ð¾Ñ€ отÑчетов зашумленного Ñигнала, а во втором – вектор отÑчетов шума. ПоÑтому в качеÑтве аргумента функции <code>periodogram</code> мы возьмем второй Ñтолбец матрицы <code>signal</code>.\r\n\r\nИз объекта <code>p</code> выделим вектор чаÑтот функцией <code>freq</code> и вектор Ñпектральной плотноÑти мощноÑти функцией <code>power</code>. По графику мы видим, что раÑпределение Ñпектральной плотноÑти мощноÑти шума дейÑтвительно равномерное. Следовательно, Ñто белый шум." ], "attachments": {}, "metadata": { - "id": "2aa64f7b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -422,12 +418,11 @@ "id": "4aec22a8", "cell_type": "code", "source": [ - "p = periodogram(signal[2]);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота\", ylabel=\"Ð¡Ð¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "p = DSP.periodogram(signal[2]);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота\", ylabel=\"Ð¡Ð¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "6c880e10", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -439,6 +434,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -451,7 +451,6 @@ ], "attachments": {}, "metadata": { - "id": "aff77698", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -472,7 +471,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "fbf2b9ef", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -484,6 +482,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -496,7 +499,6 @@ ], "attachments": {}, "metadata": { - "id": "2867a25a", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -516,7 +518,6 @@ ], "attachments": {}, "metadata": { - "id": "f4ba0902", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -537,7 +538,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "b8b7d8b5", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -549,6 +549,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -561,7 +566,6 @@ ], "attachments": {}, "metadata": { - "id": "49f800bc", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -582,7 +586,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "27b5f83a", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -594,6 +597,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -602,12 +610,11 @@ "id": "ba1f9403", "cell_type": "code", "source": [ - "p = periodogram(signal[1]);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "p = DSP.periodogram(signal[1]);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "22532547", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -619,6 +626,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -631,7 +643,6 @@ ], "attachments": {}, "metadata": { - "id": "15a929ef", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -651,7 +662,6 @@ ], "attachments": {}, "metadata": { - "id": "d70fd418", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, diff --git "a/04. \320\241\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265 \320\277\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" "b/04. \320\241\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265 \320\277\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" index 710f3ed0747c6a2fb1b7f2d5389f2ac9a18026ba..2a7d208425387ada28d436dc558722342825871d 100644 --- "a/04. \320\241\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265 \320\277\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" +++ "b/04. \320\241\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265 \320\277\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\265 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\201\320\270\320\263\320\275\320\260\320\273\320\276\320\262.ngscript" @@ -57,7 +57,7 @@ "id": "da8332c1", "cell_type": "markdown", "source": [ - "**ЧаÑтотное предÑтавление Ñигнала** – Ñто завиÑимоÑÑ‚ÑŒ измерÑемых параметров Ñигнала от чаÑтоты.\r\n\r\n> ЗавиÑимоÑÑ‚ÑŒ Ñнергии Ñигнала от чаÑтоты $X(f)$ называетÑÑ **Ñпектром Ñигнала**. \r\n\r\nСпектр Ñигнала может быть непрерывным (как показано на верхнем риÑунке) или диÑкретным (как показано на нижнем риÑунке).\r\n\r\n\r\n\r\nÐ’ оÑнове чаÑтотного предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñигнала лежит разложение Ñложного Ñигнала на Ñумму проÑÑ‚Ñ‹Ñ… Ñигналов. Сложный Ñигнал предÑтавлÑетÑÑ Ð² виде Ñуммы ÑинуÑоид Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ чаÑтотами, умноженных на веÑовые коÑффициенты. ВеÑовые коÑффициенты удобно предÑтавлÑÑ‚ÑŒ комплекÑными чиÑлами: модуль чиÑла ÑоответÑтвует амплитуде, а аргумент – начальной фазе. \r\n\r\n---" + "**ЧаÑтотное предÑтавление Ñигнала** – Ñто завиÑимоÑÑ‚ÑŒ измерÑемых параметров Ñигнала от чаÑтоты.\r\n\r\n<br/>\r\n\r\n> ЗавиÑимоÑÑ‚ÑŒ Ñнергии Ñигнала от чаÑтоты $X(f)$ называетÑÑ **Ñпектром Ñигнала**. \r\n\r\nСпектр Ñигнала может быть непрерывным (как показано на верхнем риÑунке) или диÑкретным (как показано на нижнем риÑунке).\r\n\r\n\r\n\r\nÐ’ оÑнове чаÑтотного предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñигнала лежит разложение Ñложного Ñигнала на Ñумму проÑÑ‚Ñ‹Ñ… Ñигналов. Сложный Ñигнал предÑтавлÑетÑÑ Ð² виде Ñуммы ÑинуÑоид Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ чаÑтотами, умноженных на веÑовые коÑффициенты. ВеÑовые коÑффициенты удобно предÑтавлÑÑ‚ÑŒ комплекÑными чиÑлами: модуль чиÑла ÑоответÑтвует амплитуде, а аргумент – начальной фазе. \r\n\r\n---" ], "attachments": { "непрерывный и диÑкретный Ñпектр.jpg": { @@ -122,7 +122,7 @@ "id": "3e989c5a", "cell_type": "markdown", "source": [ - "## Преобразование Фурье\r\n\r\nПреобразование Фурье иÑпользуетÑÑ ÐºÐ°Ðº ÑпоÑоб Ñ€Ð°Ð·Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñигнала на чаÑтоты и амплитуды, Ñ‚.е. Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð° Ñигнала из временного предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² чаÑтотное. \r\nÐ”Ð»Ñ Ð½ÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ñ‹Ñ… Ñигналов применÑетÑÑ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÑƒÑ€ÑŒÐµ (**непрерывное преобразование Фурье**):\r\n$$F(\\omega)=\\frac{1}{\\sqrt{2\\pi}}\\int_{-\\infty}^{\\infty}f(x)e^{-jx\\omega}dx,$$\r\nа Ð´Ð»Ñ Ð´Ð¸Ñкретных Ñигналов – **дикÑретное преобразование Фурье (ДПФ)**:\r\n$$X_k=\\sum_{n=0}^{N-1}x_n e^{-\\frac{2\\pi j}{N}kn}.$$\r\nРезультатом ДПФ будет набор комплекеÑных отÑчетов Ñпектра. \r\nСущеÑтвуют **обратные Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÑƒÑ€ÑŒÐµ** (непрерыное и диÑкретное), переводÑщие Ñигнал из чаÑтотной облаÑти во временную.\r\n\r\n**БыÑтрое преобразование Фурье (БПФ)** – Ñто Ñффективный алгоритм вычиÑÐ»ÐµÐ½Ð¸Ñ Ð”ÐŸÐ¤. ÐžÐ¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° временной поÑледовательноÑти Ð´Ð»Ñ Ð‘ÐŸÐ¤ равна $2^n$, где $n$ – натуральное чиÑло. \r\n\r\nÐаиболее раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð‘ÐŸÐ¤ – **алгоритм Кули–Тьюки**. Он оÑновываетÑÑ Ð½Ð° том факте, что Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑÐ»ÐµÐ½Ð¸Ñ Ð”ÐŸÐ¤ из, например, 8 точек, оно может быть выполнено отбором четных и нечетных значений входного Ñигнала и выполнением двух четырехточечных ДПФ Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¹ операцией Ð¿Ñ€Ð¾Ñ€ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ð¾ времени. \r\n\r\n---" + "## Преобразование Фурье\r\n\r\nПреобразование Фурье иÑпользуетÑÑ ÐºÐ°Ðº ÑпоÑоб Ñ€Ð°Ð·Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñигнала на чаÑтоты и амплитуды, Ñ‚.е. Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð° Ñигнала из временного предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² чаÑтотное. \r\nÐ”Ð»Ñ Ð½ÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ñ‹Ñ… Ñигналов применÑетÑÑ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÑƒÑ€ÑŒÐµ (**непрерывное преобразование Фурье**):\r\n$$F(\\omega)=\\frac{1}{\\sqrt{2\\pi}}\\int_{-\\infty}^{\\infty}f(x)e^{-jx\\omega}dx,$$\r\nа Ð´Ð»Ñ Ð´Ð¸Ñкретных Ñигналов – **дикÑретное преобразование Фурье (ДПФ)**:\r\n$$X_k=\\sum_{n=0}^{N-1}x_n e^{-\\frac{2\\pi j}{N}kn}.$$\r\nРезультатом ДПФ будет набор комплекеÑных отÑчетов Ñпектра. \r\nСущеÑтвуют **обратные Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÑƒÑ€ÑŒÐµ** (непрерыное и диÑкретное), переводÑщие Ñигнал из чаÑтотной облаÑти во временную.\r\n\r\n<br/>\r\n\r\n**БыÑтрое преобразование Фурье (БПФ)** – Ñто Ñффективный алгоритм вычиÑÐ»ÐµÐ½Ð¸Ñ Ð”ÐŸÐ¤. ÐžÐ¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° временной поÑледовательноÑти Ð´Ð»Ñ Ð‘ÐŸÐ¤ равна $2^n$, где $n$ – натуральное чиÑло. \r\n\r\n<br/>\r\n\r\nÐаиболее раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð‘ÐŸÐ¤ – **алгоритм Кули–Тьюки**. Он оÑновываетÑÑ Ð½Ð° том факте, что Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑÐ»ÐµÐ½Ð¸Ñ Ð”ÐŸÐ¤ из, например, 8 точек, оно может быть выполнено отбором четных и нечетных значений входного Ñигнала и выполнением двух четырехточечных ДПФ Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¹ операцией Ð¿Ñ€Ð¾Ñ€ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ð¾ времени. \r\n\r\n---" ], "attachments": {}, "metadata": { @@ -361,7 +361,7 @@ "id": "004df5d8", "cell_type": "markdown", "source": [ - "При выполнении БПФ выходной вектор называетÑÑ **точками**, или **отÑчетами** БПФ. ОтÑчеты Ñигнала обычно поÑтупают ÑкалÑрно (по одному), поÑтому перед БПФ оÑущеÑтвлÑетÑÑ **буферизациÑ** – накопление отÑчетов вектора. Входной вектор временных отÑчетов называетÑÑ **окном**. Размер входного окна тем или иным ÑпоÑобом приравниваетÑÑ Ðº длине БПФ ($N_{FFT}$). ЕÑли во входном окне отÑчетов больше, чем нужно, то лишние отбраÑываютÑÑ. ЕÑли меньше, то входной вектор дополнÑетÑÑ Ð½ÑƒÐ»Ñми. \r\n\r\n**Разрешение по чаÑтоте** завиÑит от длины БПФ и от чаÑтоты диÑкретизации Ñигнала:\r\n$$RBW=\\frac{f_s}{N_{FFT}}.$$ БеретÑÑ Ð²ÐµÑÑŒ чаÑтотный диапазон от $-f_s/2$ до $f_s/2$ и заполнÑетÑÑ Ñ‚Ð¾Ñ‡ÐºÐ°Ð¼Ð¸, в которых нужно оценить Ñпектр. РаÑÑтоÑние между ÑоÑедними точками – Ñто и еÑÑ‚ÑŒ разрешение по чаÑтоте.\r\n\r\n\r\n\r\n---" + "При выполнении БПФ выходной вектор называетÑÑ **точками**, или **отÑчетами** БПФ. ОтÑчеты Ñигнала обычно поÑтупают ÑкалÑрно (по одному), поÑтому перед БПФ оÑущеÑтвлÑетÑÑ **буферизациÑ** – накопление отÑчетов вектора. Входной вектор временных отÑчетов называетÑÑ **окном**. Размер входного окна тем или иным ÑпоÑобом приравниваетÑÑ Ðº длине БПФ ($N_{FFT}$). ЕÑли во входном окне отÑчетов больше, чем нужно, то лишние отбраÑываютÑÑ. ЕÑли меньше, то входной вектор дополнÑетÑÑ Ð½ÑƒÐ»Ñми. \r\n\r\n<br/>\r\n\r\n**Разрешение по чаÑтоте** завиÑит от длины БПФ и от чаÑтоты диÑкретизации Ñигнала:\r\n$$RBW=\\frac{f_s}{N_{FFT}}.$$ БеретÑÑ Ð²ÐµÑÑŒ чаÑтотный диапазон от $-f_s/2$ до $f_s/2$ и заполнÑетÑÑ Ñ‚Ð¾Ñ‡ÐºÐ°Ð¼Ð¸, в которых нужно оценить Ñпектр. РаÑÑтоÑние между ÑоÑедними точками – Ñто и еÑÑ‚ÑŒ разрешение по чаÑтоте.\r\n\r\n\r\n\r\n---" ], "attachments": { "RBW.jpg": { @@ -384,7 +384,7 @@ "id": "93b9db61", "cell_type": "markdown", "source": [ - "## Оконные функции при Ñпектральном анализе\r\n\r\n> **Ð¡Ð¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти** – мощноÑÑ‚ÑŒ Ñигнала, приходÑщаÑÑÑ Ð½Ð° единичный интервал чаÑтоты.\r\n\r\nЧаÑто мы не можем определить точное положение той или иной гармоники в Ñпектре, Ñ‚.к. она попадает между точками БПФ. ÐÐ½ÐµÑ€Ð³Ð¸Ñ Ñтой гармоники может проÑвитьÑÑ Ð² ÑоÑедних точках БПФ. Ðтот Ñффект называетÑÑ **утечкой Ñпектра**. Избежать его полноÑтью невозможно, но Ñгладить его влиÑние можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ оконных функций. \r\n\r\n> **ÐžÐºÐ¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ** – Ñто набор веÑовых коÑффициентов, изменÑющих Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ð¼Ð¿Ð»Ð¸Ñ‚ÑƒÐ´Ñ‹ отÑчетов Ñигнала во временной облаÑти. \r\n\r\nПри анализе большого Ñигнала мы разбиваем его на небольшие отрезки, которые мы взвешиваем оконной функцией и отправлÑем на вход алгоритма БПФ. " + "## Оконные функции при Ñпектральном анализе\r\n\r\n> **Ð¡Ð¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти** – мощноÑÑ‚ÑŒ Ñигнала, приходÑщаÑÑÑ Ð½Ð° единичный интервал чаÑтоты.\r\n\r\nЧаÑто мы не можем определить точное положение той или иной гармоники в Ñпектре, Ñ‚.к. она попадает между точками БПФ. ÐÐ½ÐµÑ€Ð³Ð¸Ñ Ñтой гармоники может проÑвитьÑÑ Ð² ÑоÑедних точках БПФ. Ðтот Ñффект называетÑÑ **утечкой Ñпектра**. Избежать его полноÑтью невозможно, но Ñгладить его влиÑние можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ оконных функций.\r\n\r\n<br/>\r\n\r\n> **ÐžÐºÐ¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ** – Ñто набор веÑовых коÑффициентов, изменÑющих Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ð¼Ð¿Ð»Ð¸Ñ‚ÑƒÐ´Ñ‹ отÑчетов Ñигнала во временной облаÑти. \r\n\r\nПри анализе большого Ñигнала мы разбиваем его на небольшие отрезки, которые мы взвешиваем оконной функцией и отправлÑем на вход алгоритма БПФ. " ], "attachments": {}, "metadata": { @@ -690,7 +690,7 @@ "id": "cac19496", "cell_type": "code", "source": [ - "using Plots, DSP;\r\nfs = 4000;\r\nt = [0:1/fs:0.2;];\r\nx = (t.^3).*cos.(2*pi*1000*t);\r\nn=div(length(x),8);\r\ny = spectrogram(x, n, div(n,2), onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(y.time, y.freq, pow2db.(y.power), xlabel=\"чаÑтота, Гц\", ylabel=\"t, Ñ\", legend=false)" + "using Plots, DSP;\r\nfs = 4000;\r\nt = [0:1/fs:0.2;];\r\nx = (t.^3).*cos.(2*pi*1000*t);\r\nn=div(length(x),8);\r\ny = DSP.spectrogram(x, n, div(n,2), onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(y.time, y.freq, pow2db.(y.power), xlabel=\"чаÑтота, Гц\", ylabel=\"t, Ñ\", legend=false)" ], "execution_count": 0, "outputs": [], @@ -805,7 +805,7 @@ "id": "921c0080", "cell_type": "code", "source": [ - "using Plots, DigitalComm, DSP;\r\nfs = 4000;\r\nt = [0:1/fs:0.2;];\r\nsin_wave = cos.(2*pi*1000*t);\r\nx = addNoise(sin_wave, 5)[1];\r\nn=div(length(x),8);\r\ny = spectrogram(x, n, div(n,2), onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(y.time, y.freq, pow2db.(y.power), xlabel=\"чаÑтота, Гц\", ylabel=\"t\", legend=false)" + "using Plots, DigitalComm, DSP;\r\nfs = 4000;\r\nt = [0:1/fs:0.2;];\r\nsin_wave = cos.(2*pi*1000*t);\r\nx = addNoise(sin_wave, 5)[1];\r\nn=div(length(x),8);\r\ny = DSP.spectrogram(x, n, div(n,2), onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(y.time, y.freq, pow2db.(y.power), xlabel=\"чаÑтота, Гц\", ylabel=\"t\", legend=false)" ], "execution_count": 0, "outputs": [], diff --git "a/05. \320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\270 \320\275\320\265\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\274\320\265\321\202\320\276\320\264\321\213 \321\201\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\263\320\276 \320\260\320\275\320\260\320\273\320\270\320\267\320\260.ngscript" "b/05. \320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\270 \320\275\320\265\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\274\320\265\321\202\320\276\320\264\321\213 \321\201\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\263\320\276 \320\260\320\275\320\260\320\273\320\270\320\267\320\260.ngscript" index b2bc160983902439656706e97f75448cfdb61843..e188b75cd792c536d8b52847228f5a952a764598 100644 --- "a/05. \320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\270 \320\275\320\265\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\274\320\265\321\202\320\276\320\264\321\213 \321\201\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\263\320\276 \320\260\320\275\320\260\320\273\320\270\320\267\320\260.ngscript" +++ "b/05. \320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\270 \320\275\320\265\320\277\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\270\321\207\320\265\321\201\320\272\320\270\320\265 \320\274\320\265\321\202\320\276\320\264\321\213 \321\201\320\277\320\265\320\272\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\263\320\276 \320\260\320\275\320\260\320\273\320\270\320\267\320\260.ngscript" @@ -124,7 +124,7 @@ "id": "4a85c215", "cell_type": "code", "source": [ - "y = periodogram(x, onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(freq(y)[1:400], power(y)[1:400], xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "y = DSP.periodogram(x, onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(freq(y)[1:400], power(y)[1:400], xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], @@ -239,7 +239,7 @@ "id": "d91dfb36", "cell_type": "code", "source": [ - "using Plots, FFTW;\r\nfc = [440 550 660]';\r\nfs = 8000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t);\r\nx = x/3;\r\ny = periodogram(x, onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(freq(y)[1:100], power(y)[1:100], xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "using Plots, FFTW;\r\nfc = [440 550 660]';\r\nfs = 8000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t);\r\nx = x/3;\r\ny = DSP.periodogram(x, onesided=true, nfft=length(x), fs=fs, window=DSP.hamming);\r\nplot(freq(y)[1:100], power(y)[1:100], xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], @@ -268,7 +268,7 @@ "id": "045edbac", "cell_type": "markdown", "source": [ - "---\r\n\r\n### Метод УÑлча\r\n\r\nПри вычиÑлении периодограммы по длинному фрагменту Ñлучайного Ñигнала она оказываетÑÑ Ð²ÐµÑьма изрезанной. Ð”Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ñтой изрезанноÑти необходимо применить какое-либо уÑреднение. \r\n\r\nМетод, предложенный УÑлчем, иÑпользует веÑовую функцию и разбиение Ñигнала на перекрывающиеÑÑ Ñегменты. ВычиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾ методу УÑлча организуютÑÑ Ñледующим образом:\r\n\r\n1. Вектор отÑчетов Ñигнала делитÑÑ Ð½Ð° перекрывающиеÑÑ Ñегменты. Как правило, иÑпользуетÑÑ Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ñ‚Ð¸Ðµ 50%. \r\n2. Каждый Ñегмент умножаетÑÑ Ð½Ð° иÑпользуемую веÑовую функцию.\r\n3. Ð”Ð»Ñ Ð²Ð·Ð²ÐµÑˆÐµÐ½Ð½Ñ‹Ñ… Ñегментов вычиÑлÑÑŽÑ‚ÑÑ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ периодограммы.\r\n4. Периодограммы вÑех Ñегментов уÑреднÑÑŽÑ‚ÑÑ.\r\n\r\n\r\n\r\n" + "---\r\n\r\n### Метод УÑлча\r\n\r\nПри вычиÑлении периодограммы по длинному фрагменту Ñлучайного Ñигнала она оказываетÑÑ Ð²ÐµÑьма изрезанной. Ð”Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ñтой изрезанноÑти необходимо применить какое-либо уÑреднение. \r\n\r\n<br/>\r\n\r\nМетод, предложенный УÑлчем, иÑпользует веÑовую функцию и разбиение Ñигнала на перекрывающиеÑÑ Ñегменты. ВычиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾ методу УÑлча организуютÑÑ Ñледующим образом:\r\n\r\n1. Вектор отÑчетов Ñигнала делитÑÑ Ð½Ð° перекрывающиеÑÑ Ñегменты. Как правило, иÑпользуетÑÑ Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ñ‚Ð¸Ðµ 50%. \r\n2. Каждый Ñегмент умножаетÑÑ Ð½Ð° иÑпользуемую веÑовую функцию.\r\n3. Ð”Ð»Ñ Ð²Ð·Ð²ÐµÑˆÐµÐ½Ð½Ñ‹Ñ… Ñегментов вычиÑлÑÑŽÑ‚ÑÑ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ периодограммы.\r\n4. Периодограммы вÑех Ñегментов уÑреднÑÑŽÑ‚ÑÑ.\r\n\r\n\r\n\r\n" ], "attachments": {}, "metadata": { diff --git "a/06. \320\232\320\276\321\200\321\200\320\265\320\273\321\217\321\206\320\270\321\217 \320\270 \321\201\320\262\320\265\321\200\321\202\320\272\320\260.ngscript" "b/06. \320\232\320\276\321\200\321\200\320\265\320\273\321\217\321\206\320\270\321\217 \320\270 \321\201\320\262\320\265\321\200\321\202\320\272\320\260.ngscript" index bc8f1bbf1ab52c3d371c994d9646941d5ffb9fa3..373b87bb78d237cf3c885e1a04e889a8765b6f57 100644 --- "a/06. \320\232\320\276\321\200\321\200\320\265\320\273\321\217\321\206\320\270\321\217 \320\270 \321\201\320\262\320\265\321\200\321\202\320\272\320\260.ngscript" +++ "b/06. \320\232\320\276\321\200\321\200\320\265\320\273\321\217\321\206\320\270\321\217 \320\270 \321\201\320\262\320\265\321\200\321\202\320\272\320\260.ngscript" @@ -38,7 +38,7 @@ "id": "ee315b4d", "cell_type": "markdown", "source": [ - "## КоррелÑÑ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ\r\n\r\n> **КоррелÑциÑ** – Ñто мера завиÑимоÑти двух (Ñлучайных) величин. \r\n\r\nÐ”Ð»Ñ Ñ‡Ð¸Ñленной оценки Ñтой завиÑимоÑти иÑпользуетÑÑ **коÑффиицент коррелÑции**. Он может принимать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° отрезке от $-1$ до $+1$. ЕÑли коÑффициет коррелÑции равен $+1$, то две величины идеально коррелированы друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼, Ñ‚.е при изменении первой величины на какое-то значение Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° изменÑетÑÑ Ð½Ð° такое же значние. ЕÑли коÑффиицент коррелÑции равен $-1$, то роÑту первой величины ÑоответÑтвует уменьшение второй величины на такое же значение. \r\n\r\n> **КоррелÑÑ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ** двух Ñигналов – Ñто завиÑимоÑÑ‚ÑŒ коÑффициента коррелÑции от величины временного Ñдвига между Ñигналами. \r\n\r\n> **Ð’Ð·Ð°Ð¸Ð¼Ð½Ð°Ñ ÐºÐ¾Ñ€Ñ€ÐµÑÐ»Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ** – Ñто метод оценки коррелÑции двух Ñигналов $f(t)$ и $g(t)$:\r\n$$\\Psi(\\tau)=\\int_{-\\infty}^{\\infty}f(t) \\cdot g(t+\\tau)dt.$$\r\nÐ”Ð»Ñ Ð´Ð¸Ñкретных Ñигналов Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¼ÐµÐ½ÑетÑÑ Ð½Ð° Ñуммирование.\r\n\r\n> **ÐвтокоррелÑÑ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ (ÐКФ)** Ñравнивает Ñигнал Ñ ÐµÐ³Ð¾ Ñдвинутой во времени копией.\r\n\r\nÐапример, ÐКФ прÑмоугольного импульÑа имеет форму треугольника, а ÐКФ беÑконечной ÑинуÑоиды – Ñ‚Ð°ÐºÐ°Ñ Ð¶Ðµ ÑинуÑоида Ñ Ñ‚Ð¾Ð¹ же чаÑтотой. ÐКФ Ñлучайного процеÑÑа (шума) имеет один выраженный макÑимум в точке 0, и при малейшем Ñдвиге ее Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ð´Ð°ÑŽÑ‚ почти до нулÑ:\r\n\r\n" + "## КоррелÑÑ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ\r\n\r\n> **КоррелÑциÑ** – Ñто мера завиÑимоÑти двух (Ñлучайных) величин. \r\n\r\nÐ”Ð»Ñ Ñ‡Ð¸Ñленной оценки Ñтой завиÑимоÑти иÑпользуетÑÑ **коÑффиицент коррелÑции**. Он может принимать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° отрезке от $-1$ до $+1$. ЕÑли коÑффициет коррелÑции равен $+1$, то две величины идеально коррелированы друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼, Ñ‚.е при изменении первой величины на какое-то значение Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° изменÑетÑÑ Ð½Ð° такое же значние. ЕÑли коÑффиицент коррелÑции равен $-1$, то роÑту первой величины ÑоответÑтвует уменьшение второй величины на такое же значение. \r\n\r\n<br/>\r\n\r\n> **КоррелÑÑ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ** двух Ñигналов – Ñто завиÑимоÑÑ‚ÑŒ коÑффициента коррелÑции от величины временного Ñдвига между Ñигналами. \r\n\r\n> **Ð’Ð·Ð°Ð¸Ð¼Ð½Ð°Ñ ÐºÐ¾Ñ€Ñ€ÐµÑÐ»Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ** – Ñто метод оценки коррелÑции двух Ñигналов $f(t)$ и $g(t)$:\r\n$$\\Psi(\\tau)=\\int_{-\\infty}^{\\infty}f(t) \\cdot g(t+\\tau)dt.$$\r\nÐ”Ð»Ñ Ð´Ð¸Ñкретных Ñигналов Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¼ÐµÐ½ÑетÑÑ Ð½Ð° Ñуммирование.\r\n\r\n<br/>\r\n\r\n> **ÐвтокоррелÑÑ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ (ÐКФ)** Ñравнивает Ñигнал Ñ ÐµÐ³Ð¾ Ñдвинутой во времени копией.\r\n\r\nÐапример, ÐКФ прÑмоугольного импульÑа имеет форму треугольника, а ÐКФ беÑконечной ÑинуÑоиды – Ñ‚Ð°ÐºÐ°Ñ Ð¶Ðµ ÑинуÑоида Ñ Ñ‚Ð¾Ð¹ же чаÑтотой. ÐКФ Ñлучайного процеÑÑа (шума) имеет один выраженный макÑимум в точке 0, и при малейшем Ñдвиге ее Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ð´Ð°ÑŽÑ‚ почти до нулÑ:\r\n\r\n" ], "attachments": { "акф шума.jpg": { @@ -137,7 +137,7 @@ "id": "331d6964", "cell_type": "markdown", "source": [ - "**ÐÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ð°Ñ Ñвертка** $y=f*g$ ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из видов интегральных преобразований и по Ñвоему виду близка к коррелÑционной функции. С помощью Ñвертки оцениваетÑÑ Ñтепень ÑхожеÑти одной функции Ñ *зеркально отраженной* и Ñдвинутой во времени второй функцией. \r\n\r\n**ДиÑÐºÑ€ÐµÑ‚Ð½Ð°Ñ Ñвертка** двух поÑледовательноÑтей вычиÑлÑетÑÑ Ð¿Ð¾ формуле:\r\n$$y[n]=\\sum_{m=0}^{\\infty}x[m] \\cdot h[n-m].$$\r\n\r\n**Пример вычиÑÐ»ÐµÐ½Ð¸Ñ Ð´Ð¸Ñкретной Ñвертки**. РаÑÑмотрим две диÑкретные поÑледовательноÑти:\r\n$$x[n]=[\\begin{matrix} 4 & 2 & 1 & 2 & 3 \\end{matrix}]$$ и $$h[n]=[\\begin{matrix} 1 & 2 & 4 & 2 & 3 \\end{matrix}].$$ Тогда их Ñвертка будет иметь вид: $$y[n]=[\\begin{matrix} 4 & 10 & 21 & 20 & 27 & 22 & 19 & 12 & 9 \\end{matrix}].$$ \r\n\r\nПри Ñтом первую поÑледовательноÑÑ‚ÑŒ можно раÑÑматривать как входной Ñигнал, а вторую – как некую ÑиÑтему, через которую Ñтот Ñигнал проходит. Результат диÑкретной Ñвертки $y[n]$ Ñодержит больше отÑчетов, чем ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· Ñворачиваемых поÑледовательноÑтей." + "**ÐÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ð°Ñ Ñвертка** $y=f*g$ ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из видов интегральных преобразований и по Ñвоему виду близка к коррелÑционной функции. С помощью Ñвертки оцениваетÑÑ Ñтепень ÑхожеÑти одной функции Ñ *зеркально отраженной* и Ñдвинутой во времени второй функцией. \r\n\r\n<br/>\r\n\r\n**ДиÑÐºÑ€ÐµÑ‚Ð½Ð°Ñ Ñвертка** двух поÑледовательноÑтей вычиÑлÑетÑÑ Ð¿Ð¾ формуле:\r\n$$y[n]=\\sum_{m=0}^{\\infty}x[m] \\cdot h[n-m].$$\r\n\r\n**Пример вычиÑÐ»ÐµÐ½Ð¸Ñ Ð´Ð¸Ñкретной Ñвертки**. РаÑÑмотрим две диÑкретные поÑледовательноÑти:\r\n$$x[n]=[\\begin{matrix} 4 & 2 & 1 & 2 & 3 \\end{matrix}]$$ и $$h[n]=[\\begin{matrix} 1 & 2 & 4 & 2 & 3 \\end{matrix}].$$ Тогда их Ñвертка будет иметь вид: $$y[n]=[\\begin{matrix} 4 & 10 & 21 & 20 & 27 & 22 & 19 & 12 & 9 \\end{matrix}].$$ \r\n\r\nПри Ñтом первую поÑледовательноÑÑ‚ÑŒ можно раÑÑматривать как входной Ñигнал, а вторую – как некую ÑиÑтему, через которую Ñтот Ñигнал проходит. Результат диÑкретной Ñвертки $y[n]$ Ñодержит больше отÑчетов, чем ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· Ñворачиваемых поÑледовательноÑтей." ], "attachments": {}, "metadata": { diff --git "a/07. \320\233\320\270\320\275\320\265\320\271\320\275\321\213\320\265 \321\201\321\202\320\260\321\206\320\270\320\276\320\275\320\260\321\200\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" "b/07. \320\233\320\270\320\275\320\265\320\271\320\275\321\213\320\265 \321\201\321\202\320\260\321\206\320\270\320\276\320\275\320\260\321\200\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" index f639e63b834b1efcd68d845cbf86d0d60e2a0500..80d52766cfb0dc227995d39bb6f07f1d2eabf3a0 100644 --- "a/07. \320\233\320\270\320\275\320\265\320\271\320\275\321\213\320\265 \321\201\321\202\320\260\321\206\320\270\320\276\320\275\320\260\321\200\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" +++ "b/07. \320\233\320\270\320\275\320\265\320\271\320\275\321\213\320\265 \321\201\321\202\320\260\321\206\320\270\320\276\320\275\320\260\321\200\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" @@ -23,7 +23,6 @@ ], "attachments": {}, "metadata": { - "id": "6d97e2f9", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -43,7 +42,6 @@ ], "attachments": {}, "metadata": { - "id": "7a81e402", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -67,7 +65,6 @@ } }, "metadata": { - "id": "dbfa44f4", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -87,7 +84,6 @@ ], "attachments": {}, "metadata": { - "id": "0bc14c0d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -107,7 +103,6 @@ ], "attachments": {}, "metadata": { - "id": "eb6e087a", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -131,7 +126,6 @@ } }, "metadata": { - "id": "f626efa9", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -147,11 +141,10 @@ "id": "426ace67", "cell_type": "markdown", "source": [ - "ЗдеÑÑŒ Ñимвол $z^{-1}$ обозначает задержку Ñигнала на один отÑчет (на один такт), треугольники Ñ Ñ‡Ð¸Ñлами обозначают умножение отÑчетов на ÑоответÑтвующие коÑффициенты, знаком $+$ в круге обозначен Ñумматор.\r\n\r\nПо разноÑтным уравнениÑм можно ÑоÑтавлÑÑ‚ÑŒ Ñхемы ЛДСС и реализовывать их в \"железе\".\r\n\r\n---" + "ЗдеÑÑŒ Ñимвол $z^{-1}$ обозначает задержку Ñигнала на один отÑчет (на один такт), треугольники Ñ Ñ‡Ð¸Ñлами обозначают умножение отÑчетов на ÑоответÑтвующие коÑффициенты, знаком $+$ в круге обозначен Ñумматор.\r\n\r\n<br/>\r\n\r\nПо разноÑтным уравнениÑм можно ÑоÑтавлÑÑ‚ÑŒ Ñхемы ЛДСС и реализовывать их в \"железе\".\r\n\r\n---" ], "attachments": {}, "metadata": { - "id": "442a9d71", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -171,7 +164,6 @@ ], "attachments": {}, "metadata": { - "id": "3235a324", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -187,11 +179,10 @@ "id": "58f7ad13", "cell_type": "markdown", "source": [ - "> **ИмпульÑÐ½Ð°Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтика** ЛДСС – Ñто Ñ€ÐµÐ°ÐºÑ†Ð¸Ñ ÑиÑтемы на единичный диÑкретный импульÑ. \r\n\r\nЕдиничный диÑкретный Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑ â€“ аналог дельта-функции Дирака Ð´Ð»Ñ Ð´Ð¸Ñкретных Ñигналов, у него еÑÑ‚ÑŒ вÑего один отÑчет, равный 1 в момент времени $t=0$. \r\n\r\nОтклик ÑиÑтемы y(n) вычиÑлÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ диÑкретной Ñвертки входного Ñигнала $x(n)$ и импульÑной характриÑтики $h(n)$:\r\n$$y(n)=x(n)*h(n).$$\r\n\r\n---" + "> **ИмпульÑÐ½Ð°Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтика** ЛДСС – Ñто Ñ€ÐµÐ°ÐºÑ†Ð¸Ñ ÑиÑтемы на единичный диÑкретный импульÑ. \r\n\r\nЕдиничный диÑкретный Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑ â€“ аналог дельта-функции Дирака Ð´Ð»Ñ Ð´Ð¸Ñкретных Ñигналов, у него еÑÑ‚ÑŒ вÑего один отÑчет, равный 1 в момент времени $t=0$. \r\n\r\n<br/>\r\n\r\nОтклик ÑиÑтемы y(n) вычиÑлÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ диÑкретной Ñвертки входного Ñигнала $x(n)$ и импульÑной характриÑтики $h(n)$:\r\n$$y(n)=x(n)*h(n).$$\r\n\r\n---" ], "attachments": {}, "metadata": { - "id": "9399997e", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -211,7 +202,6 @@ ], "attachments": {}, "metadata": { - "id": "be279107", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -227,11 +217,10 @@ "id": "bb75e99f", "cell_type": "markdown", "source": [ - "> **Z-преобразование** Ñтавит в ÑоответÑтвие значениÑм Ñигнала во временной облаÑти отÑчеты в комплекÑной чаÑтотной облаÑти: $$X(z)=\\sum_{n=-\\infty}^{\\infty}x(n)z^{-n}.$$\r\n\r\nСвойÑтва Z-преобразованиÑ:\r\n\r\n* $x(n-k) \\rightarrow z^{-k} \\cdot X(z)$;\r\n* $x(n)*y(n) \\rightarrow X(z) \\cdot Y(z)$;\r\n* $x(-n) \\rightarrow X(1/z)$;\r\n* $a^n x(n) \\rightarrow X(z/a)$.\r\n\r\nÐ’ Z-облаÑти вычиÑÐ»ÐµÐ½Ð¸Ñ ÑтановÑÑ‚ÑÑ Ð³Ð¾Ñ€Ð°Ð·Ð´Ð¾ проще и Ñффективнее. ПоÑтому чаÑто анализ Ñложных ÑиÑтем оÑущеÑтвлÑÑŽÑ‚ в Z-облаÑти, а затем производÑÑ‚ обратное преобразование во временную облаÑÑ‚ÑŒ. \r\n\r\nZ-форма выходного Ñигнала ÑиÑтемы вычиÑлÑетÑÑ ÐºÐ°Ðº перемножение Z-форм входного Ñигнала и импульÑной характериÑтики: \r\n$$y(n)=x(n)*h(n) \\rightarrow Y(z)=X(z) \\cdot H(z).$$\r\n\r\n> Отношение выхода и входа в Z-облаÑти называетÑÑ **передаточной функцией ÑиÑтемы**: $$H(z)=\\frac{Y(z)}{X(z)}.$$\r\n\r\nÐто дробно-Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð°Ð¼Ð¸ в чиÑлителе и знаменателе:\r\n$$H(z)=\\frac{b_0+b_1z^{-1}+b_2z^{-2}+...+b_Mz^{-M}}{a_0+a_1z^{-1}+a_2z^{-2}+...+a_Nz^{-N}}.$$\r\nÐти полиномы полноÑтью определÑÑŽÑ‚ÑÑ ÐºÐ¾Ñффициентами разноÑтного уравнениÑ.\r\n\r\n---\r\n" + "> **Z-преобразование** Ñтавит в ÑоответÑтвие значениÑм Ñигнала во временной облаÑти отÑчеты в комплекÑной чаÑтотной облаÑти: $$X(z)=\\sum_{n=-\\infty}^{\\infty}x(n)z^{-n}.$$\r\n\r\nСвойÑтва Z-преобразованиÑ:\r\n\r\n* $x(n-k) \\rightarrow z^{-k} \\cdot X(z)$;\r\n* $x(n)*y(n) \\rightarrow X(z) \\cdot Y(z)$;\r\n* $x(-n) \\rightarrow X(1/z)$;\r\n* $a^n x(n) \\rightarrow X(z/a)$.\r\n\r\nÐ’ Z-облаÑти вычиÑÐ»ÐµÐ½Ð¸Ñ ÑтановÑÑ‚ÑÑ Ð³Ð¾Ñ€Ð°Ð·Ð´Ð¾ проще и Ñффективнее. ПоÑтому чаÑто анализ Ñложных ÑиÑтем оÑущеÑтвлÑÑŽÑ‚ в Z-облаÑти, а затем производÑÑ‚ обратное преобразование во временную облаÑÑ‚ÑŒ. \r\n\r\n<br/>\r\n\r\nZ-форма выходного Ñигнала ÑиÑтемы вычиÑлÑетÑÑ ÐºÐ°Ðº перемножение Z-форм входного Ñигнала и импульÑной характериÑтики: \r\n$$y(n)=x(n)*h(n) \\rightarrow Y(z)=X(z) \\cdot H(z).$$\r\n\r\n> Отношение выхода и входа в Z-облаÑти называетÑÑ **передаточной функцией ÑиÑтемы**: $$H(z)=\\frac{Y(z)}{X(z)}.$$\r\n\r\nÐто дробно-Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð°Ð¼Ð¸ в чиÑлителе и знаменателе:\r\n$$H(z)=\\frac{b_0+b_1z^{-1}+b_2z^{-2}+...+b_Mz^{-M}}{a_0+a_1z^{-1}+a_2z^{-2}+...+a_Nz^{-N}}.$$\r\nÐти полиномы полноÑтью определÑÑŽÑ‚ÑÑ ÐºÐ¾Ñффициентами разноÑтного уравнениÑ.\r\n\r\n---\r\n" ], "attachments": {}, "metadata": { - "id": "953f5a71", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -251,7 +240,6 @@ ], "attachments": {}, "metadata": { - "id": "dd1b6be0", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -267,7 +255,7 @@ "id": "3aecbb53", "cell_type": "markdown", "source": [ - "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $z$ – Ñто Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑÐ½Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð°, которую можно изобразить на комплекÑной плоÑкоÑти. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¹ функции $H(z)$ определим точки, в которых она равна нулю (точки, в которых чиÑлитель равен нулю), и точки, в которых она обращаетÑÑ Ð² беÑконечноÑÑ‚ÑŒ (точки, в которых знаменатель равен нулю). Корни чиÑÐ»Ð¸Ñ‚ÐµÐ»Ñ â€“ Ñто **нули** передаточной функции, а корни Ð·Ð½Ð°Ð¼ÐµÐ½Ð°Ñ‚ÐµÐ»Ñ â€“ ее **полюÑÑ‹**. \r\n\r\nПример: \r\n$$H(z)=\\frac{0,75+0,5z^{-1}}{1+0,2z^{-1}+0,1z^{-2}}.$$\r\nУмножив чиÑлитель и знаменатель дроби на $z^2$, получим\r\n$$H(z)=\\frac{0,75z^2+0,5z}{z^2+0,2z+0,1}.$$\r\nПриравнÑв чиÑлитель к нулю, найдем нули передаточной функции: $z=0$ и $z=-0,6667$. ПриравнÑв знаменатель к нулю, найдем полюÑÑ‹: $z=-0,1+0,3j$, $z=-0,1-0,3j$.\r\n\r\nОтобразим их на комплекÑной плоÑкоÑти. Ðули помечаютÑÑ ÐºÑ€ÑƒÐ¶ÐºÐ°Ð¼Ð¸, полюÑÑ‹ – креÑтиками.\r\n\r\n\r\n\r\n---\r\n" + "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $z$ – Ñто Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑÐ½Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð°, которую можно изобразить на комплекÑной плоÑкоÑти. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¹ функции $H(z)$ определим точки, в которых она равна нулю (точки, в которых чиÑлитель равен нулю), и точки, в которых она обращаетÑÑ Ð² беÑконечноÑÑ‚ÑŒ (точки, в которых знаменатель равен нулю). Корни чиÑÐ»Ð¸Ñ‚ÐµÐ»Ñ â€“ Ñто **нули** передаточной функции, а корни Ð·Ð½Ð°Ð¼ÐµÐ½Ð°Ñ‚ÐµÐ»Ñ â€“ ее **полюÑÑ‹**. \r\n\r\n<br/>\r\n\r\nПример: \r\n$$H(z)=\\frac{0,75+0,5z^{-1}}{1+0,2z^{-1}+0,1z^{-2}}.$$\r\nУмножив чиÑлитель и знаменатель дроби на $z^2$, получим\r\n$$H(z)=\\frac{0,75z^2+0,5z}{z^2+0,2z+0,1}.$$\r\nПриравнÑв чиÑлитель к нулю, найдем нули передаточной функции: $z=0$ и $z=-0,6667$. ПриравнÑв знаменатель к нулю, найдем полюÑÑ‹: $z=-0,1+0,3j$, $z=-0,1-0,3j$.\r\n\r\n<br/>\r\n\r\nОтобразим их на комплекÑной плоÑкоÑти. Ðули помечаютÑÑ ÐºÑ€ÑƒÐ¶ÐºÐ°Ð¼Ð¸, полюÑÑ‹ – креÑтиками.\r\n\r\n\r\n\r\n---\r\n" ], "attachments": { "нуль-полюÑÐ½Ð°Ñ Ð´Ð¸Ð°Ð³Ñ€Ð°Ð¼Ð¼Ð°.jpg": { @@ -275,7 +263,6 @@ } }, "metadata": { - "id": "00fb8d93", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -295,7 +282,6 @@ ], "attachments": {}, "metadata": { - "id": "bfb53dbd", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -315,7 +301,6 @@ ], "attachments": {}, "metadata": { - "id": "91a87f8d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -339,7 +324,6 @@ } }, "metadata": { - "id": "03944bff", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -359,7 +343,6 @@ ], "attachments": {}, "metadata": { - "id": "0ed6bb44", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -383,7 +366,6 @@ } }, "metadata": { - "id": "ffdfae3a", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -403,7 +385,6 @@ ], "attachments": {}, "metadata": { - "id": "ba346bb1", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -419,7 +400,7 @@ "id": "f313adef", "cell_type": "markdown", "source": [ - "> Задача линейных Ñтационарных ÑиÑтем – изменÑÑ‚ÑŒ амплитуду и/или фазу входных Ñигналов. Ðтот процеÑÑ Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÑ‚ÑÑ **фильтрацией**. \r\n\r\nÐапример, одна из типичных задач Ð´Ð»Ñ Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð¹ Ñтационарной ÑиÑтемы – удаление нежелательных выÑокочаÑтных ÑоÑтавлÑющих в Ñигнале и уÑиление полезной низкочаÑтоной ÑоÑтавлÑющей. \r\n\r\nÐ’ дальнейшем такие ÑиÑтемы мы будем называть **фильтрами**. \r\n\r\n\r\n\r\nÐ”Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ фильтра доÑаточно знать два вектора его коÑффициентов:\r\n$$b=[\\begin{matrix} b_0& b_1 & ... & b_M \\end{matrix}],$$\r\n$$a=[\\begin{matrix} a_0 & a_1 & ... & a_N \\end{matrix}].$$\r\n\r\n---" + "> Задача линейных Ñтационарных ÑиÑтем – изменÑÑ‚ÑŒ амплитуду и/или фазу входных Ñигналов. Ðтот процеÑÑ Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÑ‚ÑÑ **фильтрацией**. \r\n\r\nÐапример, одна из типичных задач Ð´Ð»Ñ Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð¹ Ñтационарной ÑиÑтемы – удаление нежелательных выÑокочаÑтных ÑоÑтавлÑющих в Ñигнале и уÑиление полезной низкочаÑтоной ÑоÑтавлÑющей. \r\n\r\n<br/>\r\n\r\nÐ’ дальнейшем такие ÑиÑтемы мы будем называть **фильтрами**. \r\n\r\n\r\n\r\nÐ”Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ фильтра доÑаточно знать два вектора его коÑффициентов:\r\n$$b=[\\begin{matrix} b_0& b_1 & ... & b_M \\end{matrix}],$$\r\n$$a=[\\begin{matrix} a_0 & a_1 & ... & a_N \\end{matrix}].$$\r\n\r\n---" ], "attachments": { "фильтрациÑ.jpg": { @@ -427,7 +408,6 @@ } }, "metadata": { - "id": "3a48eb6b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -443,11 +423,10 @@ "id": "aac98433", "cell_type": "markdown", "source": [ - "## Пример фильтрации Ñигнала в Engee\r\n\r\nПерейдем в **Engee** и проанализируем фильтр Ñ Ñ€Ð°ÑÑмотренными ранее коÑффициентами. Данный фильтр предÑтавлÑет Ñобой фильтр нижних чаÑтот, Ñ‚.е. он пропуÑкает чаÑтоты ниже 2 кГц и подавлÑет чаÑтоты Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 2 кГц. ПоÑле Ð¿Ñ€Ð¾Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ñигнала через Ñтот фильтр выÑокочаÑтные компоненты Ñигнала будут гораздо ниже по уровню, чем низкочаÑтотные. \r\n\r\nПоÑтроим Ñигнал, предÑтавлÑющий Ñобой Ñумму двух ÑинуÑоид Ñ Ñ‡Ð°Ñтотами 500 Гц и 4100 Гц." + "## Пример фильтрации Ñигнала в Engee\r\n\r\nПерейдем в **Engee** и проанализируем фильтр Ñ Ñ€Ð°ÑÑмотренными ранее коÑффициентами. Данный фильтр предÑтавлÑет Ñобой фильтр нижних чаÑтот, Ñ‚.е. он пропуÑкает чаÑтоты ниже 2 кГц и подавлÑет чаÑтоты Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 2 кГц. ПоÑле Ð¿Ñ€Ð¾Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ñигнала через Ñтот фильтр выÑокочаÑтные компоненты Ñигнала будут гораздо ниже по уровню, чем низкочаÑтотные. \r\n\r\n<br/>\r\n\r\nПоÑтроим Ñигнал, предÑтавлÑющий Ñобой Ñумму двух ÑинуÑоид Ñ Ñ‡Ð°Ñтотами 500 Гц и 4100 Гц." ], "attachments": {}, "metadata": { - "id": "c3689517", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -468,7 +447,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "d05eb5cc", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -480,6 +458,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -492,7 +475,6 @@ ], "attachments": {}, "metadata": { - "id": "cf90c98f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -513,7 +495,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "4e018236", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -525,6 +506,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -537,7 +523,6 @@ ], "attachments": {}, "metadata": { - "id": "7b60ecac", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -558,7 +543,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "784b58bc", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -570,6 +554,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -582,7 +571,6 @@ ], "attachments": {}, "metadata": { - "id": "02d6f5c2", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -602,7 +590,6 @@ ], "attachments": {}, "metadata": { - "id": "4fa0f191", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -623,7 +610,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "c7aa3996", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -635,6 +621,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -647,7 +638,6 @@ ], "attachments": {}, "metadata": { - "id": "9879c2e0", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -668,7 +658,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "1799f6ce", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -680,6 +669,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -693,7 +687,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "8331291f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -705,6 +698,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -717,7 +715,6 @@ ], "attachments": {}, "metadata": { - "id": "21dbf796", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -737,7 +734,6 @@ ], "attachments": {}, "metadata": { - "id": "94669772", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, diff --git "a/08. \320\246\320\270\321\204\321\200\320\276\320\262\321\213\320\265 \321\204\320\270\320\273\321\214\321\202\321\200\321\213.ngscript" "b/08. \320\246\320\270\321\204\321\200\320\276\320\262\321\213\320\265 \321\204\320\270\320\273\321\214\321\202\321\200\321\213.ngscript" index 931b0b95751144d382802b15fb0f3d8d23ab0031..a21e8946ffced026c5a54be2a927caca2aa721d9 100644 --- "a/08. \320\246\320\270\321\204\321\200\320\276\320\262\321\213\320\265 \321\204\320\270\320\273\321\214\321\202\321\200\321\213.ngscript" +++ "b/08. \320\246\320\270\321\204\321\200\320\276\320\262\321\213\320\265 \321\204\320\270\320\273\321\214\321\202\321\200\321\213.ngscript" @@ -143,7 +143,7 @@ "id": "e316b4ee", "cell_type": "markdown", "source": [ - "ЕÑли увеличить длину <code>num</code> импульÑной характриÑтики, то Ñигнал оÑреднÑетÑÑ ÐµÑ‰Ðµ Ñильнее. Задержка выхода отноÑительно входа также увеличиваетÑÑ. \r\n\r\nЗдеÑÑŒ быÑтро менÑющаÑÑÑ ÑинуÑоида подавлÑетÑÑ, Ñ‚.к. близко раÑположенные отÑчеты входного Ñигнала приравниваютÑÑ Ðº Ñреднему значению отÑчетов, попавших в окно оÑреднениÑ. Медленно изменÑющийÑÑ Ñигнал при подобной операции иÑкажаетÑÑ Ð¼ÐµÐ½ÑŒÑˆÐµ. С точки Ð·Ñ€ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñтотной избирательноÑти Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð°Ñ ÑиÑтема пропуÑкает Ñигналы меньшей чаÑтоты и подавлÑет Ñигналы большей чаÑтоты, Ñ‚.е ÑвлÑетÑÑ **фильтром нижних чаÑтот**.\r\n\r\n---" + "ЕÑли увеличить длину <code>num</code> импульÑной характриÑтики, то Ñигнал оÑреднÑетÑÑ ÐµÑ‰Ðµ Ñильнее. Задержка выхода отноÑительно входа также увеличиваетÑÑ. \r\n\r\n<br/>\r\n\r\nЗдеÑÑŒ быÑтро менÑющаÑÑÑ ÑинуÑоида подавлÑетÑÑ, Ñ‚.к. близко раÑположенные отÑчеты входного Ñигнала приравниваютÑÑ Ðº Ñреднему значению отÑчетов, попавших в окно оÑреднениÑ. Медленно изменÑющийÑÑ Ñигнал при подобной операции иÑкажаетÑÑ Ð¼ÐµÐ½ÑŒÑˆÐµ. С точки Ð·Ñ€ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñтотной избирательноÑти Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð°Ñ ÑиÑтема пропуÑкает Ñигналы меньшей чаÑтоты и подавлÑет Ñигналы большей чаÑтоты, Ñ‚.е ÑвлÑетÑÑ **фильтром нижних чаÑтот**.\r\n\r\n---" ], "attachments": {}, "metadata": { @@ -219,7 +219,26 @@ "isDisplay": true, "isParagraph": true, "isClosedParagraph": true, - "amountHideCellsInside": 1, + "amountHideCellsInside": 2, + "codeOutputView": "col", + "codeOutputHidden": false + } + } + }, + { + "id": "8fcda98c", + "cell_type": "markdown", + "source": [ + "При длине иимпульÑной характериÑтики, равной 18, получим:" + ], + "attachments": {}, + "metadata": { + "name": "Ðазвание Ñекции", + "engee": { + "isDisplay": false, + "isParagraph": false, + "isClosedParagraph": false, + "amountHideCellsInside": 0, "codeOutputView": "col", "codeOutputHidden": false } @@ -453,7 +472,7 @@ "id": "edbea2da", "cell_type": "markdown", "source": [ - "\r\n\r\nУ ÐЧХ подобного фильтра можно выделить 3 оÑновные полоÑÑ‹: полоÑу пропуÑканиÑ, полоÑу перехода и полоÑу заграждениÑ.\r\n\r\n**ПолоÑа пропуÑÐºÐ°Ð½Ð¸Ñ (passband)** – диапазон чаÑтот, в котором в идеале находитÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¹ Ñигнал. Граница полоÑÑ‹ пропуÑÐºÐ°Ð½Ð¸Ñ â€“ чаÑтота $F_p$. Она отÑчитываетÑÑ Ð¿Ð¾ уровню -3 дБ от макÑимума. УÑиление Ñигнала в полоÑе пропуÑÐºÐ°Ð½Ð¸Ñ Ð² идеале должно быть поÑтоÑнным, но на практике на ÐЧХ приÑутÑтвуют неÑтабильноÑти уÑилениÑ, или **пульÑации**. Уровень допуÑтимых пульÑаций в полоÑе пропуÑÐºÐ°Ð½Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑетÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ $A_p$ (дБ). \r\n\r\n**ПолоÑа Ð·Ð°Ð³Ñ€Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ (stopband)** – диапазон чаÑтот, в котором Ñигнал должен гарантированно оÑлаблÑÑ‚ÑŒÑÑ Ð½Ðµ менее чем на $A_{st}$ дБ. ПолоÑа Ð·Ð°Ð³Ñ€Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ Ñ‡Ð°Ñтоты $F_{st}$. \r\n\r\n**ПолоÑа перехода (transition band)** находитÑÑ Ð¼ÐµÐ¶Ð´Ñƒ Ñтими полоÑами. УÑиление в Ñтой полоÑе плавно Ñпадает. Чем уже полоÑа перехода, тем больший порÑдок должен иметь фильтр. ПорÑдок – Ñто количеÑтво коÑффициентов фильтра, оно ÑвÑзано Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом умножителей, необходимых Ð´Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ фильтра. \r\n\r\n---" + "\r\n\r\nУ ÐЧХ подобного фильтра можно выделить 3 оÑновные полоÑÑ‹: полоÑу пропуÑканиÑ, полоÑу перехода и полоÑу заграждениÑ.\r\n\r\n<br/>\r\n\r\n**ПолоÑа пропуÑÐºÐ°Ð½Ð¸Ñ (passband)** – диапазон чаÑтот, в котором в идеале находитÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¹ Ñигнал. Граница полоÑÑ‹ пропуÑÐºÐ°Ð½Ð¸Ñ â€“ чаÑтота $F_p$. Она отÑчитываетÑÑ Ð¿Ð¾ уровню -3 дБ от макÑимума. УÑиление Ñигнала в полоÑе пропуÑÐºÐ°Ð½Ð¸Ñ Ð² идеале должно быть поÑтоÑнным, но на практике на ÐЧХ приÑутÑтвуют неÑтабильноÑти уÑилениÑ, или **пульÑации**. Уровень допуÑтимых пульÑаций в полоÑе пропуÑÐºÐ°Ð½Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑетÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ $A_p$ (дБ). \r\n\r\n<br/>\r\n\r\n**ПолоÑа Ð·Ð°Ð³Ñ€Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ (stopband)** – диапазон чаÑтот, в котором Ñигнал должен гарантированно оÑлаблÑÑ‚ÑŒÑÑ Ð½Ðµ менее чем на $A_{st}$ дБ. ПолоÑа Ð·Ð°Ð³Ñ€Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ Ñ‡Ð°Ñтоты $F_{st}$. \r\n\r\n<br/>\r\n\r\n**ПолоÑа перехода (transition band)** находитÑÑ Ð¼ÐµÐ¶Ð´Ñƒ Ñтими полоÑами. УÑиление в Ñтой полоÑе плавно Ñпадает. Чем уже полоÑа перехода, тем больший порÑдок должен иметь фильтр. ПорÑдок – Ñто количеÑтво коÑффициентов фильтра, оно ÑвÑзано Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом умножителей, необходимых Ð´Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ фильтра. \r\n\r\n---" ], "attachments": { "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð½Ñ‡.jpg": { diff --git "a/09. \320\241\320\270\320\275\321\202\320\265\320\267 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\204\320\270\320\273\321\214\321\202\321\200\320\276\320\262.ngscript" "b/09. \320\241\320\270\320\275\321\202\320\265\320\267 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\204\320\270\320\273\321\214\321\202\321\200\320\276\320\262.ngscript" index 1147ce55193e2218e98578a98c60a73689020da6..e42a9a09f6f49f722222e9d02022a6fde74ea010 100644 --- "a/09. \320\241\320\270\320\275\321\202\320\265\320\267 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\204\320\270\320\273\321\214\321\202\321\200\320\276\320\262.ngscript" +++ "b/09. \320\241\320\270\320\275\321\202\320\265\320\267 \321\206\320\270\321\204\321\200\320\276\320\262\321\213\321\205 \321\204\320\270\320\273\321\214\321\202\321\200\320\276\320\262.ngscript" @@ -23,7 +23,6 @@ ], "attachments": {}, "metadata": { - "id": "c7fc530c", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -43,7 +42,6 @@ ], "attachments": {}, "metadata": { - "id": "786bfa26", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -67,7 +65,6 @@ } }, "metadata": { - "id": "9d1de72d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -87,7 +84,6 @@ ], "attachments": {}, "metadata": { - "id": "6f8636a0", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -107,7 +103,6 @@ ], "attachments": {}, "metadata": { - "id": "b258dd9b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -127,7 +122,6 @@ ], "attachments": {}, "metadata": { - "id": "fe82c68b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -147,7 +141,6 @@ ], "attachments": {}, "metadata": { - "id": "0a760af2", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -167,7 +160,6 @@ ], "attachments": {}, "metadata": { - "id": "c46a4815", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -191,7 +183,6 @@ } }, "metadata": { - "id": "8e74675e", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -211,7 +202,6 @@ ], "attachments": {}, "metadata": { - "id": "2e96c764", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -235,7 +225,6 @@ } }, "metadata": { - "id": "3468a98d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -255,7 +244,6 @@ ], "attachments": {}, "metadata": { - "id": "b35b8aac", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -275,7 +263,6 @@ ], "attachments": {}, "metadata": { - "id": "cb64fdd0", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -295,7 +282,6 @@ ], "attachments": {}, "metadata": { - "id": "d8789250", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -315,7 +301,6 @@ ], "attachments": {}, "metadata": { - "id": "bae1b960", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -335,7 +320,6 @@ ], "attachments": {}, "metadata": { - "id": "22005c37", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -355,7 +339,6 @@ ], "attachments": {}, "metadata": { - "id": "cba98888", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -375,7 +358,6 @@ ], "attachments": {}, "metadata": { - "id": "504cc40f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -391,11 +373,10 @@ "id": "800fb732", "cell_type": "markdown", "source": [ - "Сформируем в **Engee** Ñигнал, предÑтавлÑющий Ñобой Ñумму четырех ÑинуÑоид на чаÑтотах 500, 1200, 3000 и 4500 Гц. Спроектируем цифровой *полоÑно-заграждающий фильтр*, который должен будет подавить Ñредние чаÑтоты. ПолоÑа Ð·Ð°Ð³Ñ€Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ лежать в пределах от 1000 до 4000 Гц. Ð”Ð»Ñ Ñтого Ñоздадим объект Ñо Ñпецификацией фильтра Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <code>digitalfilter</code>, ÑодержащейÑÑ Ð² библиотеке <code>DSP</code>. Ð’ качеÑтве аргументов выÑтупает тип фильтра – в данном Ñлучае заграждающий (<code>Bandstop</code>) Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ чаÑтот Ñреза (1000 и 4000 Гц) и чаÑтоты диÑкретизации <code>fs</code>. Процедура фильтрации Ñигнала выполнÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <code>filtfilt</code>. Ее аргументами ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚ Ñо Ñпецификацией фильтра, метод Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð° (в данном Ñлучае выбран фильтр Баттерворта 4-го порÑдка) и входной Ñигнал <code>x</code>. Затем поÑтроим графики Ñпектров иÑходного и фильтрованного Ñигнала.\r\n\r\n" + "Сформируем в **Engee** Ñигнал, предÑтавлÑющий Ñобой Ñумму четырех ÑинуÑоид на чаÑтотах 500, 1200, 3000 и 4500 Гц. Спроектируем цифровой *полоÑно-заграждающий фильтр*, который должен будет подавить Ñредние чаÑтоты. ПолоÑа Ð·Ð°Ð³Ñ€Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ лежать в пределах от 1000 до 4000 Гц. Ð”Ð»Ñ Ñтого Ñоздадим объект Ñо Ñпецификацией фильтра Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <code>digitalfilter</code>, ÑодержащейÑÑ Ð² библиотеке <code>DSP</code>. Ð’ качеÑтве аргументов выÑтупает тип фильтра – в данном Ñлучае заграждающий (<code>Bandstop</code>) Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ чаÑтот Ñреза (1000 и 4000 Гц) и чаÑтоты диÑкретизации <code>fs</code>. Процедура фильтрации Ñигнала выполнÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <code>filtfilt</code>. Ее аргументами ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚ Ñо Ñпецификацией фильтра, метод Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð° (в данном Ñлучае выбран фильтр Баттерворта 4-го порÑдка) и входной Ñигнал <code>x</code>. Затем поÑтроим графики Ñпектров иÑходного и отфильтрованного Ñигналов.\r\n\r\n" ], "attachments": {}, "metadata": { - "id": "9e8de5b1", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -411,12 +392,11 @@ "id": "cc746b73", "cell_type": "code", "source": [ - "using Plots, DSP;\r\nfc = [500 1200 3000 4500]';\r\nfs = 10000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t)+cos.(2*pi*fc[4]*t);\r\nx_filt = filtfilt(digitalfilter(Bandstop(1000, 4000; fs), Butterworth(4)), x);\r\np1 = periodogram(x);\r\nplot(freq(p1), power(p1), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", label=\"иÑходный Ñигнал\")\r\np2 = periodogram(x_filt);\r\nplot!(freq(p2), power(p2), label=\"отфильтрованный Ñигнал\")" + "using Plots, DSP;\r\nfc = [500 1200 3000 4500]';\r\nfs = 10000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t)+cos.(2*pi*fc[4]*t);\r\nx_filt = filtfilt(digitalfilter(Bandstop(1000, 4000; fs), Butterworth(4)), x);\r\np1 = DSP.periodogram(x);\r\nplot(freq(p1), power(p1), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", label=\"иÑходный Ñигнал\")\r\np2 = DSP.periodogram(x_filt);\r\nplot!(freq(p2), power(p2), label=\"отфильтрованный Ñигнал\")" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "4da6d9a4", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -428,6 +408,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -440,7 +425,6 @@ ], "attachments": {}, "metadata": { - "id": "631fd9e2", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -460,7 +444,6 @@ ], "attachments": {}, "metadata": { - "id": "79ecd99f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -480,7 +463,6 @@ ], "attachments": {}, "metadata": { - "id": "cfe9adba", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -501,7 +483,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "aecf5c69", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -513,6 +494,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -525,7 +511,6 @@ ], "attachments": {}, "metadata": { - "id": "a88e4ad1", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -541,12 +526,11 @@ "id": "15b54b22", "cell_type": "code", "source": [ - "using Plots, DSP;\r\nfc = [500 1200 3000 4500]';\r\nfs = 10000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t)+cos.(2*pi*fc[4]*t);\r\nx_filt = filtfilt(digitalfilter(Lowpass(4000; fs), Butterworth(4)), x);\r\np1 = periodogram(x);\r\nplot(freq(p1), power(p1), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", label=\"иÑходный Ñигнал\")\r\np2 = periodogram(x_filt);\r\nplot!(freq(p2), power(p2), label=\"отфильтрованный Ñигнал\")" + "using Plots, DSP;\r\nfc = [500 1200 3000 4500]';\r\nfs = 10000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t)+cos.(2*pi*fc[4]*t);\r\nx_filt = filtfilt(digitalfilter(Lowpass(4000; fs), Butterworth(4)), x);\r\np1 = DSP.periodogram(x);\r\nplot(freq(p1), power(p1), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", label=\"иÑходный Ñигнал\")\r\np2 = DSP.periodogram(x_filt);\r\nplot!(freq(p2), power(p2), label=\"отфильтрованный Ñигнал\")" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "4afaf891", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -558,6 +542,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -570,7 +559,6 @@ ], "attachments": {}, "metadata": { - "id": "e08dd1ed", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -591,7 +579,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "b4a0939a", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -603,6 +590,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -615,7 +607,6 @@ ], "attachments": {}, "metadata": { - "id": "d030cc4d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -631,12 +622,11 @@ "id": "515ac97c", "cell_type": "code", "source": [ - "using Plots, DSP;\r\nfc = [500 1200 3000 4500]';\r\nfs = 10000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t)+cos.(2*pi*fc[4]*t);\r\nx_filt = filtfilt(digitalfilter(Bandpass(800, 3500; fs), Butterworth(4)), x);\r\np1 = periodogram(x);\r\nplot(freq(p1), power(p1), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", label=\"иÑходный Ñигнал\")\r\np2 = periodogram(x_filt);\r\nplot!(freq(p2), power(p2), label=\"отфильтрованный Ñигнал\")" + "using Plots, DSP;\r\nfc = [500 1200 3000 4500]';\r\nfs = 10000;\r\ndt = 1/fs;\r\nt = [0:dt:0.1;];\r\nx = cos.(2*pi*fc[1]*t) + cos.(2*pi*fc[2]*t) + cos.(2*pi*fc[3]*t)+cos.(2*pi*fc[4]*t);\r\nx_filt = filtfilt(digitalfilter(Bandpass(800, 3500; fs), Butterworth(4)), x);\r\np1 = DSP.periodogram(x);\r\nplot(freq(p1), power(p1), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", label=\"иÑходный Ñигнал\")\r\np2 = DSP.periodogram(x_filt);\r\nplot!(freq(p2), power(p2), label=\"отфильтрованный Ñигнал\")" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "f27e5fdf", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -648,6 +638,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -660,7 +655,6 @@ ], "attachments": {}, "metadata": { - "id": "36e6f221", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -680,7 +674,6 @@ ], "attachments": {}, "metadata": { - "id": "221a799e", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, diff --git "a/10. \320\246\320\270\321\204\321\200\320\276\320\262\320\260\321\217 \320\274\320\276\320\264\321\203\320\273\321\217\321\206\320\270\321\217.ngscript" "b/10. \320\246\320\270\321\204\321\200\320\276\320\262\320\260\321\217 \320\274\320\276\320\264\321\203\320\273\321\217\321\206\320\270\321\217.ngscript" index fd6b876f7fcd9c7e593d48585785673dece57ed3..b8764ed43b1b620e47238070cafcd827d59530e6 100644 --- "a/10. \320\246\320\270\321\204\321\200\320\276\320\262\320\260\321\217 \320\274\320\276\320\264\321\203\320\273\321\217\321\206\320\270\321\217.ngscript" +++ "b/10. \320\246\320\270\321\204\321\200\320\276\320\262\320\260\321\217 \320\274\320\276\320\264\321\203\320\273\321\217\321\206\320\270\321\217.ngscript" @@ -23,7 +23,6 @@ ], "attachments": {}, "metadata": { - "id": "61e092b7", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -43,7 +42,6 @@ ], "attachments": {}, "metadata": { - "id": "1f7ace40", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -59,11 +57,10 @@ "id": "f0ebefbe", "cell_type": "markdown", "source": [ - "СущноÑÑ‚ÑŒ **модулÑции** заключаетÑÑ Ð² том, что формируетÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ колебание (чаще вÑего гармоничеÑкое), называемое **неÑущим колебанием** (или проÑто **неÑущей**) и какой-либо из параметров Ñтого ÐºÐ¾Ð»ÐµÐ±Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÑетÑÑ Ð²Ð¾ времени пропорционально иÑходному информационному Ñигналу. ИÑходный Ñигнал, Ñодержащий некоторую информацию, называют **модулирующим**, а результирующее колебание – **модулированным Ñигналом**. Обратный процеÑÑ â€“ выделение модулирующего Ñигнала из модулированного ÐºÐ¾Ð»ÐµÐ±Ð°Ð½Ð¸Ñ â€“ называетÑÑ **демодулÑцией**. \r\n\r\nÐ’ цифровой ÑвÑзи передаетÑÑ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ целых чиÑел $C_0,C_1,C_2,...$, которые могут принимать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð· некоторого конечного множеÑтва. Ðти чиÑла, называемые **Ñимволами**, поÑтупают от иÑточника информаци Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¾Ð¼ $T$, а чаÑтота, ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñтому периоду, называетÑÑ **Ñимвольной ÑкороÑтью** $f_T=1/T$.\r\n\r\nПри модулÑции цифровых Ñигналов каждому из возможных значений Ñимвола ÑопоÑтавлÑетÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ набор параметров неÑущего колебаниÑ. Ðти параметры поддерживаютÑÑ Ð¿Ð¾ÑтоÑнными в течение периода $T$. Таким образом, поÑледовательноÑÑ‚ÑŒ чиÑел $\\{C_k\\}$ преобразуетÑÑ Ð² Ñтупенчатый Ñигнал $s_k(t)$.\r\n\r\nСпоÑоб модулÑции, при котором параметры неÑущего ÐºÐ¾Ð»ÐµÐ±Ð°Ð½Ð¸Ñ Ð¼ÐµÐ½ÑÑŽÑ‚ÑÑ Ñкачкообразно, называетÑÑ **манипулÑцией (keying)**. Ð’ завиÑимоÑти от того, какие именно параметры изменÑÑŽÑ‚ÑÑ, различают амплитудную, фазовую, чаÑтотную и квадратурную манипулÑцию.\r\n\r\n---" + "СущноÑÑ‚ÑŒ **модулÑции** заключаетÑÑ Ð² том, что формируетÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ колебание (чаще вÑего гармоничеÑкое), называемое **неÑущим колебанием** (или проÑто **неÑущей**) и какой-либо из параметров Ñтого ÐºÐ¾Ð»ÐµÐ±Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÑетÑÑ Ð²Ð¾ времени пропорционально иÑходному информационному Ñигналу. ИÑходный Ñигнал, Ñодержащий некоторую информацию, называют **модулирующим**, а результирующее колебание – **модулированным Ñигналом**. Обратный процеÑÑ â€“ выделение модулирующего Ñигнала из модулированного ÐºÐ¾Ð»ÐµÐ±Ð°Ð½Ð¸Ñ â€“ называетÑÑ **демодулÑцией**. \r\n\r\n<br/>\r\n\r\nÐ’ цифровой ÑвÑзи передаетÑÑ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ целых чиÑел $C_0,C_1,C_2,...$, которые могут принимать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð· некоторого конечного множеÑтва. Ðти чиÑла, называемые **Ñимволами**, поÑтупают от иÑточника информаци Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¾Ð¼ $T$, а чаÑтота, ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñтому периоду, называетÑÑ **Ñимвольной ÑкороÑтью** $f_T=1/T$.\r\n\r\n<br/>\r\n\r\nПри модулÑции цифровых Ñигналов каждому из возможных значений Ñимвола ÑопоÑтавлÑетÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ набор параметров неÑущего колебаниÑ. Ðти параметры поддерживаютÑÑ Ð¿Ð¾ÑтоÑнными в течение периода $T$. Таким образом, поÑледовательноÑÑ‚ÑŒ чиÑел $\\{C_k\\}$ преобразуетÑÑ Ð² Ñтупенчатый Ñигнал $s_k(t)$.\r\n\r\n<br/>\r\n\r\nСпоÑоб модулÑции, при котором параметры неÑущего ÐºÐ¾Ð»ÐµÐ±Ð°Ð½Ð¸Ñ Ð¼ÐµÐ½ÑÑŽÑ‚ÑÑ Ñкачкообразно, называетÑÑ **манипулÑцией (keying)**. Ð’ завиÑимоÑти от того, какие именно параметры изменÑÑŽÑ‚ÑÑ, различают амплитудную, фазовую, чаÑтотную и квадратурную манипулÑцию.\r\n\r\n---" ], "attachments": {}, "metadata": { - "id": "94a0ce8b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -83,7 +80,6 @@ ], "attachments": {}, "metadata": { - "id": "a0b13e09", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -103,7 +99,6 @@ ], "attachments": {}, "metadata": { - "id": "c1b008ac", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -123,7 +118,6 @@ ], "attachments": {}, "metadata": { - "id": "a2b47eec", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -139,12 +133,11 @@ "id": "556535e9", "cell_type": "code", "source": [ - "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 50; # чаÑтота диÑкретизации\r\nFc = 10; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([1,2], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы Ñимволов в вектор-Ñтолбец\r\ns = x.*cos.(2*pi*Fc*t); # амплитудно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"амплитудно-манипулированный Ñигнал\", legend=false)" + "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 50; # чаÑтота диÑкретизации\r\nFc = 10; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([1,2], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы Ñимволов в вектор-Ñтолбец\r\ns = x.*cos.(2*pi*Fc*t); # амплитудно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"амплитудно-манипулированный Ñигнал\", legend=false) # поÑтроение графика" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "1b26411c", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -156,6 +149,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -168,7 +166,6 @@ ], "attachments": {}, "metadata": { - "id": "721a966e", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -188,7 +185,6 @@ ], "attachments": {}, "metadata": { - "id": "8ce1d1e2", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -209,7 +205,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "c52c099f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -221,6 +216,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -233,7 +233,6 @@ ], "attachments": {}, "metadata": { - "id": "3c7682f4", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -249,12 +248,11 @@ "id": "23b74fe4", "cell_type": "code", "source": [ - "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 15; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 4000; # чаÑтота диÑкретизации \r\nFc = 1000; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([1,2,3,4], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы Ñимволов в вектор-Ñтолбец\r\ns = x.*cos.(2*pi*Fc*t); # амплитудно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"амплитудно-манипулированный Ñигнал\", legend=false)" + "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 15; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 4000; # чаÑтота диÑкретизации \r\nFc = 1000; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([1,2,3,4], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы Ñимволов в вектор-Ñтолбец\r\ns = x.*cos.(2*pi*Fc*t); # амплитудно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"амплитудно-манипулированный Ñигнал\", legend=false) # поÑтроение графика" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "c5fbade4", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -266,6 +264,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -278,7 +281,6 @@ ], "attachments": {}, "metadata": { - "id": "fbcae7a3", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -294,11 +296,10 @@ "id": "0d84a8ba", "cell_type": "markdown", "source": [ - "При **фазовой манипулÑции (phase shift keying)** каждому возможному значению передаваемого Ñимвола $C_k$ ÑопоÑтавлÑетÑÑ Ñвое значение фазы неÑущего колебаниÑ. При Ñтом при переходе от одного Ñимвола к другому фаза менÑетÑÑ Ñкачкообразно: \r\n\r\n$$s_k(t)=\\cos(2\\pi f_0 t_k+\\pi/2 \\cdot C_k).$$\r\n\r\nÐ¤Ð°Ð·Ð¾Ð²Ð°Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»ÑÑ†Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ ÑвлÑетÑÑ Ñ‡Ð°Ñтным Ñлучаем квадратурной манипулÑции. \r\n\r\nÐ¤Ð°Ð·Ð¾Ð²Ð°Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»ÑÑ†Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ иÑпользуетÑÑ Ð¿Ñ€Ð¸ небольшом чиÑле возможных значений начальной фазы (2, 4 или 8).\r\n\r\n---" + "При **фазовой манипулÑции (phase shift keying)** каждому возможному значению передаваемого Ñимвола $C_k$ ÑопоÑтавлÑетÑÑ Ñвое значение фазы неÑущего колебаниÑ. При Ñтом при переходе от одного Ñимвола к другому фаза менÑетÑÑ Ñкачкообразно: \r\n\r\n$$s_k(t)=\\cos(2\\pi f_0 t_k+\\pi/2 \\cdot C_k).$$\r\n\r\nÐ¤Ð°Ð·Ð¾Ð²Ð°Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»ÑÑ†Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ ÑвлÑетÑÑ Ñ‡Ð°Ñтным Ñлучаем квадратурной манипулÑции. \r\n\r\n<br/>\r\n\r\nÐ¤Ð°Ð·Ð¾Ð²Ð°Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»ÑÑ†Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ иÑпользуетÑÑ Ð¿Ñ€Ð¸ небольшом чиÑле возможных значений начальной фазы (2, 4 или 8).\r\n\r\n---" ], "attachments": {}, "metadata": { - "id": "367ea888", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -318,7 +319,6 @@ ], "attachments": {}, "metadata": { - "id": "265489a4", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -334,12 +334,11 @@ "id": "b561b887", "cell_type": "code", "source": [ - "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 50; # чаÑтота диÑкретизации\r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 10; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = cos.(2*pi*Fc*t + pi/2*x); # фазоманипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"фазоманипулированный Ñигнал\", legend=false)" + "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 50; # чаÑтота диÑкретизации\r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 10; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = cos.(2*pi*Fc*t + pi/2*x); # фазоманипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"фазоманипулированный Ñигнал\", legend=false) # поÑтроение графика" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "3686a3a1", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -351,6 +350,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -363,7 +367,6 @@ ], "attachments": {}, "metadata": { - "id": "a8cd4ad4", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -383,7 +386,6 @@ ], "attachments": {}, "metadata": { - "id": "0975ee0b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -404,7 +406,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "cc730733", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -416,6 +417,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -428,7 +434,6 @@ ], "attachments": {}, "metadata": { - "id": "95acaf1f", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -444,12 +449,11 @@ "id": "5f6fdcc0", "cell_type": "code", "source": [ - "using Plots;\r\nNsymb = 10; # чиÑло Ñимволов\r\nFsFd = 25; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 10000; # чаÑтота диÑкретизации \r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 2500; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = cos.(2*pi*Fc*t + pi/2*x); # фазоманипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"фазоманипулированный Ñигнал\", legend=false)" + "using Plots;\r\nNsymb = 10; # чиÑло Ñимволов\r\nFsFd = 25; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 10000; # чаÑтота диÑкретизации \r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 2500; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = cos.(2*pi*Fc*t + pi/2*x); # фазоманипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"фазоманипулированный Ñигнал\", legend=false) # поÑтроение графика" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "1528f06d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -461,6 +465,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -473,7 +482,6 @@ ], "attachments": {}, "metadata": { - "id": "07207822", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -489,11 +497,10 @@ "id": "74c8d01f", "cell_type": "markdown", "source": [ - "При **чаÑтотной манипулÑции (frequency shift keying)** каждому возможному значению передаваемого Ñимвола $C_k$ ÑопоÑтавлÑетÑÑ ÑÐ²Ð¾Ñ Ñ‡Ð°Ñтота неÑущего колебаниÑ. Ð’ течение каждого Ñимвольного интервала передаетÑÑ Ð³Ð°Ñ€Ð¼Ð¾Ð½Ð¸Ñ‡ÐµÑкое колебание Ñ Ñ‡Ð°Ñтотой, ÑоответÑтвующей текущему Ñимволу:\r\n\r\n$$s_k(t)=\\cos(2\\pi f_0 t_k+opt \\cdot cumsum(C_k)),$$\r\nгде\r\n$cumsum(C_k)$ – Ñумма Ñ Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸ÐµÐ¼ значений модулирующей поÑледовательноÑти $\\{C_k\\}$;\r\n\r\n$opt$ – параметр чаÑтотной манипулÑции:\r\n\r\n$$opt=(f_c/f_s) \\cdot (2\\pi)/\\max(C_k).$$\r\n\r\n---" + "При **чаÑтотной манипулÑции (frequency shift keying)** каждому возможному значению передаваемого Ñимвола $C_k$ ÑопоÑтавлÑетÑÑ ÑÐ²Ð¾Ñ Ñ‡Ð°Ñтота неÑущего колебаниÑ. Ð’ течение каждого Ñимвольного интервала передаетÑÑ Ð³Ð°Ñ€Ð¼Ð¾Ð½Ð¸Ñ‡ÐµÑкое колебание Ñ Ñ‡Ð°Ñтотой, ÑоответÑтвующей текущему Ñимволу:\r\n\r\n$$s_k(t)=\\cos(2\\pi f_0 t_k+\\text{opt} \\cdot \\text{cumsum}(C_k)),$$\r\nгде\r\n$\\text{cumsum}(C_k)$ – Ñумма Ñ Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸ÐµÐ¼ значений модулирующей поÑледовательноÑти $\\{C_k\\}$;\r\n\r\n$\\text{opt}$ – параметр чаÑтотной манипулÑции:\r\n\r\n$$\\text{opt}=(f_c/f_s) \\cdot (2\\pi)/\\max(C_k).$$\r\n\r\n---" ], "attachments": {}, "metadata": { - "id": "840dc826", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -513,7 +520,6 @@ ], "attachments": {}, "metadata": { - "id": "a4c6d6b6", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -529,12 +535,11 @@ "id": "fc89bef4", "cell_type": "code", "source": [ - "using Plots, DSP;\r\nFc = 50; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 2000; # чаÑтота диÑкретизации\r\nt = [0:1/Fs:(N-1)/Fs;]; # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nopt = (Fc/Fs)*2*pi/maximum(x); # параметр чаÑтотной манипулÑции\r\ns = cos.(2*pi*Fc*t + opt*cumsum(x, dims=1)); # чаÑтотно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"чаÑтотно-манипулированный Ñигнал\", legend=false) # поÑтроение графика" + "using Plots, DSP;\r\nFc = 50; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 2000; # чаÑтота диÑкретизации\r\nt = [0:1/Fs:(N-1)/Fs;]; # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nopt = (Fc/Fs)*2*pi/maximum(x); # параметр чаÑтотной манипулÑции\r\ns = cos.(2*pi*Fc*t + opt*cumsum(x, dims=1)); # чаÑтотно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"чаÑтотно-манипулированный Ñигнал\", legend=false) # поÑтроение графика" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "8424593d", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -546,6 +551,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -558,7 +568,6 @@ ], "attachments": {}, "metadata": { - "id": "9dd92fc6", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -574,12 +583,11 @@ "id": "52a02e5d", "cell_type": "code", "source": [ - "p = periodogram(s[:], onesided=true, nfft=length(s), fs=Fs, window=hamming);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "p = DSP.periodogram(s[:], onesided=true, nfft=length(s), fs=Fs, window=hamming);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "a6a9c695", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -591,6 +599,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -603,7 +616,6 @@ ], "attachments": {}, "metadata": { - "id": "1216e44e", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -623,7 +635,6 @@ ], "attachments": {}, "metadata": { - "id": "dd39d860", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -644,7 +655,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "37093fd0", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -656,6 +666,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -668,7 +683,6 @@ ], "attachments": {}, "metadata": { - "id": "67a790cf", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -684,12 +698,11 @@ "id": "9cbba323", "cell_type": "code", "source": [ - "using Plots, DSP;\r\nFc = 100; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота \r\nNsymb = 20; # чиÑло Ñимволов \r\nFsFd = 20; # чиÑло отÑчетов на Ñимвол \r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов \r\nFs = 2000; # чаÑтота диÑкретизации\r\nt = [0:1/Fs:(N-1)/Fs;]; # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nopt = (Fc/Fs)*2*pi/maximum(x); # параметр чаÑтотной манипулÑции\r\ns = cos.(2*pi*Fc*t + opt*cumsum(x, dims=1)); # чаÑтотно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"чаÑтотно-манипулированный Ñигнал\", legend=false) " + "using Plots, DSP;\r\nFc = 100; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота \r\nNsymb = 20; # чиÑло Ñимволов \r\nFsFd = 20; # чиÑло отÑчетов на Ñимвол \r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов \r\nFs = 2000; # чаÑтота диÑкретизации\r\nt = [0:1/Fs:(N-1)/Fs;]; # диÑкретное времÑ\r\nx = rand([0,1], Nsymb); # передаваемые Ñимволы\r\nx = repeat(x, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nx = reshape(x, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nopt = (Fc/Fs)*2*pi/maximum(x); # параметр чаÑтотной манипулÑции\r\ns = cos.(2*pi*Fc*t + opt*cumsum(x, dims=1)); # чаÑтотно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"чаÑтотно-манипулированный Ñигнал\", legend=false) # поÑтроение графика " ], "execution_count": 0, "outputs": [], "metadata": { - "id": "581e91ae", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -701,6 +714,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -709,12 +727,11 @@ "id": "92f3f873", "cell_type": "code", "source": [ - "p = periodogram(s[:], onesided=true, nfft=length(s), fs=Fs, window=hamming);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "p = DSP.periodogram(s[:], onesided=true, nfft=length(s), fs=Fs, window=hamming);\r\nplot(freq(p), power(p), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "f7ad7cb3", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -726,6 +743,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -738,7 +760,6 @@ ], "attachments": {}, "metadata": { - "id": "9474e193", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -754,11 +775,10 @@ "id": "bc13ee12", "cell_type": "markdown", "source": [ - "При **квадратурной манипулÑции (quadrature amplitude shist keying)** каждому из возможных значений диÑкретного Ñимвола $C_k$ ÑтавитÑÑ Ð² ÑоответÑтвие *пара* величин – амплитуды **Ñинфазной** и **квадратурной** ÑоÑтавлÑющих либо амплитуда и Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð·Ð° неÑущего колебаниÑ:\r\n\r\n$$C_k=a_k+jb_k,$$\r\n$$s_k(t)=a_k \\cos(2\\pi f_0t_k)+b_k \\sin(2\\pi f_0t_k).$$\r\n\r\nПараметры аналогового колебаниÑ, ÑопоÑтавленные диÑкретному Ñимволу $C_k$, удобно предÑтавлÑÑ‚ÑŒ в виде комплекÑного чиÑла. СовокупноÑÑ‚ÑŒ Ñтих комплекÑных чиÑел Ð´Ð»Ñ Ð²Ñех возможных значений диÑкретного Ñимвола называетÑÑ **Ñигнальным Ñозвездием**.\r\n\r\nÐа практике иÑпользуютÑÑ ÑозвездиÑ, Ñодержащие от 4 точек до неÑкольких Ñ‚Ñ‹ÑÑч.\r\n\r\n---\r\n" + "При **квадратурной манипулÑции (quadrature amplitude shift keying)** каждому из возможных значений диÑкретного Ñимвола $C_k$ ÑтавитÑÑ Ð² ÑоответÑтвие *пара* величин – амплитуды **Ñинфазной** и **квадратурной** ÑоÑтавлÑющих либо амплитуда и Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð·Ð° неÑущего колебаниÑ:\r\n\r\n$$C_k=a_k+jb_k,$$\r\n$$s_k(t)=a_k \\cos(2\\pi f_0t_k)+b_k \\sin(2\\pi f_0t_k).$$\r\n\r\nПараметры аналогового колебаниÑ, ÑопоÑтавленные диÑкретному Ñимволу $C_k$, удобно предÑтавлÑÑ‚ÑŒ в виде комплекÑного чиÑла. СовокупноÑÑ‚ÑŒ Ñтих комплекÑных чиÑел Ð´Ð»Ñ Ð²Ñех возможных значений диÑкретного Ñимвола называетÑÑ **Ñигнальным Ñозвездием**.\r\n\r\n<br/>\r\n\r\nÐа практике иÑпользуютÑÑ ÑозвездиÑ, Ñодержащие от 4 до неÑкольких Ñ‚Ñ‹ÑÑч точек.\r\n\r\n---\r\n" ], "attachments": {}, "metadata": { - "id": "6cc12767", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -782,7 +802,6 @@ } }, "metadata": { - "id": "086ae571", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -802,7 +821,6 @@ ], "attachments": {}, "metadata": { - "id": "16e85f19", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -818,12 +836,11 @@ "id": "5cedc41a", "cell_type": "code", "source": [ - "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 50; # чаÑтота диÑкретизации\r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 10; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\na = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на Ñинфазной ÑоÑтавлÑющей\r\na = repeat(a, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\na = reshape(a, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nb = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на квадратурной ÑоÑтавлÑющей\r\nb = repeat(b, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nb = reshape(b, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = a.*cos.(2*pi*Fc*t) + b.*sin.(2*pi*Fc*t); # квадратурно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"квадратурно-манипулированный Ñигнал\", legend=false) " + "using Plots;\r\nNsymb = 20; # чиÑло Ñимволов\r\nFsFd = 10; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 50; # чаÑтота диÑкретизации\r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 10; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\na = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на Ñинфазной ÑоÑтавлÑющей\r\na = repeat(a, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\na = reshape(a, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nb = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на квадратурной ÑоÑтавлÑющей\r\nb = repeat(b, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nb = reshape(b, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = a.*cos.(2*pi*Fc*t) + b.*sin.(2*pi*Fc*t); # квадратурно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"квадратурно-манипулированный Ñигнал\", legend=false) # поÑтроение графика " ], "execution_count": 0, "outputs": [], "metadata": { - "id": "0a169408", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -835,6 +852,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -847,7 +869,6 @@ ], "attachments": {}, "metadata": { - "id": "0fbd1dda", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -867,7 +888,6 @@ ], "attachments": {}, "metadata": { - "id": "94822cfa", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -888,7 +908,6 @@ "execution_count": 0, "outputs": [], "metadata": { - "id": "f7d4618b", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -900,6 +919,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -912,7 +936,6 @@ ], "attachments": {}, "metadata": { - "id": "0d47e801", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -928,12 +951,11 @@ "id": "6abb6bcc", "cell_type": "code", "source": [ - "using Plots;\r\nNsymb = 15; # чиÑло Ñимволов\r\nFsFd = 20; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 4000; # чаÑтота диÑкретизации\r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 1500; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\na = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на Ñинфазной ÑоÑтавлÑющей\r\na = repeat(a, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\na = reshape(a, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nb = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на квадратурной ÑоÑтавлÑющей\r\nb = repeat(b, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nb = reshape(b, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = a.*cos.(2*pi*Fc*t) + b.*sin.(2*pi*Fc*t); # квадратурно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"квадратурно-манипулированный Ñигнал\", legend=false) " + "using Plots;\r\nNsymb = 15; # чиÑло Ñимволов\r\nFsFd = 20; # чиÑло отÑчетов на Ñимвол\r\nN = Nsymb*FsFd; # общее чиÑло отÑчетов\r\nFs = 4000; # чаÑтота диÑкретизации\r\nFd = Fs / FsFd; # ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ\r\nFc = 1500; # неÑÑƒÑ‰Ð°Ñ Ñ‡Ð°Ñтота\r\nt = 0:(1/Fs):((N-1)/Fs); # диÑкретное времÑ\r\na = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на Ñинфазной ÑоÑтавлÑющей\r\na = repeat(a, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\na = reshape(a, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\nb = rand([-3,-1,1,3], Nsymb); # передаваемые Ñимволы на квадратурной ÑоÑтавлÑющей\r\nb = repeat(b, 1, FsFd)'; # повторение Ñимволов FsFd раз\r\nb = reshape(b, N, 1); # преобразование матрицы в вектор-Ñтолбец\r\ns = a.*cos.(2*pi*Fc*t) + b.*sin.(2*pi*Fc*t); # квадратурно-манипулированный Ñигнал\r\nplot(t, s, xlabel=\"t\", ylabel=\"квадратурно-манипулированный Ñигнал\", legend=false) # поÑтроение графика" ], "execution_count": 0, "outputs": [], "metadata": { - "id": "28e3307c", "name": "Ðазвание Ñекции", "engee": { "isDisplay": false, @@ -945,6 +967,11 @@ "outputInfo": { "isExpanded": false, "scrollTop": 0 + }, + "maskInfo": { + "isMaskVisible": true, + "isEditorVisible": true, + "isAutoplayActive": false } } } @@ -957,7 +984,6 @@ ], "attachments": {}, "metadata": { - "id": "f856d467", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, @@ -977,7 +1003,6 @@ ], "attachments": {}, "metadata": { - "id": "99ad3af6", "name": "Ðазвание Ñекции", "engee": { "isDisplay": true, diff --git "a/11. \320\234\320\275\320\276\320\263\320\276\321\201\320\272\320\276\321\200\320\276\321\201\321\202\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" "b/11. \320\234\320\275\320\276\320\263\320\276\321\201\320\272\320\276\321\200\320\276\321\201\321\202\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" index b0f16beaef57a7cbc8ef205115a0e5e0afdca6b3..e754d11095ab2fe82715e09885dc4b05fd06c698 100644 --- "a/11. \320\234\320\275\320\276\320\263\320\276\321\201\320\272\320\276\321\200\320\276\321\201\321\202\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" +++ "b/11. \320\234\320\275\320\276\320\263\320\276\321\201\320\272\320\276\321\200\320\276\321\201\321\202\320\275\321\213\320\265 \321\201\320\270\321\201\321\202\320\265\320\274\321\213.ngscript" @@ -57,7 +57,7 @@ "id": "74e6dff8", "cell_type": "markdown", "source": [ - "> **МногоÑкороÑтные ÑиÑтемы (multirate)** – Ñто цифровые ÑиÑтемы, в которых приÑутÑтвуют Ñигналы Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ чаÑтотами диÑкретизации. \r\n\r\nЗдеÑÑŒ мы будем раÑÑматривать только ÑиÑтемы, которые преобразовывают чаÑтоту диÑкретизации входного Ñигнала. \r\n\r\nÐžÐ±Ñ‰Ð°Ñ Ñхема проÑтейшей многоÑкороÑтной ÑиÑтемы предÑтавлена на риÑунке: на вход ÑиÑтемы поÑтупает Ñигнал Ñ Ð¾Ð´Ð½Ð¾Ð¹ чаÑтотой диÑкретизации, на выходе получаетÑÑ Ñигнал Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ чаÑтотой диÑкретизации.\r\n\r\n\r\n\r\nЕÑли проиÑходит понижение чаÑтоты диÑкретизации, то Ñтот процеÑÑ Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÑ‚ÑÑ **децимацией** (**decimation** или **downsampling**). ЕÑли чаÑтота диÑкретизации повышаетÑÑ, то Ñтот процеÑÑ Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÑ‚ÑÑ **апÑÑмплингом (upsampling)** или **интерполÑцией**.\r\n\r\n---" + "> **МногоÑкороÑтные ÑиÑтемы (multirate)** – Ñто цифровые ÑиÑтемы, в которых приÑутÑтвуют Ñигналы Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ чаÑтотами диÑкретизации. \r\n\r\nЗдеÑÑŒ мы будем раÑÑматривать только ÑиÑтемы, которые преобразовывают чаÑтоту диÑкретизации входного Ñигнала. \r\n\r\n<br/>\r\n\r\nÐžÐ±Ñ‰Ð°Ñ Ñхема проÑтейшей многоÑкороÑтной ÑиÑтемы предÑтавлена на риÑунке: на вход ÑиÑтемы поÑтупает Ñигнал Ñ Ð¾Ð´Ð½Ð¾Ð¹ чаÑтотой диÑкретизации, на выходе получаетÑÑ Ñигнал Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ чаÑтотой диÑкретизации.\r\n\r\n\r\n\r\nЕÑли проиÑходит понижение чаÑтоты диÑкретизации, то Ñтот процеÑÑ Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÑ‚ÑÑ **децимацией** (**decimation** или **downsampling**). ЕÑли чаÑтота диÑкретизации повышаетÑÑ, то Ñтот процеÑÑ Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÑ‚ÑÑ **апÑÑмплингом (upsampling)** или **интерполÑцией**.\r\n\r\n---" ], "attachments": { "многоÑкороÑтные ÑиÑтемы.jpg": { @@ -99,7 +99,7 @@ "id": "e94cf9b0", "cell_type": "markdown", "source": [ - "РаÑÑмотрим Ñлучай децимации, когда чаÑтота диÑкретизации понижаетÑÑ Ð² целое чиÑло раз. Ðто прореживание отÑчетов, при котором в выходном Ñигнале оÑтаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ каждый $M$-й отÑчет, а оÑтальные отÑчеты выбраÑываютÑÑ. \r\n\r\nПри Ñтом может возникнуть одна проблема: мы можем не ÑоблюÑти уÑловие теоремы Котельникова. Мы оÑущеÑтвлÑем диÑкретизацию Ñигнала на другой шкале диÑкретных отÑчетов времени. Из-за Ñффекта алиаÑинга мы можем потерÑÑ‚ÑŒ данные, и воÑÑтановить иÑходный Ñигнал не получитÑÑ. ПоÑтому на практике применÑетÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´ÐµÑ†Ð¸Ð¼Ð°Ñ†Ð¸Ð¸ – прореживание Ñ Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ фильтрацией Ð´Ð»Ñ Ð³Ð°Ñ€Ð°Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ ÑƒÑловий теоремы Котельникова. \r\n\r\n---" + "РаÑÑмотрим Ñлучай децимации, когда чаÑтота диÑкретизации понижаетÑÑ Ð² целое чиÑло раз. Ðто прореживание отÑчетов, при котором в выходном Ñигнале оÑтаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ каждый $M$-й отÑчет, а оÑтальные отÑчеты выбраÑываютÑÑ. \r\n\r\n<br/>\r\n\r\nПри Ñтом может возникнуть одна проблема: мы можем не ÑоблюÑти уÑловие теоремы Котельникова. Мы оÑущеÑтвлÑем диÑкретизацию Ñигнала на другой шкале диÑкретных отÑчетов времени. Из-за Ñффекта алиаÑинга мы можем потерÑÑ‚ÑŒ данные, и воÑÑтановить иÑходный Ñигнал не получитÑÑ. ПоÑтому на практике применÑетÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´ÐµÑ†Ð¸Ð¼Ð°Ñ†Ð¸Ð¸ – прореживание Ñ Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ фильтрацией Ð´Ð»Ñ Ð³Ð°Ñ€Ð°Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ ÑƒÑловий теоремы Котельникова. \r\n\r\n---" ], "attachments": {}, "metadata": { @@ -185,7 +185,7 @@ "id": "5dc02a44", "cell_type": "code", "source": [ - "y = periodogram(s, onesided=true, nfft=length(s), fs=fs, window=hamming);\r\nplot(freq(y), power(y), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "y = DSP.periodogram(s, onesided=true, nfft=length(s), fs=fs, window=hamming);\r\nplot(freq(y), power(y), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], @@ -214,7 +214,7 @@ "id": "5d53d7bc", "cell_type": "markdown", "source": [ - "Ðа Ñпектре Ñигнала мы видим пики на чаÑтотах 1000 Гц и 3400 Гц.\r\n\r\nСначала понизим чаÑтоту диÑкретизации в 3 раза Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <code>resample</code>, ÑодержащейÑÑ Ð² библиотеке <code>DSP</code>." + "Ðа Ñпектре Ñигнала мы видим пики на чаÑтотах 1000 Гц и 3400 Гц.\r\n\r\n<br/>\r\n\r\nСначала понизим чаÑтоту диÑкретизации в 3 раза Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <code>resample</code>, ÑодержащейÑÑ Ð² библиотеке <code>DSP</code>." ], "attachments": {}, "metadata": { @@ -262,7 +262,7 @@ "id": "9b6dd46c", "cell_type": "code", "source": [ - "y_down = periodogram(s_down, onesided=true, nfft=length(s_down), fs=fs/down, window=hamming);\r\nplot(freq(y_down), power(y_down), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "y_down = DSP.periodogram(s_down, onesided=true, nfft=length(s_down), fs=fs/down, window=hamming);\r\nplot(freq(y_down), power(y_down), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], @@ -291,7 +291,7 @@ "id": "531a2c3b", "cell_type": "markdown", "source": [ - "Ðа Ñпектре прореженного Ñигнала также наблюдаютÑÑ Ð¿Ð¸ÐºÐ¸ на чаÑтотах 1000 Гц и 3400 Гц. При Ñтом мы понизили чаÑтоту диÑкретизации до 10 кГц. **Зона ÐайквиÑта** (половина чаÑтоты диÑкретизации) в Ñтом Ñлучает равна 5 кГц. \r\n\r\nЧто будет, еÑли понизить чаÑтоту диÑкретизации в 6 раз? Тогда зона ÐайквиÑта ÑдвинетÑÑ Ð½Ð° 2,5 кГц и пик на чаÑтоте 3400 Гц иÑчезнет из Ñпектра." + "Ðа Ñпектре прореженного Ñигнала также наблюдаютÑÑ Ð¿Ð¸ÐºÐ¸ на чаÑтотах 1000 Гц и 3400 Гц. При Ñтом мы понизили чаÑтоту диÑкретизации до 10 кГц. **Зона ÐайквиÑта** (половина чаÑтоты диÑкретизации) в Ñтом Ñлучает равна 5 кГц. \r\n\r\n<br/>\r\n\r\nЧто будет, еÑли понизить чаÑтоту диÑкретизации в 6 раз? Тогда зона ÐайквиÑта ÑдвинетÑÑ Ð½Ð° 2,5 кГц и пик на чаÑтоте 3400 Гц иÑчезнет из Ñпектра." ], "attachments": {}, "metadata": { @@ -310,7 +310,7 @@ "id": "70dcf13e", "cell_type": "code", "source": [ - "down = 6;\r\ns_down = resample(s, 1/down);\r\ny_down = periodogram(s_down, onesided=true, nfft=length(s_down), fs=fs/down, window=hamming);\r\nplot(freq(y_down), power(y_down), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "down = 6;\r\ns_down = resample(s, 1/down);\r\ny_down = DSP.periodogram(s_down, onesided=true, nfft=length(s_down), fs=fs/down, window=hamming);\r\nplot(freq(y_down), power(y_down), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], @@ -513,7 +513,7 @@ "id": "ee8521aa", "cell_type": "code", "source": [ - "y = periodogram(x, onesided=true, nfft=length(x), fs=fs, window=hamming);\r\nplot(freq(y), power(y))" + "y = DSP.periodogram(x, onesided=true, nfft=length(x), fs=fs, window=hamming);\r\nplot(freq(y), power(y))" ], "execution_count": 0, "outputs": [], @@ -542,7 +542,7 @@ "id": "637c59ce", "cell_type": "markdown", "source": [ - "Ðа Ñпектре мы наблюдаем один пик на чаÑтоте 1000 Гц, а зона Ð½Ð°Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ñпектра ограничиваетÑÑ Ñ‡Ð°Ñтотой 4 кГц.\r\n\r\nПовыÑим чаÑтоту диÑкретизации Ñигнала в 3 раза Ñ Ð¸Ñпользованием интерполÑции (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ той же функции <code>resample</code>)." + "Ðа Ñпектре мы наблюдаем один пик на чаÑтоте 1000 Гц, а зона Ð½Ð°Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ñпектра ограничиваетÑÑ Ñ‡Ð°Ñтотой 4 кГц.\r\n\r\n<br/>\r\n\r\nПовыÑим чаÑтоту диÑкретизации Ñигнала в 3 раза Ñ Ð¸Ñпользованием интерполÑции (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ той же функции <code>resample</code>)." ], "attachments": {}, "metadata": { @@ -561,7 +561,7 @@ "id": "47275e8a", "cell_type": "code", "source": [ - "up = 3;\r\nx_up = resample(x, up);\r\ny_up = periodogram(x_up, onesided=true, nfft=length(x_up), fs=fs*up, window=hamming);\r\nplot(freq(y_up), power(y_up), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "up = 3;\r\nx_up = resample(x, up);\r\ny_up = DSP.periodogram(x_up, onesided=true, nfft=length(x_up), fs=fs*up, window=hamming);\r\nplot(freq(y_up), power(y_up), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [], @@ -802,7 +802,7 @@ "id": "53747148", "cell_type": "code", "source": [ - "using Plots, DSP;\r\nfs = 8000;\r\nt1 = [0:1/fs:0.01;];\r\nf0 = 1000;\r\nx = cos.(2*pi*f0*t1);\r\ncoeff = 4/5;\r\ns = resample(x, coeff);\r\ny = periodogram(s, onesided=true, nfft=length(s), fs=fs*coeff, window=hamming);\r\nplot(freq(y), power(y), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" + "using Plots, DSP;\r\nfs = 8000;\r\nt1 = [0:1/fs:0.01;];\r\nf0 = 1000;\r\nx = cos.(2*pi*f0*t1);\r\ncoeff = 4/5;\r\ns = resample(x, coeff);\r\ny = DSP.periodogram(s, onesided=true, nfft=length(s), fs=fs*coeff, window=hamming);\r\nplot(freq(y), power(y), xlabel=\"чаÑтота, Гц\", ylabel=\"ÑÐ¿ÐµÐºÑ‚Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾ÑÑ‚ÑŒ мощноÑти\", legend=false)" ], "execution_count": 0, "outputs": [],