{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "Yyyeym-VC3Bq" }, "source": [ "# Laboratorul 3\n", "\n", "Rezolvați exercițiile de mai jos în celulele care v-au fost puse la dispoziție. La final, rulați tot notebook-ul și asigurați-vă că nu aveți erori. Salvați fișierul și încărcați-l în assignment-ul de Teams corespunzător grupei voastre." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "KUu8KcQ_BAXh" }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.io\n", "import sounddevice" ] }, { "cell_type": "markdown", "metadata": { "id": "qTj85twMC6Wq" }, "source": [ "## Exercițiul 1\n", "\n", "Generați un semnal sinusoidal folosind funcția sinus (`np.sin`) cu o amplitudine, frecvență și fază aleasă de voi. Generați apoi un semnal folosind funcția cosinus (`np.cos`) astfel încât, pe orizontul de timp ales, acesta să fie identic cu semnalul sinus. Verificați afișându-le grafic în două subplot-uri diferite." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "FE8l8HUyCwig" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "iqjUTeNSDX16" }, "source": [ "## Exercițiul 2\n", "\n", "Generați un semnal sinusoidal de amplitudine egală cu 1 și cu o frecvență aleasă de voi. Încercați 4 valori diferite pentru fază. Afișați toate semnalele pe același grafic." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "XVsXxaqXDkIw" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "Ooeg7xyjD1r7" }, "source": [ "## Exercițiul 3\n", "\n", "Generați două semnale cu forme de undă diferite (ex. unul sinusoidal, celălalt sawtooth) pe același orizont de timp și adunațile eșantioanele. Afișați grafic cele două semnale inițiale și suma lor, fiecare în câte un subplot." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "aM78qjAYD2lu" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "Pc0z2kP1e_ch" }, "source": [ "## Exercițiul 4\n", "\n", "Generați două semnale cu aceeași formă de undă, dar de frecvențe diferite, și concatenați-le (puneți-le unul după celălalt în același vector). Redați audio rezultatul și notați ce observați.\n", "\n", "**Observație:** Intervalul de frecvențe pe care îl poate percepe urechea umană este aproximativ 40–20000 Hz. Semnalele voastre ar trebui să aibă frecvențele fundamentale în acest interval dacă vreți să le puteți auzi. Frecvența de eșantionare ar trebui să fie 44100 Hz." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ZecDt2kAfB4b" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "3X2tyWb0fMQb" }, "source": [ "## Exercițiul 5\n", "\n", "Generați un semnal sinusoidal de frecvență 200 Hz, eșantionat la o frecvență de 500 Hz pe un interval de timp ales de voi (dar suficient de mic cât să puteți distinge oscilațiile). Decimați-l la 1/4 din frecvența inițială (păstrați doar al 4-lea fiecare element din vector)." ] }, { "cell_type": "markdown", "metadata": { "id": "U6y4SSByfTZz" }, "source": [ "1. Afișați grafic semnalul inițial și cel decimat și comentați diferențele." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "7LizqL7TfQdz" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "p0MKqa-sfUeq" }, "source": [ "2. Repetați decimarea (tot la 1/4 din frecvența inițială) pornind acum de la al doilea sau de la al treilea element din vector. Ce observați? Este decimarea invariantă în timp?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "MR-lodnsfWIa" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "ut5xKJI3fRGE" }, "source": [ "## Exercițiul 6\n", "\n", "În practică se operează des cu următoarea aproximare: pentru valori mici ale lui $\\alpha$, $\\sin(\\alpha) \\approx \\alpha$. Verificați dacă această aproximare este bună, reprezentând grafic cele două curbe ($f (x) = x$\n", "și $f (x) = \\sin(x)$) pentru valori în intervalul $[-\\pi/2, \\pi/2]$." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "b4ZnsZ3ffjfb" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "authorship_tag": "ABX9TyP7n1PwYd7rQdWQnJWf1E75", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 0 }