|
Декодирование FSK, посоветуйте алгоритм |
|
|
|
Jun 24 2005, 08:34
|
Группа: Новичок
Сообщений: 5
Регистрация: 23-06-05
Пользователь №: 6 258

|
Через мировой эфир передается цифровой сигнал со скоростью 333 бод, используя частотную манипуляцию без разрыва фазы. 1000Гц единичка, 1333Гц нолик (значения частот приблизительные, точные не помню). В начале посылки длинная преамбула 10 единичных бит. Сейчас для декодирования этой посылки используется ФАПЧ настроенный на 1167Гц. Так вот! Есть мысль, что используя цифровую обработку этой посылки, можно существенно повысить вероятность правильного приема, сильно обезображенной эфирными помехами посылки. Так ли это? И если так то какие алкогоритмы лучше применить? Корреляционный когерентный метод спасет меня? Или по сравнению с ФАПЧ не будет ни какого выигрыша?
Сообщение отредактировал Dmitry_R - Jun 29 2005, 11:13
|
|
|
|
|
 |
Ответов
|
Jul 4 2005, 18:51
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Dmitry_R @ Jun 24 2005, 11:34) Через мировой эфир передается цифровой сигнал со скоростью 333 бод, используя частотную манипуляцию без разрыва фазы. 1000Гц единичка, 1333Гц нолик (значения частот приблизительные, точные не помню). В начале посылки длинная преамбула 10 единичных бит. Сейчас для декодирования этой посылки используется ФАПЧ настроенный на 1167Гц. Так вот! Есть мысль, что используя цифровую обработку этой посылки, можно существенно повысить вероятность правильного приема, сильно обезображенной эфирными помехами посылки. Так ли это? И если так то какие алкогоритмы лучше применить? Корреляционный когерентный метод спасет меня? Или по сравнению с ФАПЧ не будет ни какого выигрыша? Следующий метод приема будет гораздо эффективнее такой примитивной ФАПЧ. 1. Чисто умозрительно представим сигнал в виде суммы двух сигналов с разными несущими. 2. Умножаем сигнал на exp(jW1t) и exp(jW2t), где W1 и W2 - несущие частоты. 3. Выделяем комплексные огибающие сигналов с этими несущими с помощью ФНЧ, согласованного с огибающей элементарной посылки. 4. Находим модули комплексных огибающих для частот W1 и W2. 5. С помощью сравнения выясняем, какой сигнал доминирует. 6. На основе получаемых данных создаем систему временной синхронизации для точного выделения бодовых интервалов. 7. С бодовой частотой (333 Гц) производим выборку (децимацию) в моменты, соответствующие ожидаемым максимумам доминирования одного сигнала над другим, и это все. К этому можно добавить, что такой метод близок к оптимальному для большинства каналов, хотя и не содержит таких полезных вещей, как адаптивный эквалайзер, АРУ и др., которые при желании можно добавить. Для уменьшения вычислительных затрат необходимо правильно выбрать частоту дискретизации. В вашем случае это 4000 Гц. При этом вполне приличный приемник можно сделать даже на AVR микроконтроллере, не говоря уже об ARMе.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jul 25 2005, 07:05
|
Группа: Новичок
Сообщений: 5
Регистрация: 23-06-05
Пользователь №: 6 258

