Warning

# 11. Numerické výpočty

## Korelace a autokorelace

import matplotlib.pyplot as plt
import numpy as np

# inicializace generatoru nahodnych cisel
np.random.seed(0)
# ziskani dvou nahodnych vektoru
x, y = np.random.randn(2, 100)
# handle na kreslici plochu
fig = plt.figure()
# subplot - konfigurace XYZ znamena X radku, Y sloupcu, poradi Z
ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2)
ax1.grid(True)
ax1.axhline(0, color='black', lw=2)

ax2.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2)
ax2.grid(True)
ax2.axhline(0, color='black', lw=2)

plt.show()

## Spektrum signálu

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(0)

dt = 0.01
Fs = 1/dt
t = np.arange(0, 10, dt)

s = 0.1*np.sin(2*np.pi*t)
# pro ziskani ruseni v sinu odkomentujte nasledujici kod
# nse = np.random.randn(len(t))
# r = np.exp(-t/0.05)
# cnse = np.convolve(nse, r)*dt
# cnse = cnse[:len(t)]
# s = 0.1*np.sin(2*np.pi*t) + cnse

plt.subplot(3, 2, 1)
plt.plot(t, s)

plt.subplot(3, 2, 3)
plt.magnitude_spectrum(s, Fs=Fs)

plt.subplot(3, 2, 4)
plt.magnitude_spectrum(s, Fs=Fs, scale='dB')

plt.subplot(3, 2, 5)
plt.angle_spectrum(s, Fs=Fs)

plt.subplot(3, 2, 6)
plt.phase_spectrum(s, Fs=Fs)

plt.show()