Обработка звуковых файлов в LTSPICE
#1

LTSPICE позволяет загружать и обрабатывать звуковые файлы формата WAV.
Причём "понимает" любые (и нестандартные) значения разрядности в диапазоне от 1 до 32 бит.

Прочесть WAV файл очень просто, надо включить в схему источник напряжения, а вместо значения
напряжения вставить строку wavefile=мой_файл.wav Если файл располагается не в той-же директории
где и файл моделирования, надо вместо названия указать полный путь.

По умолчанию, если сигнал стерео, LTSPICE прочтёт левый канал (канал 0).
Или моно, если ваш исходный файл моно.
Для того чтобы прочесть сигнал правого канала, надо обозначить его в явном виде wavefile=мой_файл.wav chan=1
Тоже можно сделать и для левого канала wavefile=мой_файл.wav chan=0
Получается что вы используете генератор напряжения, выходным сигналом которого является ваш WAV файл.
А если у вас 2 канала - соответственно 2 генератора.

Полезно помнить что 100% амплитуды цифрового wav файла LTSPICE интерпретирует как 1В амплитудного значения.

Кроме того, LTSPICE позволяет сохранять напряжения полученные в процессе моделирования в виде WAV файла.
Для этого используется директива .OP , выглядящая .wave мойфайл.wav 24 48K V(название_цепи) или
.wave мойфайл.wav 16 41.1K V(название_цепи_1) V(название_цепи_2) если вы хотите сохранить левый и
правый каналы с различными сигналами.
После названия самого wav файла который вы хотите создать указана разрядность слова и частота дискретизации, а далее-
точки схемы откуда сигналы будут сохраняться. Частоты дискретизации могут быть не стандартными.

При сохранении необходимо учитывать что вся шкала - 1В. Т.е. если вы хотите сохранить сигналы большей амплитуды,
их необходимо отнормировать. Иначе они будут просто обрезаны на уровне +/-1В

В принципе, эти возможности позволяют сделать очень простой преобразователь разрядности и частоты дискретизации.
Правда очень невысокого качества, так как LTSPICE делает это очень примитивно (по тупому, по другому и не скажешь)
Примеры с исходными звуковыми файлами прилагаются.


Файлы вложений
.zip WAV_Test.zip Размер: 459.75 KB  Загрузок: 20

Nobody Is Perfect
The following 1 user says Thank You to begemot for this post:
  • ProFan (08-20-2019)
Ответ
#2

Евгений, очень хороший обзорчик по звуковым файлам в LT Spice, спасибо. Как раз появилась необходимость их использования. В родном хелпе, к сожалению, не всё всегда понятно описано.

Только хочу добавить, что директива с именем файла вписывается в любое из полей свойства источника напряжения "DC Value:" или "AC Aмplitude:", чек-бокс ниже также должен быть обязательно отмечен. Работает любой из этих вариантов.

Для тех, кто не любит читать, привожу картинки.

Сергей.

P.S. Кириллицу в названии файла и пути указывать нельзя, программа ругается.


Файлы вложений Эскизы(ов)
       
The following 1 user says Thank You to RadioMan for this post:
  • irag (09-28-2016)
Ответ
#3

Если захочется затянуть wav файл в ipyton, то это тоже несложно:

Код:
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')

Здесь более развернутый пример - http://nbviewer.ipython.org/github/mgeie...y-io.ipynb

Можно потом всякий анализ делать. Впринципе большинство таких вещей делают звуковые редакторы, но если захочется чего-то совсем особого то это верняк :)
Вобще наверное надо сделать отдельную тему по ipyton и перенсти все то что я у Коли выкладывал.


Файлы вложений Эскизы(ов)
       

"Найкраще сало то ковбаса." (с)
The following 1 user says Thank You to БендеровецЪ for this post:
  • irag (09-28-2016)
Ответ


Возможно похожие темы ...
Тема / Автор Ответы Просмотры Последний пост

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


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