|
[quote=Stanislav,Jul 4 2005, 21:51] [/quote] Следующий метод приема будет гораздо эффективнее такой примитивной ФАПЧ. 2. Умножаем сигнал на exp(jW1t) и exp(jW2t), где W1 и W2 - несущие частоты. 3. Выделяем комплексные огибающие сигналов с этими несущими с помощью ФНЧ, согласованного с огибающей элементарной посылки. [/quote] Станислав, а поясни пожалуйста что значит умножить на exp? 2. input(n) = input(n) * exp(j*2*PI*F1*n/Fs) 3. out_one(n) = SUM (input(m) * exp(j*2*PI*F1*m/Fs)) сумма от m = n до n + N1. Где F1 - частота 1, Fs - частота дискретизации, input(n) - входная выборка, N1 - количество отсчетов на бит. Я правильно понял? Если да, то зачем умножать входную последовательность? Я смоделировал выше описанное (без п.2) в матлабе. Нормально получилось, но хочется большего.  ) Может я не учел какие-нибудь тонкости? Во вложенном файле Матлабовский проект.
|
|
|
|
|
Jul 25 2005, 23:05
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Dmitry_R @ Jul 25 2005, 10:05) Цитата(Stanislav @ Jul 4 2005, 21:51) Следующий метод приема будет гораздо эффективнее такой примитивной ФАПЧ. 2. Умножаем сигнал на exp(jW1t) и exp(jW2t), где W1 и W2 - несущие частоты. 3. Выделяем комплексные огибающие сигналов с этими несущими с помощью ФНЧ, согласованного с огибающей элементарной посылки. Станислав, а поясни пожалуйста что значит умножить на exp? 2. input(n) = input(n) * exp(j*2*PI*F1*n/Fs) 3. out_one(n) = SUM (input(m) * exp(j*2*PI*F1*m/Fs)) сумма от m = n до n + N1. Где F1 - частота 1, Fs - частота дискретизации, input(n) - входная выборка, N1 - количество отсчетов на бит. Я правильно понял? Если да, то зачем умножать входную последовательность? Я смоделировал выше описанное (без п.2) в матлабе. Нормально получилось, но хочется большего.  ) Может я не учел какие-нибудь тонкости? Во вложенном файле Матлабовский проект. Вы совершенно правильно поняли суть проблемы. Ваше действие: 3. out_one(n) = SUM (input(m) * exp(j*2*PI*F1*m/Fs)) есть эквивалентное моим пунктам 2 + 3 пребразование, но только в случае прямоугольной огибающей элементарной посылки. Просто в технической литературе часто эти два действия приводят порознь для лучшего восприятия, а при реализации, конечно, конструируют комплексные фильтры подобно Вашему. При этом умножение на комплексную экспоненту, естественно, не нужно - оно заложено уже в структуре фильтра. Небольшое непонимание возникло лишь из-за того, что я говорил о ФНЧ, согласованного именно с огибающей, т.е. формой волнового пакета посылки. Если она прямоугольная, то Ваш комплексный фильтр будет будет близок к оптимальному, но только для определенного вида шумов (напр., гауссов белый шум). Дальнейшее улучшение достоверности декодирования может быть произведено путем "работы с шумом", а именно: измерение статистики шума, построение шумового профиля, построения "выбеливающего" шум фильтра, обработка сигнала этим фильтром, модификация приемного комплексного фильтра в соответствии с шумовым профилем и только после этого декодирование. Боюсь, что эта процедура Вам не подойдет не только из-за своей навороченности, сколько в связи с ее малым выигрышем по сравнению с предыдущим методом для большинства реальных шумов (большой выигрыш получается например, в случае мощной узкополосной помехи). Кроме того, в случае нестационарных шумов она может даже увеличить вероятность ошибок. Тема борьбы с шумами, однако, выходит за рамки форума, поскольку она всеобъемлюща. P.S. Вашу модель не посмотрел - нет времени. Как посмотрю - отвечу.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
Сообщений в этой теме
Dmitry_R Декодирование FSK Jun 24 2005, 08:34 bmf Насчет выигрыша с ФАПЧ не знаю, но сам метод и алг... Jun 24 2005, 11:27 proxi Цитата(bmf @ Jun 24 2005, 13:27)Насчет выигры... Jun 25 2005, 09:42 Fast Цитата(Dmitry_R @ Jun 24 2005, 11:34)Через ми... Jun 27 2005, 12:12 Dmitry_R Цитата(Fast @ Jun 27 2005, 15:12)Цитата(Dmitr... Jun 29 2005, 06:14 vm1 Цитата(Dmitry_R @ Jun 24 2005, 11:34)Через ми... Jun 27 2005, 14:35 Fast Цитата(vm1 @ Jun 27 2005, 17:35)Так не бывает... Jun 27 2005, 15:06 Tommyknocker Цитата(vm1 @ Jun 27 2005, 17:35)Цитата(Dmitry... Jun 27 2005, 19:36  Dmitry_R [/quote]
Так не бывает при FSK, несущая здесь мен... Jun 29 2005, 05:52 Fast Цитата(Stanislav @ Jul 4 2005, 21:51)Следующи... Jul 5 2005, 10:07  Stanislav Посмотрел матлабовский файл, добавил замечания. Си... Jul 26 2005, 16:45 moonrock to Stanislav: а можно подробнее узнать о 6 пункте
... Jul 9 2005, 12:51 Stanislav Цитата(moonrock @ Jul 9 2005, 15:51)to Stanis... Jul 9 2005, 15:00 moonrock Спасибо за ответ, интересный способ!
У меня за... Jul 11 2005, 08:29 Stanislav Цитата(moonrock @ Jul 11 2005, 11:29)Спасибо ... Jul 11 2005, 15:16  vm1 Я из огибающих x и y для FSK получал сигнал по
фо... Jul 11 2005, 16:05   Stanislav Цитата(vm1 @ Jul 11 2005, 19:05)Я из огибающи... Jul 11 2005, 18:07    vm1 X и Y фильтрованные компоненты после
перемножения ... Jul 12 2005, 09:59     vm1 Поправка: разницу между текущим и немного задержан... Jul 12 2005, 10:01     Stanislav Цитата(vm1 @ Jul 12 2005, 12:59)X и Y фильтро... Jul 12 2005, 12:02 Tommyknocker Цитата(moonrock @ Jul 11 2005, 11:29)Спасибо ... Jul 11 2005, 19:26  Stanislav Цитата(Dsurkov @ Jul 11 2005, 22:26)... После... Jul 12 2005, 12:16   Tommyknocker Цитата(Stanislav @ Jul 12 2005, 15:16)Цитата(... Jul 12 2005, 17:56    Stanislav Цитата(Dsurkov @ Jul 12 2005, 20:56)В данном ... Jul 13 2005, 14:58 moonrock Спасибо всем за ответы!
Мне очень понравился... Jul 13 2005, 10:20 Tommyknocker Цитата(moonrock @ Jul 13 2005, 13:20)Спасибо ... Jul 13 2005, 19:18
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|