Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Версия MATLAB для изучeния?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Hitest
Начинаю изучать MATLAB с нуля. В бумажном виде есть только книга Дьяконова по версии R2007. По моим ощущениям от других книг этого автора, он "в теме". А читать в электронном виде очень не люблю, придется все равно распечатать всю книгу, если она есть в открытом доступе, хорошая и новая.

Кстати, если сейчас есть в продаже хорошая книга по современной версии MATLAB, прошу посоветовать.

Пока подумал, что с 2007 г. математика вряд ли изменилась, поэтому изучение старой версии тоже не пустая трата времени. Но я не увидел в книге и в самом Матлабе 2007 практически никаких средств ввода-вывода сигналов в реальном времени. Хотя бы со входа и выхода звуковой карты. Не говоря уже о вводе-выводе с проф. звуковых карт, где 32 входных канала и столько же выходных.
Хочу обрабатывать звук в реальном времени. Хотя бы простая обработка. На сегодняшний день в Матлабе это возможно?
thermit
Да.
И на вчерашний день тоже.
Hitest
И это возможно с помощью готовых средств, или нужно писать программный "переходник" с кучей вызовов Win32 API? Или вообще писать этот переходник на С++ и вызывать его из Матлаба? Я работаю в симуляторе в Windows XP, т. к. версия R2007b только там выполняется нормально.

Звуковая карта на 32 канала тоже видна как простое стерео устройство. Видимо в симуляторе большего и не будет. В родной среде к ней доступ через ASIO драйвер. (Эти железки вообще-то заточены под Мак. На нем я только музыку слушаю через эту звуковую карту. Но надо отдать должное яблочной корпорации - драйвера для операционок скажем 5-летней давности отлично работают в новых версиях.)
Эдди
Нет нужды тратить деньги, когда то же самое есть в Octave.

Цитата(Hitest @ Oct 29 2017, 23:51) *
Хочу обрабатывать звук в реальном времени. Хотя бы простая обработка. На сегодняшний день в Матлабе это возможно?

Зачем для такой простой задачи матлаб тянуть? Посмотрите, как все в audacity устроено: alsalib + несколько библиотек для обработки сигналову — вуаля!
Hitest
Эдди, здесь я частное лицо, и трачусь только на железки. На книги в бумажном варианте. И всё. (Можно поставить смайлик)

>> Зачем для такой простой задачи матлаб тянуть?

Не знаю, не знаю, куда там меня потянет. (Однажды чего-то может не хватить и я скажу себе "чтож ты дурак сразу Матлаб не изучал?". Во-вторых, "запас карман не тянет". В далеком студенчестве пришлось отбросить студенческую версию MathCAD в пользу полновесной, из-за потребности в одной-единственной мощной функции.)

Тем более с большим опытом DJ в далеком прошлом. Не секрет что все программные монстры для сведЕния, вроде Traktor DJ Studio, и более успешные потомки, изначально писались либо в Матлабе, либо в софте National, если разработчики японцы. Потом софт нормально реализовывался под MAC OS и почему-то с большими проблемами - под Windows. Это происходило еще задолго до появления Windows XP.
Понятия не имею, как разработчики таких систем добивались быстрого отклика звуковой карты из MATLAB, учитывая, что там много каналов на ввод и вывод. И сам математический пакет - вовсе не система жесткого реального времени.
Что бы почитать о вышеуказанных проблемах? Статьи, книги?




gosha-z
Цитата(Hitest @ Oct 31 2017, 18:36) *
программные монстры для сведЕния, вроде Traktor DJ Studio

Ну если это монстр, то что же тогда такое Nuendo? Про ProTools я даже заикаться не буду.
Эдди
Еще раз: ни в матлабе, ни тем паче в лабвью вы не добьетесь быстрого прямого доступа к аппаратным ресурсам ПК! А если и добьетесь, то такой ценой, что пожалеете, что вместо того, чтобы за недельку на С накалякать программку, возились с этими жиробасинами. Да еще и денег немерено отвалили!!!
Насчет лабвью, делались попытки управлять научным оборудованием при помощи этой фиговины. Общий вывод такой: ужасно дорого и неэффективно. А уж системы реального времени с обработкой изображений...
Hitest
Ну про то, что Traktor DJ Studio был изначально написан на Матлабе, известно от самих разработчиков, с которыми общался мой хороший друг. Было в бородатые годы. Это одна из первых реализаций алгоритма сведения, очень еще плохая реализация. Дальше было много конкурирующих продуктов, но по сей день никакое программное обеспечение не сможет свести любые 2 трека, ему подсунутые. Живой DJ справится. Это искусственный интеллект, какие уж там реализации на С за неделю...

