[an error occurred while processing this directive] [an error occurred while processing this directive]
На самом деле, для вполне правильного алгоритма достаточно 2-4 умножения на выборку.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено kons 27 мая 2002 г. 21:23
В ответ на: Спасибо всем ответившим по приему FSK на "Вопрос к общественности (help !) - " - ниже. отправлено OOO 27 мая 2002 г. 15:49

И при скорости 1200 (достаточно частоты дискретизации 9600)такой алгоритм можно реализовать на 51 с 2 MIPS, а уж на ATmega с новым ядром - вообще без проблем. Алгоритм описан в любом мало-мальски приличном учебнике по радиоприемным устройствам.
Суть алгоритма (оптимальный асинхронный демодулятор) следующая:
1.Выборки входного сигнала Xk поступают в 2 канала. В одном из них они умножаются на cos с частотой 1500 Гц, в другом - на sin той же частоты (синтезируются по короткой таблице). Получаются REk и IMk.
2.Сигналы REk и IMk фильтруются одинаковыми фильтрами типа скользящего среднего длиной чуть меньше битового интервала (1/1200с).
Такие фильтры умножений не требуют. Получаем сигналы FREk и FIMk.
3.FREk и FIMk поступают в линии задержки длиной ровно один битовый интервал каждая. Поэтому в каждый момент доступны как текущие значения FREk и FIMk, так и задержанные DFREk и DFIk.
4.По знаку выражения FREk * DFIMk - FIMk * DFREk принимается решение о текущем принимаемом бите - 0 или 1.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru