[an error occurred while processing this directive] [an error occurred while processing this directive]
Спасибо всем ответившим по приему FSK на "Вопрос к общественности (help !) - " - продолжение.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено OOO 28 мая 2002 г. 12:08

========
На самом деле, для вполне правильного алгоритма достаточно 2-4
умножения на выборку

И при скорости 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.

*** Не совсем понятно, откуда частота 1500 и почему одна? Если не трудно, дайте ссылку на литературу, где все это описано, а еще лучше на ИНЕТ

========
Видать на TI так и не сходили.

А то увидели бы, что умножений там нужно всего несколько штук да
и делают их в основном свигом и справляется с этим простой MSP
без встроенного умножителя и остаеться у него еще уйма времени.

*** Сходил, посмотрел. В spra347.pdf на стр.18 предложено вычислять что-то вроде свертки входного сигнала т.е. пермножать между собой два синуса: s(n)*s(n-k)=A^2*sin(2*pi*F*Te*n)*sin((2*pi*F*Te*(n-k)), где Te - период дискретизации. Откровенно говоря не знаю, как обойти эту проблему при отсуствии аппаратного умножителя и дефиците времени. Посоветуйте что-нибудь.

========
В чём по твоему выражается плохая помехоустойчивость 1 типа
алгоритмов ?

Кстати а какие частоты 0 и 1 ?

*** Это "не интегральный" способ приема, поэтому любая импульсная помеха приведет к ошибке определения периода.

0 = 1300Гц
1 = 2100Гц



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

Ответы



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

E-mail: info@telesys.ru