Страница 1 из 1

Датчик звука

Добавлено: 21 июл 2012, 05:36
nomad3453
Здравствуйте!!! Суть проекта заключается в создании программы, которая с помощью микрофона определяет шум. Если он выше установленного, программа должна записывать этот шум в файл. Максимальный предел шума устанавливается переключателем, который определяет максимальную амплитуду данного шума. Посмотрите что у меня уже есть и доработайте запись в файл. Чтобы файлы не были такие короткие при кратковременном шуме, пусть оно записывает еще + 5 сек по окончании звука. За помощь буду очень благодарен.

Re: Датчик звука

Добавлено: 21 июл 2012, 08:33
Pavel Krivozubov
Странно, но у меня программа зависает спустя несколько секунд после запуска. :dntknw:

Re: Датчик звука

Добавлено: 21 июл 2012, 10:53
AndreyDmitriev
У меня тоже зависало (в Sound Input Read (DBL).vi), в основном если что-то ещё делать - мышкой там возить и т.п. Прошло после увеличения number of samples/ch с 4410 до 44100 (и в Sound Input Configure.vi тоже поменял).

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

Re: Датчик звука

Добавлено: 23 июл 2012, 02:33
nomad3453
Ты прав, лучше записывать еще до пика. Только как это сделать, вот в чем вопрос =) помогите, пожалуйста ......

Re: Датчик звука

Добавлено: 23 июл 2012, 08:55
IvanLis
nomad3453 писал(а):Ты прав, лучше записывать еще до пика. Только как это сделать, вот в чем вопрос =) помогите, пожалуйста ......
AndreyDmitriev писал(а):Сделайте сдвиговый регистр, в котором храните окно шума, при наступлении события сбрасывайте его в файл. Делать это лучше в отдельном цикле, перебрасывая шумовые данные через очередь, чтобы не тормозить цикл, получающий данные с микрофона.

Re: Датчик звука

