Exemplo n.º 1
0
import matplotlib
import matplotlib.pyplot as plt
import rsg
from fft import fft, real

HARMONICS = 8
FREQUENCY = 1200
N = 1024

sigs = rsg.generate(HARMONICS, FREQUENCY, N)

fig, (ax1, ax2) = plt.subplots(2, 1)

ax1.plot(sigs)
ax1.set_xlim(0, int(N/4))
ax1.set(xlabel='time', ylabel='signal',
        title='Random generated signals')

ax2.plot(real(fft(sigs)))
ax2.set_xlim(0, int(N/4))
ax2.set(xlabel='time', ylabel='frequency',
        title='Frequency spectrum using FFT')

fig.savefig("example-fft.png")
plt.show()
import matplotlib
import matplotlib.pyplot as plt
import rsg
import stats

HARMONICS = 8
FREQUENCY = 1200
N = 1024

COMPLEXITY_LIMIT = 16384

sigs1 = rsg.generate(HARMONICS, FREQUENCY, N)
sigs2 = rsg.generate(HARMONICS, FREQUENCY, N)

fig, (ax1, ax2) = plt.subplots(2, 1)
plt.tight_layout(pad=4)

ax1.plot(list(range(N)), sigs1, c="g", label="signal")
ax1.plot(list(range(int(N / 2))),
         stats.autocorrelation(sigs1),
         linewidth=5,
         label="corelation",
         alpha=0.5)

ax1.set_xlim(0, int(N / 8))
ax1.set(ylabel='correlation', xlabel='τ', title='Autocorrelation')

ax2.plot(list(range(N)), sigs1, c="g", label="signal 1")
ax2.plot(list(range(N)), sigs2, c="r", label="signal 2")
ax2.plot(list(range(int(N / 2))),
         stats.crosscorrelation(sigs1, sigs2),
import matplotlib
import matplotlib.pyplot as plt
import rsg
import stats
import time

HARMONICS = 8
FREQUENCY = 1200
Ns = list(map(lambda num: 2**num, list(range(1, 20))))

listtimes = list()
arraytimes = list()
for N in Ns:
    start = time.time()
    stats.correlation(rsg.generate(HARMONICS, FREQUENCY, N),
                      rsg.generate(HARMONICS, FREQUENCY, N))
    listtimes.append(time.time() - start)

    start = time.time()
    stats.correlation_array(rsg.generate(HARMONICS, FREQUENCY, N),
                            rsg.generate(HARMONICS, FREQUENCY, N))
    arraytimes.append(time.time() - start)

fig, ax = plt.subplots()

ax.plot(Ns, listtimes, c="g", label="list")
ax.plot(Ns, arraytimes, c="r", label="array")

fig.savefig("example-listvsarray.png")
plt.show()
Exemplo n.º 4
0
# additional task for lab 1.1
import matplotlib
import matplotlib.pyplot as plt
import rsg
import stats

HARMONICS = 8
FREQUENCY = 1200
Ns = list(map(lambda num: 2**num, list(range(1, 12))))

Mxs = list()
for N in Ns:
    Mxs.append(stats.average(rsg.generate(HARMONICS, FREQUENCY, N)))

fig, ax = plt.subplots()
ax.plot(Ns, Mxs, c="r")
ax.set_xlim(0, Ns.pop())

fig.savefig("example-mx.png")
plt.show()