Обработка сигналов (декодирование по азбуке Морзе) с помощью приложения Android - PullRequest
3 голосов
/ 01 сентября 2011

Я сделал тестовое приложение в Delphi, которое подает азбуку Морзе, используя функцию звукового сигнала Windows API.Затем сделал приложение в Android, которое хранит этот азбуку Морзе в файле WAV.Теперь я хочу, чтобы приложение Android расшифровывало азбуку Морзе.Есть ли какие-то учебные пособия по обработке звука или кто-то может выложить простой код (думаю, здесь нет простоты) для примера?Или, может быть, шаги, которые мне нужно сделать, чтобы это заработало?

Я также скачал библиотеки JTransforms и jfttw, но не знаю, с чего начать.

С уважением, evilone

Ответы [ 2 ]

4 голосов
/ 01 сентября 2011

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

3 голосов
/ 01 сентября 2011

Я думаю, что в старых выпусках журнала QST была статья о DSP для декодирования Морзе / CW несколько лет назад. Возможно, стоит попробовать поискать в их архивах.

По сути, вам нужен код DSP, чтобы определить, присутствует ли тональный сигнал в любой данный момент времени, а также оценить время начала и окончания каждого тона. Затем масштабируйте длительность каждого тона и промежутки времени между тонами для ожидаемой скорости кода и сравнивайте их с таблицей временных интервалов для каждой буквы кода Морзе, чтобы оценить вероятность присутствия каждой или любой буквы.

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

...