Скорее всего, разработчики "машины" на Матлабе для тестирования подсовывают 2 файла. Они сейчас никаких подробностей не рассказывают.
Жалко, что и в Лабьвью нет быстрого доступа к звуковой карте. Программировать на Си я точно не буду, за много лет в прошлом это порядочно надоело.
Изначально мне и была нужна сложная обработка готового файла. Но хотел вводить сигнал с микрофона и слышать некоторые характерные детали в наушниках. Получается, что послушать можно, но с приличной задержкой. Значит, нужны изолирующие наушники, не пропускающие грохот малого двигателя. Это легко решаемо, например Technics RP-DJ 1210.

P. S. Пожалуйста, перестаньте про денежные траты на софт. Ну не надо про это, и точка.
Hitest
В общем мне нужно сделать следующую вещь. С микрофона вводится звук выхлопа малого двигателя внутреннего сгорания. Его обороты стабилизированы центробежным регулятором на величине 50Гц. Изменение нагрузки на валу двигателя приводит к не очень качественному переходному процессу. У регулятора плохая устойчивость.
Если полученный с микрофона сигнал перевести в частотную область, то наибольшая плотность мощности будет на частоте f вращения двигателя. На выход звуковой карты буду подавать несущую 500Гц, которая должна быть частотно-модулированной частотой f. Для большего удобства можно f возвести в некоторую степень, от 1 до 2. Навскидку f^1.5
Тогда медленные автоколебания стабилизатора оборотов будут хорошо слышны. По крайней мере мне в полевых испытаниях так будет удобнее. Можно рисовать трехмерную спектрограмму, но у меня с геометрией всегда были проблемы sm.gif Со звуком я всегда на "ты".

Ну как, идея не слишком бредовая?

P. S. Можно конечно нагрузить этим DSP звуковой карты. Прилагаемый с ней софт позволяет это сделать. И можно слышать результат в реальном времени. Но только под Мак, в Лоджике. Но у меня яблочная машина только огромная настольная, ноута нет. Поэтому полевые испытания не получатся.
jorikdima
1. Изучать матлаб (как таковой а не его тулбокс работы со звуком) можео любой. 2007 в том числе. Это не С#, изучив который 10 лет назад, я не понимаю современный код.
2. Что касается работы со звуковой картой, я не пробовал, но уверен считать данные оттуда не проблема, так как устройство довольно стандартное.
3. По объявленной задаче, имхую, что матлаб справится с потоком со свуковой карты в реальном времени. В том числе обработку, если она не сложная.
4. Я был приверженцом матлаба. Но сейчас его в области научных счислений двигает связка Python+NumPy . На вашем месте при отсутсвии опыта там и там, я бы ударился в питон. Работает везде, хоть в разпберри пай. Бесплатен. Популярен. Матлаб хорош тулбоксами. Если у вас нет обработки, где использовался бы один из тулбоксов очень активно, сэкономив вам время, я бы не брался за матлаб сейчас. А питон даст вам сильный плс в резме, если плюсы там нужны, конечно.
vvvv
По моему ТС правильной дорогой идет. Он же написал "для изучения". У него есть конкретная задача которую надо решить алгоритмически.
Лучшего инструмента чем Matlab не придумали пока. И опять же зачем человеку быстрый отклик, если алгоритм в Матлабе можно обкатывать
на массивах данных. И опять же в Матлабе все можно визуализировать, построить крайне наглядно и понятно.
Вот когда алгоритм уже создан можно программировать хоть на питоне, хоть на ассемблере чтобы получить быстрое время отклика.
Зачем смешивать две задачи создание алгоритма и его оптимизацию.
jorikdima
Цитата(vvvv @ Nov 1 2017, 20:24) *
По моему ТС правильной дорогой идет. Он же написал "для изучения". У него есть конкретная задача которую надо решить алгоритмически.
Лучшего инструмента чем Matlab не придумали пока. И опять же зачем человеку быстрый отклик, если алгоритм в Матлабе можно обкатывать
на массивах данных. И опять же в Матлабе все можно визуализировать, построить крайне наглядно и понятно.
Вот когда алгоритм уже создан можно программировать хоть на питоне, хоть на ассемблере чтобы получить быстрое время отклика.
Зачем смешивать две задачи создание алгоритма и его оптимизацию.

Вы, веротно, с питоном не знакомы. Он не про быстрый отклик как раз. И я совершенно н еприводил это как аргумент в его пользу. И про визуализаци вы тоже не правы.
Эдди
В простейшем виде задача ТСа решается тремя страницами кода на С! Если вместо alsa использовать oss4, то и двумя!!!
БПФ очень хорошо делает fftw3. Если сэмплы будут не очень большими, то в реальном времени можно будет получать спектр на 96кГц дискретизации (а такие звуковушки нынче совсем недороги).

