Audio Perfection Forum
iPython notebook как альтернатива Matlab - Версия для печати

+- Audio Perfection Forum (https://www.audio-perfection.com/forum)
+-- Форум Цифровая обработка сигналов (https://www.audio-perfection.com/forum/forumdisplay.php?fid=17)
+--- Форум Цифровая обработка, цифровая фильтрация (https://www.audio-perfection.com/forum/forumdisplay.php?fid=24)
+--- Темы: iPython notebook как альтернатива Matlab (/showthread.php?tid=153)

Страницы: 1 2 3


iPython notebook как альтернатива Matlab - БендеровецЪ - 11-22-2014

Бывает что нуджен инструмент по типу матлаба, там с фильтрами поковырятся, можетчисла там какие-то поперереставлять. Ну или просто нужен калкулятор работающий с комплексными числами :)
Помимо безплатного Octave есть еще достаточно популярный и все так же безплатный iPython.

Для установки всех этих дел на диск можно пойти одним из путей описаным здесь http://ipython.org/install.html
Я предпочитаю вот этот пакет, он все ставит сам https://store.enthought.com/downloads/ более чем достаточно для среднестатистического аудиофила :)
Далее, можно запускать как прилодение, а можно запускать как "записную книжку" и работать прямо из браузера. Для этого надо выполнить из желаемой директории ipython notebook --pylab=inline

В результате видим в браузере что-то типа этого:


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-22-2014

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


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

Если у вас есть кое какя измерительная апаратура подключаемая к компу и поддерживающая VESA, то с помощью пайтона тоже моджно ею управлять.
Общее описание - http://pyvisa.readthedocs.org/en/latest/
Для начало надо будет установить что-то с нейшенал инструмент VESA. Я ставил Agilent IO Libraries - http://www.keysight.com/en/pd-1985909-pn-E2094/io-libraries-suite?nid=-33330.977662&cc=AU&lc=eng
Когда все установлено и настрено это работает приблизительно вот так (пример с мостом E4980A).


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-22-2014

Если непример хочется что-то пофильтровать - без проблем. В библиотеках уже есть синтез разных фильтров. Вот пример наложения Батеворта второго порядка на использованый ранее файл. Я правда int16 в дабл флоат не переводил.


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 05-12-2015

123


RE: iPython notebook как альтернатива Matlab - naroznyv - 05-14-2015

БендеровецЪ Написал:123
"иголоки" при переключении на выходе boost dc-dc LT3467 конвертера + их FFT. На выходе регулятора было 0805 4.7мкф и 22мкф +1ом послед для демфирования.


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-05-2015

Шота на форуме кроме как про бухло ваще ничего не пишут. Запощу пару картинок-иллюстраций к срачу на одном не безисвесном форуме :) На первой картинке можно с легкостью узнать синусоиду с частотой 22035Гц просемплированую с частотой 44100Гц :)


RE: iPython notebook как альтернатива Matlab - naroznyv - 11-05-2015

БендеровецЪ Написал:Шота на форуме кроме как про бухло ваще ничего не пишут. Запощу пару картинок-иллюстраций к срачу на одном не безисвесном форуме :) На первой картинке можно с легкостью узнать синусоиду с частотой 22035Гц просемплированую с частотой 44100Гц :)
с первой понятно, далее ?


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-05-2015

Далее класика - зеро стафинг. Рассово верный метод :)


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-05-2015

Чуть более наглядная картика


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-09-2015

Картинка спектра сигнала ~15kHz при fs 44.1kHz и "прозеростафленого" до 352.8kHz. Отрицательные частоты не убирал для наглядности.


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-10-2015

Особо упоротые теперь говорят что нельзя востановить точно фазу близко к fs/2... Ну вот просемплированый, проаспсемпленый и отфильтрованый синус и косинус. Выглядят достаточно ортогонально :)


RE: iPython notebook как альтернатива Matlab - nazar - 11-10-2015

БендеровецЪ Написал:Особо упоротые теперь говорят что нельзя востановить точно фазу близко к fs/2
интересно с чего такие предположения взяли


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-10-2015

Я думаю что лучше спросить прямо там в теме. Веселее будет :)


RE: iPython notebook как альтернатива Matlab - Altor Audio - 11-11-2015

У кого вы там спрашивать сбрались?
Я там вообще уже писать что-то боюсь, тем более что все равно не в коня корм....


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-11-2015

Я согласен что их репертуар поднадоел. Не генерят ничего нового.


RE: iPython notebook как альтернатива Matlab - bobby_ii - 11-14-2015

Сергей, я пытаюсь "следить" за темой, но не в курсе проблемы. Проясните для невкурсячих, к чему эти все кривульки?


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-14-2015

В двух словах: https://en.wikipedia.org/wiki/Noise_shaping и https://en.wikipedia.org/wiki/Delta-sigma_modulation
Я, на пальцах, лучше не обьясню.


RE: iPython notebook как альтернатива Matlab - Alexey77 - 11-14-2015

Покупаешь или собираешь на трёх ОУ (обычно) нотчницы и режешь нойс, чо там непонятного.


RE: iPython notebook как альтернатива Matlab - БендеровецЪ - 11-14-2015

Какие оу, какой нотч! ты хоть понял о чем речь? Собсна можно не отвечать, и так видно :)