{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Zadanie 1 - aktywnosc slonca" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plik spots.txt zawiera wartości aktywności Słońca w kolejnych miesiącach. Wykreśl ten sygnał oraz jego spektrum. Za pomocą FFT, oblicz częstotliwość cyklu aktywności słonecznej. Przydatne mogą być następujące konstrukcje:\n", "\n", "array = genfromtxt(‘spots.txt’) (lub array=[float(x) for x in open('spots.txt').read().split()])\n", "\n", "x = max(array)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Zadanie 2 - proste filtrowanie" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Wykreśl sygnał $sin(2*pi*t) + sin(4*pi*t)$, T=1s, w=20Hz. Za pomocą FFT, przekształć sygnał do dziedziny częstotliwości. Następnie usuń składowe o częstotliwości 2Hz. Tak zmodyfikowany sygnał przekształć do dziedziny czasu i wykreśl go." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Zadanie 3 - Informacja o fazie" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Wykreśl sygnał $sin(2*pi*t) + sin(4*pi*t)$, T=1s, w=20Hz. Tym razem oprócz spektrum, wykreśl wykres z informacją o fazie poszczególnych częstotliwości (faza = arg(z)), gdzie z=a+bi. To samo wykonaj dla sin(2*pi*t) + cos(4*pi*t). Porównaj otrzymane wykresy. Przydatna może być funkcja angle (z parametrem deg=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Zadanie 4 - plik wejsciowy audio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Wczytaj plik err.wav. Wykreśl jego spektrum. Spróbuj także skali logarytmicznej. Określ dominujące w sygnale częstotliwości. Przydatne:\n", "\n", "import scipy.io.wavfile\n", "\n", "w, signal = scipy.io.wavfile.read('err.wav')\n", "\n", "signal = [s[0] for s in signal] #Tylko pierwszy kanał\n", "\n", "yscale(‘log’)\n", "\n", "spectrum[::10] # co 10-ty element\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 4 }