Если же автор хочет сначала алгоритм разработать, то согласен — я сам сначала "обкатываю" все в Octave и только потом делаю результирующую версию, которая работает с нормальной скоростью. От октавы матлаб отличается лишь одним — он умеет компилировать ваш код, в результате чего время выполнения в некоторых случаях значительно повышается. Но все равно оптимизации там 0, так что годится вся эта чепуха лишь на развлечения с разработкой алгоритма (т.к. пару строк кода заменить таки проще, чем полстраницы!).
syoma
Мой совет - изучать сразу последний матлаб, потому что
Цитата
Еще раз: ни в матлабе, ни тем паче в лабвью вы не добьетесь быстрого прямого доступа к аппаратным ресурсам ПК! А если и добьетесь, то такой ценой, что пожалеете, что вместо того, чтобы за недельку на С накалякать программку, возились с этими жиробасинами. Да еще и денег немерено отвалили!!!

уже давно не правда. В Матлабе уже давно практически все тулбоксы поддерживают real-time в том числе на Windows машинах с ихним родным kernel. И я сам смотрел, что там присутствует поддержка быстрого доступа для практически всего существующего i/o железа, и конечно-же звуковых плат.
Я думаю, что похожая задача, как у автора, вполне возможно будет в числе входящих в комплект примеров.
dxp
QUOTE (jorikdima @ Nov 2 2017, 09:39) *
4. Я был приверженцом матлаба. Но сейчас его в области научных счислений двигает связка Python+NumPy . На вашем месте при отсутсвии опыта там и там, я бы ударился в питон. Работает везде, хоть в разпберри пай. Бесплатен. Популярен. Матлаб хорош тулбоксами. Если у вас нет обработки, где использовался бы один из тулбоксов очень активно, сэкономив вам время, я бы не брался за матлаб сейчас. А питон даст вам сильный плс в резме, если плюсы там нужны, конечно.

+100500 за питон (+numpy). Универсальный язык, позволяет писать код не только для вычислений, но и для обычных утилит и даже взрослых приложений (PyQt). Матлаб на данный момент имеет преимущества:

* если нужен какой-то его тулпбокс, который не имеет аналогов в библиотеках питона;
* используется генератор С или HDL кода из матлабовского скрипта;
* используется Симулинк.

В остальном питон заруливат малтаб без вопросов.
syoma
Цитата(dxp @ Nov 2 2017, 09:58) *
* если нужен какой-то его тулпбокс, который не имеет аналогов в библиотеках питона;
* используется генератор С или HDL кода из матлабовского скрипта;
* используется Симулинк.

* Если планируется делать контроллер на основе полученного алгоритма. ТС пока только в начале пути - он хочет провести измерения и получить какой-то полезный сигнал, но очень быстро он захочет оптимизировать свой стабилизатор оборотов или сделать его вообще полностью электронным, обработав этот сигнал в реальном времени в микроконтроллере и управляя двигателем с помощью него. И тут Matlab раскрывается в полной мере - вы можете построить в нем полностью свой регулятор оборотов а затем сгенерировать Си код для своего МК, который будет выполняться уже в реальном времени. Мало того, в Симулинке можно построить модель двигателя и сделать оптимизацию по ней. Вряд-ли такое возможно в Питоне.
Эдди
Цитата(syoma @ Nov 2 2017, 09:54) *
Матлабе уже давно практически все тулбоксы поддерживают real-time в том числе на Windows машинах с ихним родным kernel.

Врите, да не завирайтесь! Не может быть на не рилтаймовом ядре рилтайма!
И уж тем паче на мастдайке, которая в любой момент может решить обновиться и кирдык всем вашим "рилтаймам"!
Нормальные люди с такими задачами мастдайкой не пользуются, как минимум на гей-оси работают!
syoma
Цитата(Эдди @ Nov 2 2017, 11:20) *
Врите, да не завирайтесь! Не может быть на не рилтаймовом ядре рилтайма!
И уж тем паче на мастдайке, которая в любой момент может решить обновиться и кирдык всем вашим "рилтаймам"!
Нормальные люди с такими задачами мастдайкой не пользуются, как минимум на гей-оси работают!

Расскажите это вот этим ребятам и еще десяткам других, делающим real-time kernels под винду.
Матлабовский реал-тайм ,может быть не такой крутой, но 1мс под Виндой обеспечивает тоже.
Эдди
Цитата(syoma @ Nov 2 2017, 13:03) *
1мс под Виндой обеспечивает тоже

Офигеть, ну и рилтайм! Разве что для синтезаторов годится…
syoma
Цитата(Эдди @ Nov 2 2017, 13:27) *
Офигеть, ну и рилтайм! Разве что для синтезаторов годится…

Ну я думаю, что для задачи ТС тоже годится. Сколько там оборотов делает его ДВС за 1 миллисекунду?
jorikdima
Цитата(syoma @ Nov 2 2017, 01:36) *
И тут Matlab раскрывается в полной мере - вы можете построить в нем полностью свой регулятор оборотов а затем сгенерировать Си код для своего МК, который будет выполняться уже в реальном времени. Мало того, в Симулинке можно построить модель двигателя и сделать оптимизацию по ней. Вряд-ли такое возможно в Питоне.

