Например TDA7294

Форум РадиоКот • Просмотр темы - Амплитуда сигнала на выходе звуковой карты
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 27, 2024 12:45:47

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Сб дек 16, 2023 07:46:47 
Встал на лапы

Зарегистрирован: Вс янв 08, 2023 06:21:42
Сообщений: 97
Рейтинг сообщения: 0
Вложение:
Вложение WebCamGen_2.jpg больше недоступно.
В предыдущей теме "Инфразвук (создание буфера данных и воспроизведение)" viewtopic.php?f=24&t=187325 я решил проблему генератора инфразвука, но сейчас возникли проблемы с вэбкамерой, т.к. скорость перемещения интерференционных полос по матрице вэбкамеры при проведение новых экспериментов с моим интерферометром оказалась очень большой и вэбкамера со скоростью записи 30 кадров в секунду (fps ) не может зафиксировать движение полос. Тогда я приобрел две более-менее скоростные вэбкамеры ELM-USBFHD01M-SF https://aliexpress.ru/item/100500314519 ... 4339533247 , которая может писать 120 fps и ELM-USBGS800P03-KL16 https://aliexpress.ru/item/100500607863 ... 733epc13h4 , которая использует глобальный затвор и поэтому может записывать 640 fps форматом MJPEG (для картинки 160*120) и даже 480 fps форматом YUY2 (для картинки 160*120).

И тут возникла еще и другая проблема - моя программа, написанная с использованием VideoForWindows, т.е. VfW (avicap32.dll), работает только с форматом данных YUY2, но он не может обеспечить высокую скорость передачи данных. Тогда мне пришлось написать еще и код с использованием DirectShow (quartz.dll), где можно использовать и формат MJPEG.. Сейчас моя программа выглядит так, как изображено на скриншоте, а скачать исходный код на языке Visual Basic 6 вместе с исполняемым файлом можно здесь http://modsys.narod.ru/Prog/Prog_Prog/WebCamGen.rar (в архиве есть библиотека FSFWrap.dll, которая нужна для работы с DirectShow. Ее надо поместить в папку C:\Windows\System32 и потом зарегистрировать).

Изображение

Но, в связи с тем, что после того как буферы с данными инфразвука запущены на воспроизведение, я не могу контролировать работу компьютера, а я не уверен, что буферы будут воспроизводиться периодически точно через 1 секунду, у меня сейчас возникла новая проблема. Ведь, если буферы будут воспроизводиться не через 1 секунду, а через 1, 001 секунды, то меня уже это не устроит, т.к. при многократном повторение звука, например, 100 раз погрешность составит уже 0,1 секунды. Поэтому я сейчас ищу способ как проконтролировать время воспроизведения буферов звуковых данных, а еще лучше как узнать амплитуду сигнала в тот момент, когда я через заданный период времени делаю снимок с вэбкамеры.

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

С наилучшими пожеланиями Сергей Юдин.


Вложения:
WebCamGen.rar [100.14 KiB]
Скачиваний: 16


Последний раз редактировалось Ser100 Сб дек 16, 2023 09:50:32, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Сб дек 16, 2023 09:11:42 
Встал на лапы
Аватар пользователя

Карма: 2
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 102
Рейтинг сообщения: 0
А никак не узнаешь, ведь в любой момент может вмешаться микшер, который у Windows программный. Только делать дополнительную железку, которая будет контролировать сигнал на выходе и возвращать уровень обратно в комп по любому из доступных цифровых каналов (например, USB). Контроль уровня через встроенный в звуковую карту АЦП тоже не даст гарантированного результата.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Сб дек 16, 2023 09:37:37 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 3479
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 17594
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
А с учётом того, что в вынде невозможно точно управлять квантование процессов, то и выдержать синхронизацию с заполненной точностью не получится.

Для решения подобных задач требуется аппаратно- программный комплекс.

Да собственно, подобную названной здесь задачу, моим знакомым разработчикам удалось решить именно за счёт проведения первичной обработки и оцифровки сигналов на внешнем аппаратном многоканальном обработчике.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Сб дек 16, 2023 10:12:58 
Встал на лапы

Зарегистрирован: Вс янв 08, 2023 06:21:42
Сообщений: 97
Рейтинг сообщения: 0
А с учётом того, что в вынде невозможно точно управлять квантование процессов, то и выдержать синхронизацию с заполненной точностью не получится.

