iPython notebook как альтернатива Matlab
#2
Как первый пример что можно сделать - затянуть звуковой файл и провести пару операций с ним. Для жтого кликаем на "новую записную книжку" и вводим такой код:


import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
from scipy import signal
from scipy.io import wavfile

fs, sig = wavfile.read('EXIT.wav')
print fs
print sig.shape

plt.figure(figsize=(20,5))
plot( sig[0: 100000])
plt.xlabel('Sample')
plt.ylabel('Mag')

n_steps = (np.power(2, 16))
offset = 1000
freq = linspace(0, fs, n_steps)
window = np.zeros((n_steps, 2))
window[:, 0] = (np.blackman(n_steps))
window[:, 1] = (np.blackman(n_steps))
spectr = np.zeros((n_steps, 2))
spectr[:, :] = np.float64(np.multiply(window[:, :], sig[offset: offset + n_steps ,:] ))

spectrum = np.zeros((n_steps, 2))
print spectrum.shape

for i in range(2):
spectrum[:, i] = (20*np.log10(np.absolute(np.fft.fft(spectr[:, i])) + 1e-15) )
spectrum[:, i] -= np.amax(spectrum)

figure()
plt.figure(figsize=(15,7))
plt.plot(freq, spectrum[:, :]);
plt.xscale('log')
plt.xlim(1e2,fs/2)
plt.ylim(-150, 0)
plt.grid(which='both')
xlabel('Freq, Hz');
ylabel('dB');

print 'ch0 max sample = {} '.format(np.amax(sig[: ,0]))
print 'ch0 min sample = {} '.format(np.amin(sig[: ,0]))
print 'ch1 max sample = {} '.format(np.amax(sig[: ,1]))
print 'ch1 min sample = {} '.format(np.amin(sig[: ,1]))


Для удобства не обязательно вводить все это в одну ячейку, а можно разбить на несколько. Ячейки исполняются последовательно по одной, с нажатием шифт+энтер

На выходе это даст пару графиков, сам вид вейвформы (точнее ее части) и fft куска фонограммы


Файлы вложений Эскизы(ов)
       
"Найкраще сало то ковбаса." (с)
Ответ


Сообщения в этой теме
RE: iPython notebook как альтернатива Matlab - от БендеровецЪ - 11-22-2014, 02:22 AM

Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Как FFT анализатор отображает шум или что означает шумовая полка -200dB БендеровецЪ 83 83,207 11-22-2023, 12:00 AM
Последний пост: ViktorArs
  Foobar2000 как кроссовер Nick 21 22,024 02-14-2016, 12:40 AM
Последний пост: flipper
  Софтверный апсемплинг, как альтернатива цифровому фильтру. EDWARD 1 4,038 04-20-2015, 01:28 PM
Последний пост: EDWARD

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)