У меня, возможно, ощущения еще десятилетней давности, но всегда казалось, что нечто сгенеренное матлабом (HDL или Си код) не очень применим в реальной жизни, ввиду своей говености. Это уже не так?
И тут палка о двух концах. Если мы говорим о запуске на микроконтроллере то да, наверно можно получить си код из матлаба. А вот если у нас есть условная малина, то там можно и родной питон запускать, без конвертации (которая по любому должна быть встроена как-то в головной код МК). А матлаб на малине не взлетит sm.gif
Ruslan1
Очень даже номально взять сигнал с микрофонного входа и обработать как хочется. И все это в рамках Матлаба.

Вот тут немного про это:
https://electronix.ru/forum/index.php?s=&am...st&p=898413

Мне матлаб много помог тогда.
syoma
Цитата(jorikdima @ Nov 2 2017, 18:56) *
У меня, возможно, ощущения еще десятилетней давности, но всегда казалось, что нечто сгенеренное матлабом (HDL или Си код) не очень применим в реальной жизни, ввиду своей говености. Это уже не так?

Уже давно не так. автоматический си код уже давно используется в промышленности, автоиндустрии и аэрокосмосе. HDL кодером мы пользуемся для весьма сложных дизайнов. Другие клепают на них SDR и прочие плюшки.

Цитата
И тут палка о двух концах. Если мы говорим о запуске на микроконтроллере то да, наверно можно получить си код из матлаба. А вот если у нас есть условная малина, то там можно и родной питон запускать, без конвертации (которая по любому должна быть встроена как-то в головной код МК). А матлаб на малине не взлетит sm.gif

Сам матлаб нет, а вот сгенерированный им код из моделей и m-файловвзлетит, да еще и как. И не только на Распберри, а и на Ардуине или даже Лего, если захочется. Там куча поддерживаемых платформ, начиная от простых 32-х битных STMок и до DSP c x86 процессорами и различными операционками. И можно начать на Raspberry, а потом перенести все на свою платформу.

blackfin
Цитата(syoma @ Nov 2 2017, 21:16) *
Сам матлаб нет, а вот сгенерированный им код из моделей и m-файлов взлетит, да еще и как. И не только на Распберри, а и на Ардуине или даже Лего, если захочется.

А сколько сейчас стоит лицензионная версия MATLAB'а? Владелец Распберри, Ардуины или Лего может себе позволить такую покупку? biggrin.gif
syoma
Цитата(blackfin @ Nov 2 2017, 21:23) *
А сколько сейчас стоит лицензионная версия MATLAB'а? Владелец Распберри, Ардуины или Лего может себе позволить такую покупку? biggrin.gif

Студентам бесплатно. Но вообще стоимость лицензии на Матлаб и аналогичные продукты стоит рассматривать с точки зрения сэкономленного времени разработчика и сэкономленых средств на разработку. Если ваше время условно-бесплатное, то конечно, дорого. А если благодаря данному продукту вы запускаете коммерческий проект, на который в нормальном случае потратили бы 1 год, за 3 месяца - это уже не так дорого, не так ли?
Или если ваш специалист, который разбирается в звукотехнике, создает работающий алгоритм обработки звука в матлабе, который потом без проблем запускается на малинке и все это без привлечения системного программиста, схемотехника, питонщика и DSP-шника - это ведь тоже какая-то экономия, не так ли?
Или если вы сможете проверить работоспособность Вашего алгоритма вообще без какого либо железа и кодинга и выбрать оптимальную реализацию сразу же на этапе идеи, это не экономия на итерациях?
blackfin
Цитата(syoma @ Nov 2 2017, 21:44) *
Но вообще стоимость лицензии на Матлаб и аналогичные продукты стоит рассматривать с точки зрения сэкономленного времени разработчика и сэкономленых средств на разработку.

Что за манера отвечать на вопросы, которые вам не задавали? И почему вы отвечаете на вопросы, которые сами себе придумали? У вас с логикой все в порядке? biggrin.gif
syoma
Цитата(blackfin @ Nov 2 2017, 21:48) *
Что за манера отвечать на вопросы, которые вам не задавали? И почему вы отвечаете на вопросы, которые сами себе придумали? У вас с логикой все в порядке? biggrin.gif

Вам будет легче если я отвечу на ваши вопросы?
- https://www.mathworks.com/content/dam/mathw...ro-standard.pdf
- У нас на фирме есть и Лего и Распберри - да, можем позволить себе такую покупку.
blackfin
Всё ясно.. Спасибо. wink.gif
Hitest
Ну, господа разработчики переругались между собой.

1)Зачем мне Питон, когда это все равно язык программирования, хоть и сверхвысокого уровня? Ему можно подсунуть например любую систему дифф. уравнений и заставить решить? Не желая вдаваться ни в какие подробности? А смоделировать центробежный стабилизатор оборотов движка? Кроме того, он на MAC OS нормально работает?

