Форум программистов, компьютерный форум, киберфорум
Программирование звука
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/35: Рейтинг темы: голосов - 35, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 12.03.2018
Сообщений: 41

Передача информации по акустическому каналу

06.11.2019, 13:03. Показов 8446. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Передо мной стоит задача написать программу, которая позволяла бы двум ноутбукам обмениваться текстовой информацией при помощи звука. Как я сам вижу алгоритм для решения данной задачи: 1) Вводится текст; 2) Введенный текст преобразуется в двоичный код, например, по таблице Unicode; 3) Для 0 и 1 задаются определенные частоты; 4) В соответствии с заданными частотами создается и воспроизводится аудио-файл; 5) Второй ноутбук, выступающий в качестве приемника, должен принять аудио-файл с первого ноутбука и перевести его обратно в текст.
Собственно мой вопрос заключается в том, каким образом реализовать данный алгоритм? Для C# есть библиотека для работы со звуком nAudio, но у меня не получилось найти к ней нормальной документации.
Буду рад любым предложениям и мыслям по способам реализации данной задачи. Возможно кто-то с чем-то подобным уже сталкивался или видел какие-нибудь интересные статьи по этой тематике?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2019, 13:03
Ответы с готовыми решениями:

Передача знаков по каналу
Помогите пожалуйста решить такую задачку: По каналу связи передается 1500 знаков. Каждый знак может быть искажен с вероятностью 0.001....

Передача данных по дуплексному каналу связи
Добрый день, подскажите правильно ли решена задачи, если нет, то ткните носом где ошибка. Прошу помощи.:sorry: В системе передачи...

Передача пакетов по дуплексному каналу связи
В системе передачи данных производится обмен пакетами между пунктами А и В по дуплексному каналу связи (возможна одновременная передача...

41
36 / 11 / 1
Регистрация: 21.06.2020
Сообщений: 93
23.06.2020, 01:56
Студворк — интернет-сервис помощи студентам
Здравствуйте! Я стырил алгоритм 3G/4G кодирование сигнала формой амплитуды например
ГГГГГ=0
WWWWW=1
MMMMM=2
ППППП=3
и т.д. Подскажите пожалуйста какую форму сигнала лучше использовать чтобы передавать данные в шестнадцатеричном коде или еще лучше напрямую UFT-8.
Если взять форму сигнала вида NMWIV ГИЛПШ и перевернутая "П", "Ш", "Г" "V" "Л". И если взять 5 сэмплов за 1 то типо
NNNNN (5N) = 1
MMMMM (5M)=2
WWWWW (5W)=3
IIIII (5I) = 4
VVVVV (5V) = 5
ГГГГГ (5 Г)= 6
ИИИИИ (5И) = 7
ЛЛЛЛЛ (5Л) = 8
ППППП (5П)=9
ШШШШШ (5Ш) = A
ГГГГГ (5 перевернутых Г) = B
ШШШШШ (5 перевернутых Ш) = C
ППППП (5 перевернутых П) = D
VVVVV (5 перевернутых V) = E
ЛЛЛЛЛ (5 перевернутых Л) = F
NNNNNNNNNN (10 N)=0
MMMMMMMM (10 M)=начало пакета
IIIIIIIIII (10 I)=конец пакета
VVVVVVVVVV (10 V)=начало служебного запроса
VVVVVVVVVV (10 перевернутых V)=конец служебного запроса
ГГГГГГГГГГ (10 Г)=ошибка в предыдущем пакете
ИИИИИИИИИИ (10 И)=начало контрольной суммы
WWWWWWWWWW (10 W)=конец суммы
ЛЛЛЛЛЛЛЛЛЛЛЛ (10 Л)=конец передачи всех пакетов
и так можно кодировать вечно но я хочу найти оптимальный вариант подскажите пожалуйста какие формы сигнала наиболее оптимальны к помехам и как правильно таким образом кодировать. В 3G / 4G разбираюсь плохо. Спасибо
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6813 / 2053 / 238
Регистрация: 14.12.2014
Сообщений: 4,313
Записей в блоге: 12
01.02.2022, 00:50
[cut]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2022, 00:50
Помогаю со студенческими работами здесь

Передача текста по радио каналу(чат)
Задумал сделать передачу текста, предложений по радио каналу, нашёл исходники подправил под себя, но текст в терминале отображается...

Передача информации
Здравствуйте,скажите пожалуйста вот такая ситуация: создана БД Гостиница в ней 3 таблицы клиенты,заказы и проживание так вот диаграмма у...

Передача информации
Файл передается V=100 Кбит/c(сделать combobox с ед.измерения) Q=1 мб(сделать combobox с ед.измерения) t=? t=Q/V=1 мб/100 Кбит/c...

Передача информации
Здравствуйте.Программирую в C++/Qt Проблема состоит в передаче данных между формами.Мне нужно передать информацию введенную на Form1 в...

Передача информации из массива GET
<?php session_start(); if(isset($_GET)){ header('location: g1.php'); } ?> <form method="GET" action...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
42
Ответ Создать тему
Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru