Jump to content

    
Sign in to follow this  
Zeal0t

обработать данные с амплитудной манипуляцией

Recommended Posts

добрый день

имеется передатчик, который отправляет на частоте 29 кГц или 12 кГц некоторые данные. передача идет через антенну. передача формируется как старт-бит, 8 бит данных, стоп бит. скорость передачи 75bps. биты 0/1 формируются как амплитудная модуляция (если я правильно выражаюсь): есть генерация частоты на передатчике - передача логической 1, нет генерации частоты - передача логической 0. пауза между байтами не менее 1.5 байта.  
на приемнике я вижу эту генерацию, вижу паузы в генерации.
выборка выполняется с ацп на частоте 62.5 кГц. при окне 128 байт удалось получить определять через БПФ или алгоритм герцеля текущую рабочую частоту передатчика. так, при работе на 29кГц, на 120 отсчете БПФ видно максимальную амплитуду, что соответствует частоте 29541. близко к оригиналу, но такое получилось  дробление  в БПФ.
далее необходимо демодулировать сигнал в цифровой вид. я предполагаю делать по 84 выборки из исходного сигнала, усреднять эти 84 выборки, собирать усреднения в массив из 10 элементов. таким образом при скорости передачи 75bps и соответственно времени передачи 1 бита ~13.33ms имеем на приемнике усреднение по 84 выборкам и сбор 10 значений усреднения за 13.44ms при частоте выборок 62.5kHz. затем как то на основании min/max значение полученных с ацп "прикручивать" к этим выборкам алгоритм разбора 0/1 и упаковку это в байт. в приблизительном варианте это даже как то работает.
но закрались сомнения что это хоть и работает, но возможно есть более правильные методы разбора такого сигнала? посоветуйте что почитать, посмотреть?
и еще один вопрос. как то точно или косвенно можно ли на основании данных полученных после БПФ вычислить уровень сигнала? т.е. если передатчик находится на расстоянии 1м от приемника и на расстояние 3м от приемника это значение можно было как то получить/вычислить?

если что то сумбурно или не досказал - отвечу, замеряю, отрисую )

приложил 2 изображения: внешний вид сигнала как я его вижу при чтении с АЦП и результат БПФ с пиком в 120 отсчете.

спасибо.

 

drill-fft.png

drill-sygnal.png

Share this post


Link to post
Share on other sites

Я в приемнике с квадратурным гетеродином просто для каждого отсчета вычисляю амплитуду как сумму квадратов I и Q компонент. В принципе более правильно вычислять еще и корень, но мне для декодирования модуляции прямоугольным сигналом этого не нужно. А дальше уже ФНЧ с децимацией, и потом обработка НЧ сигнала.

Да, еще для АРУ с задержкой накапливаю некоторое время все квадраты I и Q, после чего результат (мгновенную амплитуду) делю на накопленную мощность

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this