2) Программистом я уже давно побывал. Включая честное полное изучение С++, а за тем за год работы успешно его забыл, т. к. сложных задач не было. А теперь и Си вспоминать не хочу, это опускаться на уровень полу-ассемблера. Микроконтроллеры на данный момент не интересуют.

2.5) Не может быть и речи о замене прочного, тяжелого центробежного регулятора на движке на что-то электронное. Генератор (альтернатор) посажен на вал двигателя и непосредственно питает потребителей. Если электронный цифровой стабилизатор умрет, то скорее всего неуправляемая машина сожгет всю нагрузку. Если нужно электронное управление, то мне надо будет купить инверторную электростанцию, выдающую хороший синус 50 Гц. Они очень дорогие, если брать бренд а не китайца, все равно силовая часть может сгореть абсолютно без причины. Но нагрузка не пострадает.

3) Винда вполне себе real-time для звука, и это доказывает софт, написанный для этих целей. Кроме стандартного медленного планировщика задач для звуковых карт есть ASIO. Как звукотехник приведу пример винил-эмуляторов, а также "контроллеров" для DJ.

4) В области real-time звукотехники почти все артисты работают на Маках. Работал с винил-эмулятором МакБуке. Стабильно, быстро, не глючит. Под виндой иногда глючит, поэтому она для публичных целей не катит. Есть вообще распространенное мнение, что MAC OS изначально была заточена для работы со звуком (и еще с цветом). Аргументировать как программист не могу.

P.S.
Цитата
А сколько сейчас стоит лицензионная версия MATLAB'а?
Господи, я уже кажется в 3-й раз прошу не заставлять меня учитывать стоимость Матлаба. Что, надо прямым текстом написать, откуда мне доступна любая версия любого математического пакета и прочего софта?
jorikdima
Цитата(Hitest @ Nov 3 2017, 04:54) *
Ну, господа разработчики переругались между собой.

1)Зачем мне Питон, когда это все равно язык программирования, хоть и сверхвысокого уровня? Ему можно подсунуть например любую систему дифф. уравнений и заставить решить? Не желая вдаваться ни в какие подробности? А смоделировать центробежный стабилизатор оборотов движка? Кроме того, он на MAC OS нормально работает?

Да. Можно подсунуть в нумпай.
По высокоуровневости Матлаб сход с питоном.
Эдди
Как можно матлаб (да даже Octave) сравнивать с таким дерьмом, как пхытон?
Grizzzly
Цитата(Эдди @ Nov 5 2017, 19:53) *
Как можно матлаб (да даже Octave) сравнивать с таким дерьмом, как пхытон?

Ну, во всех приличных вузах мирах как раз на Питоне работают. Да и научное моделирование в подавляющем большинстве на нем же. Неспроста же даже в Scientific Linux по умолчанию не установлен Octave.
Hitest
Во всех приличных вузах мира раньше просто маниакально обязательно студентам пихали Паскаль, а это дерьмо ИМХО. И заставляли писать на нем софт, для которого язык откровенно слаб. Я как программист по образованию, и изучивший этот язык полностью, понял, что на нем ничего серьезного сделать невозможно. Кроме того, студенты рискуют никогда не понять, что происходит в машине. И немудрено, что большинство моих сокурсников вообще не поняли работу с динамической памятью. Недоязык даже в поздних реализациях вроде Delphi. Профессионалы всегда работали на других языках, в частности на Си, как только он стал доступен. (Си и ассемблер нам не преподавали. Защищал диплом в 2000г.)

Далее, сколько лет существует Матлаб и сколько лет совершенствовались его встроенные алгоритмы? Много, много! И они гарантированно правильно работают! А когда Матлаба не существовало, для математики был корявый Фортран, но его козырь - тоже мощные и правильные численные алгоритмы.
Питон же недавняя выскочка. Для студентов. Где гарантия, что все его алгоритмы правильные? И еще. Я почитал книжку, код линуксом попахивает. А я лично (это личное мнение) юникс-системы на дух не переношу. Хотя бы потому, что понятность, правильность и "красота" кода командной строки, файлов настройки, принесена в жертву скорости выполнения. В МакОси хоть чрезвычайно развитый GUI прикрывает то, что в глубине там юникс.

Далее, за то немногое время, которое было у меня, познакомился с Симулинком. Удобство моделирования задач электротехники, для начала. Теперь меня от Симулинка никто не отвадит.
Hitest
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Назрел вопрос. Здесь несколько раньше человек приводил ссылку на другую тему про Матлаб, где сигнал с микрофонного входа звуковой карты пишется в файл и рисуется на экране:


Очень даже номально взять сигнал с микрофонного входа и обработать как хочется. И все это в рамках Матлаба.

Вот тут немного про это:
https://electronix.ru/forum/index.php?s=&am...st&p=898413