Добавлено: 24 июл 2012, 07:06
nomad3453
IvanLis писал(а):
nomad3453 писал(а):Ты прав, лучше записывать еще до пика. Только как это сделать, вот в чем вопрос =) помогите, пожалуйста ......
AndreyDmitriev писал(а):Сделайте сдвиговый регистр, в котором храните окно шума, при наступлении события сбрасывайте его в файл. Делать это лучше в отдельном цикле, перебрасывая шумовые данные через очередь, чтобы не тормозить цикл, получающий данные с микрофона.
В словах вроде понятно, но я в LABVIEW не профессионал, поэтому прошу о помощи. Помигите плисссссссс =( Очень нужно

Re: Датчик звука

Добавлено: 24 июл 2012, 07:29
IvanLis
nomad3453 писал(а):В словах вроде понятно, но я в LABVIEW не профессионал, поэтому прошу о помощи. Помигите плисссссссс =( Очень нужно
Вопрос в чем???
Если только в том, кто за Вас это сделает, то Вам на биржу труда.

Профессионалами сразу не становятся...
Для этого нужно на собственном пузе проползти много-много километров LabVIEW проводников :D

Re: Датчик звука

Добавлено: 26 июл 2012, 02:10
nomad3453
IvanLis писал(а):Вопрос в чем???
Если только в том, кто за Вас это сделает, то Вам на биржу труда.

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

Re: Датчик звука

Добавлено: 26 июл 2012, 07:10
IvanLis
nomad3453 писал(а):я не знаю с чего начать ..... "Сделайте сдвиговый регистр, в котором храните окно шума" ...... как? где?
Начните в таком случае с поиска: labview сдвиговый регистр

Re: Датчик звука

Добавлено: 26 июл 2012, 09:02
nomad3453
IvanLis писал(а):Начните в таком случае с поиска: labview сдвиговый регистр
Читал, но не могу понять как он поможет мне в решению моей проблемы. = (Что пускать через сдвиговый регистр? Звук который получаю из микрофона? И что тогда с ним произойдет после сдвигового регистра?
AndreyDmitriev писал(а): перебрасывая шумовые данные через очередь

Как перебросить шумовые данные через очередь?
AndreyDmitriev писал(а): Делать это лучше в отдельном цикле, чтобы не тормозить цикл, получающий данные с микрофона.
все равно тормозит =(
AndreyDmitriev писал(а):У меня тоже зависало (в Sound Input Read (DBL).vi), в основном если что-то ещё делать - мышкой там возить и т.п. Прошло после увеличения number of samples/ch с 4410 до 44100 (и в Sound Input Configure.vi тоже поменял).
если увеличить, программа не отображает результат с нормальной частотой. = (


-------------------------- IvanLis --------------------------
Это не ЧАТ, это ФОРУМ! :evil:
Не надо каждые 5 минут писать сообщения, при необходимости можно отредактировать свое сообщение (исправить/добавить).

Re: Датчик звука

Добавлено: 26 июл 2012, 09:38
IvanLis
nomad3453 писал(а):все равно тормозит =(
если Вы не знаете как....
то почему утверждаете, что все равно тормозит
тормозить не может, т.к. данные обрабатываются в двух независимых-параллельных циклах
nomad3453 писал(а):Как перебросить шумовые данные через очередь?
labview queue
у Вас есть хоть какая-нибудь литература?
поищите на форуме, полно информации
посмотрите примеры например здесь

Вы понимаете, что Ваши вопросы вызывают смешанные чувства
с одной стороны человека, который издевается
с другой, человека который ничего не хочет делать, а ищет халявы
отсюда и такое отношение

Re: Датчик звука

Добавлено: 26 июл 2012, 10:04
AndreyDmitriev
nomad3453, на самом деле вы просто несколько непоследовательны. Вы взялись за относительно непростую задачку при отсутствии некоторых базовых знаний, без которых решить её (причём элегантно решить) для вас будет непросто. Это всё равно что взять в библиотеке "Горе от ума" на китайском и пытаться читать, вооружившись китайско-русским словарём.

Я вам вот что посоветую - найдите в сети курс LabVIEW Basic I и проштудируйте его как следует, выполняя упражнения. Затем возьмите лист бумаги и нарисуйте детальную блок-схему алгоритма. Задача разбивается на несколько поздадач - как накапливать приходящие данные, что делать при превышении уровня сигнала, учесть такие моменты, когда уровень превышен в течение долгого времени - тут надо продолжать запись в уже открытый файл, и т.д. Отображение сигнала - тоже отдельная тема - ведь если накапливать данные маленькими порциями и отображать их слишком часто, то нагрузка на ЦП естественно растёт. Следовательно надо поработать над балансировкой - найти оптимум, возможно вынести отображение из цикла заквата в накапливающий цикл.

Сделайте небольшие тестовые VI в LabVIEW, чтобы разобраться с массивами, записью в файл (и чтением), и т.д.

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

При этом можете постить сюда всё, что не очень получается - но с конкретными вопросами, а не "Посмотрите что у меня уже есть и доработайте запись в файл."

Re: Датчик звука

Добавлено: 26 июл 2012, 17:52
nomad3453
AndreyDmitriev писал(а):nomad3453, на самом деле вы просто несколько непоследовательны. Вы взялись за относительно непростую задачку при отсутствии некоторых базовых знаний, без которых решить её (причём элегантно решить) для вас будет непросто. Это всё равно что взять в библиотеке "Горе от ума" на китайском и пытаться читать, вооружившись китайско-русским словарём...
Возможно ты прав, но сейчас у меня нет сколько времени ... Проект надо отдать в середине сентября. Для того чтобы иметь хорошую оценку (которая повлияет на то буду я иметь степендию, или нет) мне захотелось сделать что-то приличное.

Я не просто прошу чтобы кто-то из вас мне сделал это, я пытаюсь, стараюсь, только не получается; поэтому прошу вашей помощи. Я не могу сейчас всьо бросить и начать делать что-то простое, я должен довести дело до конца. Помогите =(
IvanLis писал(а):если Вы не знаете как....
то почему утверждаете, что все равно тормозит
тормозить не может, т.к. данные обрабатываются в двух независимых-параллельных циклах
эту проблему я решил, торможение появилось после смены number of samples/ch с 4410 до 44100
IvanLis писал(а):Вы понимаете, что Ваши вопросы вызывают смешанные чувства
с одной стороны человека, который издевается
с другой, человека который ничего не хочет делать, а ищет халявы
отсюда и такое отношение
извините за то что вызываю у вас такие чувства, но я стараюсь =(

Re: Датчик звука

Добавлено: 27 июл 2012, 07:03
IvanLis
nomad3453 писал(а):Я не просто прошу чтобы кто-то из вас мне сделал это, я пытаюсь, стараюсь, только не получается; поэтому прошу вашей помощи. Я не могу сейчас всьо бросить и начать делать что-то простое, я должен довести дело до конца. Помогите =(
декомпозируйте задачу и начните ее решение поэтапно
задавайте более конкретные вопросы, тогда получите конкретные-полезные ответы и советы

у Вас пока вопросов НЕТ, по этому и ответов, которые могут Вам помочь НЕТ

Re: Датчик звука

Добавлено: 20 сен 2012, 10:48
nomad3453
В файле есть два цикла, один отвечает за запись в файл, а второй за все другие операции. Отдельно каждый из этих циклов работает, а вот когда бросаю их в одну программу то она зависает при записи(Record).