Я понял, что управлять процессом вывода звука я не могу. Но, хоть узнать какая была амплитуда сигнала при записи картинки я могу ? И, если, после проведения эксперимента, выяснится, что рассинхронизации не было, то эксперимент можно будет признать корректным. А, если выяснится, что период звукового сигнала будет отличаться от периода с которым будет записываться картинка, но будет стабильным, то можно будет подкорректировать или периодичность записи картинок или период синусоиды при заполнение буфера данных.

С наилучшими пожеланиями Сергей Юдин.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Сб дек 16, 2023 12:27:58 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 3479
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 17594
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Ну так если задача не стоит в выделении артефактов из потока, то вполне можно использовать статистический подсчет,и например, со скользящем интервалом.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Сб дек 16, 2023 19:42:37 
Потрогал лапой паяльник
Аватар пользователя

Карма: 7
Рейтинг сообщений: 40
Зарегистрирован: Пт дек 11, 2015 12:56:49
Сообщений: 315
Откуда: Ростов на Дону
Рейтинг сообщения: 0
DirectShow имеет временные метки для каждого фрейма. Т.е. можно синхронизировать камеру и звук.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Вс дек 17, 2023 13:18:29 
Встал на лапы

Зарегистрирован: Вс янв 08, 2023 06:21:42
Сообщений: 97
Рейтинг сообщения: 0
DirectShow имеет временные метки для каждого фрейма. Т.е. можно синхронизировать камеру и звук.


А вы не могли бы дать ссылки на несколько примеров определения этих меток ?

С наилучшими пожеланиями Сергей Юдин.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Пн дек 18, 2023 11:43:38 
Встал на лапы

Зарегистрирован: Вс янв 08, 2023 06:21:42
Сообщений: 97
Рейтинг сообщения: 0
Нашел несколько примеров работы с функцией waveOutGetPosition, которая выдает номер позиции в буфере, который сейчас воспроизводится, Proect_1 и Proect_3. В первом примере все более-менее понятно. Там загружаются в 5-ть буферов по 0,1 секунды данные из файла wav и через 0,1 секунды от таймера берется текущая позиция и выводится в горизонтальную полосу прокрутки. Не понятно только зачем и там и там 0,1 секунды. А во втором примере данные берутся со звуковой карты, где воспроизводятся любые звуки и размер кода там гораздо меньше (если выкинуть графику, которая мне не нужна), но там используется библиотека от языка программирования VB7 Classic (это тот же VB6, но для работы на современных компьютерах) а вот с ней у меня программа отказывается работать. А мне бы хотелось использовать код именно 2-го примера. Поэтому буду признателен, если мне помогут разобраться с этим кодом.

Этот пример привел сам разработчик языка VB7 Classic (Olaf Schmidt) , который обсуждает проблемы создания этого языка вот здесь https://www.vbforums.com/showthread.php ... rue-VB-7-0) , а нужную для работы этого примера библиотеку vbRichClient5.dll я скачал вот отсюда https://vbrichclient.com/#/en/Downloads.htm (я ее тоже прикреплю как архив vbRC5BaseDlls.zip). Вот только у меня этот код не работает, т.к. при запуске программа выдает ошибку уже в 3-ей строчке, где объявляет новые объекты. Я думал, что это потому, что библиотека vbRichClient5.dll не зарегистрирована, но программа отказывается работать и после того, как я ее регистрирую с использованием скрипта, который распространяется вместе с этой библиотекой (я его положил в папку с проектом, а также на всякий случай положил и файл манифеста). Кстати, стандартной регистрацией из командной строки с использованием того же файла regsvr32.exe почему то не получается зарегистрировать эту библиотеку. В общем, я тут совсем не понимаю, что надо делать.

С наилучшими пожеланиями Сергей Юдин.

Добавлено after 22 minutes 24 seconds:
Не могу загрузить на форум Proect_3 и vbRC5BaseDlls.zip (наверное, потому что они больше 1 МБ). Вот ссылки на них на моем сайте

http://modsys.narod.ru/Prog/Prog_Prog/Proect_3.rar
http://modsys.narod.ru/Prog/Prog_Prog/vbRC5BaseDlls.zip

С наилучшими пожеланиями Сергей Юдин.


Вложения:
Proect_1.rar [108.31 KiB]
Скачиваний: 17
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Амплитуда сигнала на выходе звуковой карты
СообщениеДобавлено: Сб дек 23, 2023 07:40:06 
Встал на лапы

Зарегистрирован: Вс янв 08, 2023 06:21:42
Сообщений: 97
Рейтинг сообщения: 0
Всем спасибо. Вопрос решился с использованием функции waveOutGetPosition .

С наилучшими пожеланиями Сергей Юдин.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y