По данной там ссылке на пример на сайте MathWorks у меня пример не находится. Говорит, что нет такого файла.(?) Может быть, пример доступен только лицензионным пользователям? Как и другие примеры....
Если сюда никак, прошу ответить личным сообщением или на емайл ALIGOU {sobaka} MAIL RU
Ruslan1
Цитата(Hitest @ Nov 6 2017, 01:17) *
Назрел вопрос. Здесь несколько раньше человек приводил ссылку на другую тему про Матлаб, где сигнал с микрофонного входа звуковой карты пишется в файл и рисуется на экране:

По данной там ссылке на пример на сайте MathWorks у меня пример не находится. Говорит, что нет такого файла.(?) Может быть, пример доступен только лицензионным пользователям? Как и другие примеры....
Если сюда никак, прошу ответить личным сообщением или на емайл ALIGOU {sobaka} MAIL RU

Я писал. Давно это было, только завтра найду, если текучка не собъет планы. Наверняка есть в архивах, найду точно.
Я использовал этот метод для детального изучения сигналов от датчиков типа струна, с возбуждением в диапазоне 400- 6500 Гц. Так что аудиовход мне отлично подошел.
syoma
Цитата
2.5) Не может быть и речи о замене прочного, тяжелого центробежного регулятора на движке на что-то электронное. Генератор (альтернатор) посажен на вал двигателя и непосредственно питает потребителей. Если электронный цифровой стабилизатор умрет, то скорее всего неуправляемая машина сожгет всю нагрузку. Если нужно электронное управление, то мне надо будет купить инверторную электростанцию, выдающую хороший синус 50 Гц. Они очень дорогие, если брать бренд а не китайца, все равно силовая часть может сгореть абсолютно без причины. Но нагрузка не пострадает.

Зря вы так. Для защиты потребителей ставится обыкновенное реле частоты, которое будет рвать нагрузку и зажигание в аварийном случае. А вы получаете хорошие преимущества - уменьшение веса и упрощение конструкции за счет уборки тяжелого и дорогого механического регулятора, улучшенную реакцию на изменение нагрузки без паразитных колебаний и отсутствие необходимости настройки.
Ruslan1
Цитата(Hitest @ Nov 6 2017, 01:17) *
По данной там ссылке на пример на сайте MathWorks у меня пример не находится. Говорит, что нет такого файла.(?) Может быть, пример доступен только лицензионным пользователям? Как и другие примеры....

нашел прямо в интернете.

как я искал сейчас новое место файла на сайте:
1. Пойдя по этой несуществующей ссылке, я увидел, что название файла "sound_acquisition.m".
2. Далее я забил в поиске гугла "sound_acquisition.m"
3. кликнув вторую ссылку ("MATLAB sound - code example - File Exchange - MATLAB Central"), попал прямиком на этот файл:

CODE
%% Data Acquisition and Analysis using MATLAB
% MATLAB supports data acquisition using the Data Acquisition Toolbox.
% This code example shows you how to easily acquire and analyze data in
% MATLAB. Uses MATLAB to acquire two seconds of sound data from a
% sound card, calculate the frequency components, and plot the results.
% See note below on how to easily update this example to use different
% supported data acquisition hardware.
%
%% Note: Automatically generating a report in MATLAB
% Press the "Save and Publish to HTML" button in the MATLAB Editor to
% execute this example and automatically generate a report of this work.
%
%% Step 1: Create an analog input object to communicate with data acquisition device
% In this case, a Windows sound card is used ('winsound').
ai = analoginput('winsound');
addchannel(ai,1);

%% Step 2: Configure the analog input to acquire 2 seconds of data at 8000Hz
Fs = 8000;
duration = 2;
set (ai, 'SampleRate', Fs);
set (ai, 'SamplesPerTrigger', duration*Fs);

%% Step 3: Start the acquisition and retrieve the data
start(ai);
data = getdata(ai);

%% Step 4: Determine the frequency components of the data
xfft = abs(fft(data));
mag = 20*log10(xfft);
mag = mag(1:end/2);
plot(mag);

%% Step 5: Clean up
delete(ai);
clear ai

%% Note: Using different data acquisition hardware
% The Data Acquisition Toolbox enables you to easily switch hardware
% from a sound card to another supported data acquisition device with
% minimal changes to your MATLAB script. This example could be repeated
% using different hardware by simply changing two lines of code. For
% example, if we were to use a National Instruments multifunction card
% then we could create the analog input object using:
% ai=analoginput('nidaq',1);
% addchannel(ai,0)
%
% Likewise, if we were to use a Measurement Computing (MCC) board to
% acquire the data, the code would read:
% ai=analoginput('mcc',8);
% addchannel(ai,1)
%
% The Data Acquisition Toolbox supports hardware from many manufacturers
% including Advantech, CONTEC, Data Translation, and others.
% For a list of supported data acquisition hardware, visit:
% http://www.mathworks.com/products/supporte...tml?prodCode=DA
%
% To use MATLAB with instruments or serial devices, visit:
% http://www.mathworks.com/products/instrument
%
% To use MATLAB with imaging devices, visit:
% http://www.mathworks.com/products/imaq


