Здравствуйте.
Помогите пожалуйста определится с алгоритмом помехоустойчивого кодирования.
Ситуация следующая: есть некая последовательность числа (в виде текста), одно устройство кодирует и передает это значение в виде DTMF сигнала, через динамик. Другое устройство принимает этот сигнал микрофоном на расстоянии, и декодирует его.
DTMF не отвечает требованиям надежной (и достоверной) передачи информации, по крайней мере в той среде, где мы это используем. А это, в свою очередь, передача информации в условиях уличного "незначительного" зашумления. Никто не измерял сколько dB, но тем не менее, вопрос в том, что от этого зашумления никак не уйти..
Так вот: информация в целом передается, но с очень большим количеством ошибок. Например передается строка 975398734343, а расшифровывается как 0075396673443 ... Если снизить скорость передачи, убрать шумы и увеличить длительность воспроизведения сигнала, тогда распознает вообще без ошибок. Хотелось бы отметить, что все алгоритмы реализованы верно, как на передатчике, так и на приемнике. Технически в подробности вдаваться не буду, т.к. это не тема данного вопроса. Еще стоит добавить, что приемник иногда ложно срабатывает просто на посторонние шумы.
Собственно вопросы:
1) Как добиться максимально правильной передачи информации, по звуковому каналу? Напоминаю: от динамика к микрофону, другие варианты не рассматриваются. 2) Какие алгоритмы реализовать, для помехоустойчивого кодирования? Стоит отметить, что обычные CRC и т.д., не особо помогают.. 3) Существуют ли реализации подобного рода? Стоит отметить, что DTMF не является обязательным способом, просто мы пошли по такому пути.. Возможно не верному..
Требования:
1) Максимально возможная скорость передачи данных, не в ущерб качеству распознавания сигнала. 2) Передача данных именно в обычной (звуковой) среде, от динамика к микрофону. 3) Реализация алгоритма помеха устойчивого кодирования.
p/s. Уже думал может можно увеличивать сигнал по частоте и считать, в определенный промежуток времени, по вектору нарастания звукового сигнала, - понимать, что пытается передать устройство. И CRC пытался применить.. Не помогает, процент верного распознавания в зашумленной среде, ну около 30. Помогите пожалуйста, хотя бы советом, куда копать, что сделать, как реализовать???
Заранее всем огромное спасибо!
Сообщение отредактировал devlater - Sep 24 2018, 21:31
|