Перейти к содержанию
    

Подскажите как улучшить декодер (11кГц)

8 минут назад, Mysteo сказал:

Это вместо ФНЧ ?

Нет, это вместо полосового фильтра . ФНЧ у вас остаётся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно тогда какой нибудь пример посмотреть, т.к не понятно , огибающая же как раз и получается через ПФ -> |модуль сигнала| - > ФНЧ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 минут назад, Mysteo сказал:

Ну вот сейчас я расширил полосу и если рядом музыка играет , то уже с ошибками передается. 

Ну конечно, потому что 11 кгц - это посередине качественного звукового вещания . 

 

3 минуты назад, Mysteo сказал:

А можно тогда какой нибудь пример посмотреть, т.к не понятно , огибающая же как раз и получается через ПФ -> |модуль сигнала| - > ФНЧ

ваши отсчёты с ацп -> умножаете на комплексный гетеродин 11 кгц , фильтруете ФНЧ , расчитываете модуль комплексного числа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, Lmx2315 said:

Ну конечно, потому что 11 кгц - это посередине качественного звукового вещания . 

 

Ну а поднимать частоту не хватит мощи у МК обработать все. В принципе сказано что при тишине в комнате должно все работать, это я уж так забегаю вперед. 
И плюс аудиосистема стареньких телефонов частоту близкой к 20кГц уже не может воспроизвести. 

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, Mysteo сказал:

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

Мощь МК не изменится , вы же не частоту обрабатываете на самом деле а полосу вашего сигнала а она как была так и осталась . 

К примеру , вы переносите ваш сигнал на 50Кгц , фильтруете аналоговым полосовым фильтром , потом оцифровываете также как сейчас - получаете свою палку в цифровом мире на частоте 6 Кгц и дальше спокойно обрабатываете.

з.ы. но надо чтобы ваша аналоговая цепь была расчитана пропустить до АЦП сигнал на частоте 50 КГц .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, Lmx2315 said:

Мощь МК не изменится , вы же не частоту обрабатываете на самом деле а полосу вашего сигнала а она как была так и осталась . 

 

Чтобы перенести сигнал на 50кГц , нужна частота дискретизации минимум 100кГц.  А при 100кГц дискретизации в реальном времени уже не хватает скорости даже на полосовой фильтр 23 порядка.

Сейчас 11кГц и частота дискретизации 44кГц. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, Lmx2315 said:

К примеру , вы переносите ваш сигнал на 50Кгц , фильтруете аналоговым полосовым фильтром , потом оцифровываете также как сейчас - получаете свою палку в цифровом мире на частоте 6 Кгц и дальше спокойно обрабатываете.

 

Не заметил что Вы про аналоговый фильтр говорите. Так то я понимаю , что железно можно было все улучшить. Но динамики телефонов все равно расчитаны до 19кГц . Край 20кГц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, Mysteo сказал:

Не заметил что Вы про аналоговый фильтр говорите. Так то я понимаю , что железно можно было все улучшить. Но динамики телефонов все равно расчитаны до 19кГц . Край 20кГц

Надо выбрать самую ненагруженую часть речевого диапазона тогда. Люди не все частоты любят одинаково сильно.

Или сделайте два микрофона , один для смеси Ваш сигнал + шум , другой просто для внешнего шума .

И вычитайте одно из другого перед обработкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да возможно, не самый приятный звук при 11кГц получается, тоже будем выбирать в зависимости от скорости работы. Для более низких частот и baudrate занижать придется. 
Сначала думал, что готовое решение найду в каких-нибудь открытых проектах, но ничего не нашел под Arm . Зато для WEB полно реализаций, вот например https://quiet.github.io/quiet-js/ 
Но не очень стабильна, на каких то телефонах работает через Audible а на каких-то через UltraSonic

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все равно сейчас декодер больно сильно зависит от амплитуды поступающего сигнала. 
А если сделать , чтобы он детектировал присутствие частоты и мог измерять количество периодов , то намного бы лучше все работало. 
Вот пример, на данной осциллограмме динамик был близко к микрофону  и детектор отркботал как надо.
image.png.bc4eac0d6cfa9e9d3da5c572080f5128.png

А в другом случае если звук тише , то на выходе детектора  уже ничего не видно
притом если смотреть сигнал до ФНЧ , то там все впорядке, то есть после полосового фильтра нету потерь никаких да и радрядности АЦП хватает с головой .
image.png.2009be597004705311400511cce240c7.png:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, Mysteo said:

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

Может быть FSK стоит рассмотреть? Перед частотным детектором сигнал можно нормализовать по амплитуде, а сам частотный детектор сделать в примитивной форме путем умножения отсчета на задержанный предыдущий. После детектора согласованный c длительностью посылки фильтр - коэффициенты все единицы, умножения делать не нужно. Потом порог и принятие решения 0 или 1. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нормализация это компрессия ? Вот что то такое у меня в голове и вертелось, но я что-то не понимаю как это делать. И было бы не плохо рассмотреть какой нибудь пример. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Mysteo said:

Нормализация это компрессия

Вещественную и мнимую часть комплексного отсчета делите на величину модуля этого отсчета sqrt(I^2 + Q^2). 
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/10/2019 at 11:24 AM, Mysteo said:

Нормализация это компрессия ? Вот что то такое у меня в голове и вертелось, но я что-то не понимаю как это делать. И было бы не плохо рассмотреть какой нибудь пример. 

http://ru.dsplib.org/content/signal_fm_demod/signal_fm_demod.html

Рисунок 3

да и предыдущие статьи про FSK посмотрите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Недавно закончил делать очень похожую задачу, были такие же проблемы, в итоге лучше всего заработала АИМ (1 - есть передача несущей, 0 - нет) .  Самое интересное когда все заработало- купил книгу Скляра и там многие мои "изобретения" хорошо описаны :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...