и еще можете погуглить нижеприведенное:
MATLAB sound - code example
Audio System Toolbox - Code Examples - MATLAB & Simulink
iheartmatlab.blogspot.com (у этого товарища все интересно в блоге, но Вам нужен 2008 год, июль, тема: "Sound Card Spectral Analysis")
DASM
Цитата(Hitest @ Nov 5 2017, 22:41) *
а это дерьмо Я как программист по образованию, и изучивший этот язык полностью, понял, что на нем ничего серьезного сделать невозможно. Защищал диплом в 2000г.

Питон же недавняя выскочка. Для студентов. ? И еще. Я почитал книжку, код линуксом попахивает. А я лично (это личное мнение) юникс-системы на дух не переношу. Хотя бы потому, что понятность, правильность и "красота" кода командной строки, файлов настройки, принесена в жертву скорости выполнения. лее, то немногое время, которое было у меня, познакомился с Симулинком.

Комментарии излишни. Поменьше бы таких "программистов по образованию' глядишь бы и жизнь наладилась

Напоминает самолюбование студента на Хабре
Эдди
Цитата(Grizzzly @ Nov 5 2017, 19:56) *
Неспроста же даже в Scientific Linux по умолчанию не установлен Octave.

Там "из коробки" вообще ничего нужного нет, зато полно ненужного, что замучаешься выпиливать!
А пхытон в любом линуксе есть, к сожалению: на нем очень много системных скриптов. Но это не значит, что его можно всерьез использовать для моделирования. Здесь уж специальные средства — те же octave, matlab, R, scilab и иже с ними — вне конкуренции!
Hitest
Цитата
как я искал сейчас новое место файла на сайте:
1. Пойдя по этой несуществующей ссылке, я увидел, что название файла "sound_acquisition.m".
2. Далее я забил в поиске гугла "sound_acquisition.m"
3. кликнув вторую ссылку ("MATLAB sound - code example - File Exchange - MATLAB Central"), попал прямиком на этот файл:

Ruslan1 благодарю за информацию! Этот пример я попытался выполнить в Windows XP, которая сама работала в симуляторе VMWare. Очень медленно. Через встроенную в ноут звуковуху ничего не вышло. Подключил внешнюю, по IEEE1394, заработало, но подвешивает весь компьютер. Получается, надо отдельный комп с Windows XP. Это если я хочу изучать старую версию по книге Дьяконова. Книга хорошая, ничего менять не хотелось бы. Тем более он написал вторую книгу по Симулинку, и всё, что нужно и даже намного более, в системе есть. А в симуляторе... запустил бенчмарк Матлаба, скорость примерно в 150 раз ниже, чем на самой средненькой машинке 2005г.
Цитата
А вы получаете хорошие преимущества - уменьшение веса и упрощение конструкции за счет уборки тяжелого и дорогого механического регулятора, улучшенную реакцию на изменение нагрузки без паразитных колебаний и отсутствие необходимости настройки.
syoma, может быть и надо так сделать (в конце концов у Хонды все инверторные электростанции с электронным регулятором), но догнать и перегнать Хонду... Да лучше задушить жабу и купить их электростанцию. А Матлаб изучать в пределах научного интереса. Но, я за свой двигатель топовой линейки Briggs&Stratton в свое время отвалил штуку евро. И регулятор у него внутри в брюхе, не вытащишь, чтобы от веса избавиться. Он отработал из коробки совершенно прекрасно около 30 часов, потом началась зима и из-за низкой температуры появились автоколебания; опять наступило лето, но автоколебания остались. Я его задвинул в долгий ящик, т. к. нормальный сервис есть только в Москве, и сервис-мануала в интернете нет.
Цитата
Комментарии излишни. Поменьше бы таких "программистов по образованию' глядишь бы и жизнь наладилась
Уважаемый, мы с Вами не знакомы, поэтому прекратите обсуждать мою личность. Я выразил свое мнение по языкам программирования, предназначенных для университетской среды. Нормальные большие приложения пишут не на них. Ваше право не соглашаться. А вот на какое самолюбование я похож, это оставьте при себе.
Mikhail B.
Цитата(Hitest @ Oct 29 2017, 23:51) *
Начинаю изучать MATLAB с нуля. В бумажном виде есть только книга Дьяконова по версии R2007. По моим ощущениям от других книг этого автора, он "в теме". А читать в электронном виде очень не люблю, придется все равно распечатать всю книгу, если она есть в открытом доступе, хорошая и новая.

Кстати, если сейчас есть в продаже хорошая книга по современной версии MATLAB, прошу посоветовать.

Пока подумал, что с 2007 г. математика вряд ли изменилась, поэтому изучение старой версии тоже не пустая трата времени. Но я не увидел в книге и в самом Матлабе 2007 практически никаких средств ввода-вывода сигналов в реальном времени. Хотя бы со входа и выхода звуковой карты. Не говоря уже о вводе-выводе с проф. звуковых карт, где 32 входных канала и столько же выходных.
Хочу обрабатывать звук в реальном времени. Хотя бы простая обработка. На сегодняшний день в Матлабе это возможно?


Да, ЦОС в Матлабе возможна. Запись, обработка (оцифровка) и т.д. И там есть даже возможность прослушивания. Если не ошибаюсь, команда sound.
Могу порекомендовать вам хорошую книгу, которая мне помогла - Сергиенко А.Б. Цифровая обработка сигналов. У него там всё о матлабе.
Ruslan1
Цитата(Hitest @ Nov 10 2017, 02:40) *
Ruslan1 благодарю за информацию! Этот пример я попытался выполнить в Windows XP, которая сама работала в симуляторе VMWare. Очень медленно. Через встроенную в ноут звуковуху ничего не вышло. Подключил внешнюю, по IEEE1394, заработало, но подвешивает весь компьютер. Получается, надо отдельный комп с Windows XP. Это если я хочу изучать старую версию по книге Дьяконова. Книга хорошая, ничего менять не хотелось бы. Тем более он написал вторую книгу по Симулинку, и всё, что нужно и даже намного более, в системе есть. А в симуляторе... запустил бенчмарк Матлаба, скорость примерно в 150 раз ниже, чем на самой средненькой машинке 2005г.

У меня это все делалось на Win7 (без виртуалок), использовал вход встроенной саундкарты. Никаких особых тормозов не замечал (Core2 Duo 1.8 ГГц, 2 ГБ RAM)
Из примеров взял только примеры работы с железом ( конфигурирование саундкарты и чтение данных), дальше сам.

Матлаб учил именно по уже упомянутой книге Сергиенко, очень доступно и полно изложено.
Hitest
Цитата
Да, ЦОС в Матлабе возможна.

Всего лишь возможна? wink.gif ?? Примерно в 1998 г. я изучал теорию ЦОС, никаких практических примеров особо не было. Тогда я дорвался до Матлаба, еще версии под MS-DOS, и выяснил, что все основные виды фильтров там реализованы. Свертки, еще много чего нашел. Через 10 лет наверное хуже там уж не стало wink.gif
За наводку на книгу спасибо. Поищу в электронном виде, а лучше в бумажном в закутках магазинов.
Цитата
У меня это все делалось на Win7 (без виртуалок), использовал вход встроенной саундкарты. Никаких особых тормозов не замечал
(Core2 Duo 1.8 ГГц, 2 ГБ RAM)

Без симулятора и у меня Windows 7 летает на этом ноутбуке. Но непосредственно в ней версию R2007b не поставишь. Но вообще-то ТАКИЕ тормоза VMWare - это патология моей системы. Ну ладно бы в 10 раз медленнее...
Mikhail B.
[quote name='Hitest' date='Nov 10 2017, 22:23' post='1529238']
Всего лишь возможна? wink.gif ?? Примерно в 1998 г. я изучал теорию ЦОС, никаких практических примеров особо не было. Тогда я дорвался до Матлаба, еще версии под MS-DOS, и выяснил, что все основные виды фильтров там реализованы. Свертки, еще много чего нашел. Через 10 лет наверное хуже там уж не стало wink.gif
За наводку на книгу спасибо. Поищу в электронном виде, а лучше в бумажном в закутках магазинов.

Хахах. Нет, конечно более, чем возможна. Хоть много лет и прошло, а база то осталась. Наверно изменения там теперь заключаются только в том что что-то упрощается, теми же тулами, например. Можно автоматом фильтр сделать, а можно самому написать. Ну и возможности там расширяются.
Я даже когда-то давно считал что матлаб только и нужен что для ЦОС sm.gif
Делал записи через SDRSharp, читал их с диска, преобразовывал, фильтровал ну и в конце даже слушал и радовался wink.gif
Если нужно, могу поделиться кодом.
Hitest
Цитата(Mikhail B. @ Nov 17 2017, 20:20) *
Делал записи через SDRSharp, читал их с диска, преобразовывал, фильтровал ну и в конце даже слушал и радовался wink.gif
Если нужно, могу поделиться кодом.

То есть все-таки писали мелкие кусочки в файл, потом читали оттуда же и проигрывали?

Хотелось бы читать со звуковухи в память, там всё обрабатывать, и из памяти же выводить.

Но с моими огромными тормозами в симуляторе об этом не может быть и речи. В нем только математику изучать. А если поставить Windows XP прямо на железо, то придется расстаться с Касперским и следовательно отключить этот ноутбук от сети. Нехорошо.
Mikhail B.
Цитата(Hitest @ Nov 20 2017, 11:15) *
То есть все-таки писали мелкие кусочки в файл, потом читали оттуда же и проигрывали?


Ну примерно, если коротко rolleyes.gif Только sdrsharp-ом записывается весь baseband в wav формате, а после преобразований и фильтрации в матлабе я слышу голос диктора, условно говоря. Это маленький кусочек, небольшая запись. Она не в режиме реального времени.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.