Микроконтроллеры | Оптимальный фильтр для манчестера с известными параметрами |
|
---|---|---|
Zandy, можно попробовать сделать что-то наподобие Уолша. Т.е. если кодовая посылка заранее известна, и ее просто требуется обнаружить, то продетектированный сигнал умножаете на ожидаемую кодовую посылку-шаблон (грубо говоря, там, где в шаблоне лог.1 - на единицу, там, где лог.0 - на минус единицу - в реальности это не совсем так) и накапливаете сумму. Есть ряд нюансов (в частности, со сдвигом фаз, нечетными гармониками и т.д.), но они все более-менее решаемые. |
|
|
Zandy: Дальнейшая обработка в микроконтролере пока не сделана, а весь буфер по USB сливается в компьютер, в котором и отрабатывается алгоритм наиболее оптимальной фильтрации. Сейчас реализовано текущее когерентное суммирование отсчетов с периодом корреляции точно равным длительности кодового слова. Далее происходит деление на количество суммирований. Джордж (GM) правильно вещает, что отношение сигнал/шум растет пропорционально квадратному корню из числа суммирований. Но неужели оптимальнее такой последетекторной обработки ничего придумать нельзя? По-моему, лучше делать когерентное накопление до любой обработки, до детектора по крайней мере, меньше будет проигрыш в осш. Ещё лучше выкинуть детектор нафик совсем и сделать квадратурную обработку в цифре, получите идеальный детектор и практически потолок осш. Да, делить не надо, зачем вам лишние хлопоты? И не вещаю я насчёт sqrt(snr), это известный факт, в литературе отражён. Что касается оптимального приёма модулированных радиоимпульсов в гауссовских шумах, то есть два подхода: согласованная фильтрация и коррелятор. Первый работает как бы в частотной области, второй во временной, теоретически они дают равное осш на выходе. Но требования к оборудованию различаются. Для согласованной фильтрации Кфильтра должен быть равен комплексно-сопряжённому спектру сигнала. Для коррелятора нужно иметь сигнал, когерентный с принимаемым. Естественно, что разные подходы приводят к разным реализациям да ещё с множеством компромиссов. Если кодовое слово остаётся постоянным, то могу предложить ещё один подход: коррелятор на полное накопленное кодовое слово. Получите максимум максиморум осш. Здесь недостаток один, но существенный - времени на обработку потребуется вагон. Zandy: Теперь по АМ детектору. Известно, что он обладает пороговыми свойствами и при малых отношениях с/ш на входе отношение с/ш на выходе катастрофически падает. Если я выкину АМ детектор и буду оцифровывать сигнал прямо на ВЧ с большой частотой дискретизации, какую оптимальную цифровую обработку можно предложить в этом случае? Ну так, используйте корреляционный приём, лучше всё равно нет. К концу накопления можно выделить местную когерентную несущую, обработать накопленный сигнал на корреляторе и получить, как я уже сказал, идеальный детектор и практически потолок осш. Zandy: Есть приемник с полосой пропускания по ВЧ, равной 1/То. То - длительность короткого импульса. На выходе амплитудного детектора также установлен подчищающий фильтр с полосой пропускания 1/2То. Тут у вас потери будут на длинных импульсах. Ещё одна мысль вслух, что можно залудить два коррелятора - на То и 2То и потом принимать решение, надо обдумать на досуге. Zandy: Манчестерская кодовая посылка является огибающей АМ модуляции сигнала, передаваемого по радиоканалу Всё, что здесь обсуждалось, никакого отношения к манчестеру не имеет, просто ключевая модуляция. |
|
|
Большое спасибо за ответы! |
|
|
Не против, чем смогу, помогу. Учти, меня тут активно выпихивают на курсы по программированию на с++, я упираюсь, но пойти придётся, ничего не поделаешь, это будет где-то примерно через месяц. |
|
|
Уже в каком-то топике я писал про современное решение RX : прямое преобразование ( два смесителя + - 90град.гет.) и на входы звуковой карты компа.. софта уже немало наработано. Лучше не сделать. Сейчас возможно залить программу с РС в совместимый одноплатный контроллер. |
|
|
2Zandy: Обсасывая предмет данного разговора на практике могу сказать что тут значительно проще изменить схему для увеличения дальности чем написать алгоритм на _подходящем_ микроконтроллере. Городить считыватель чуть ли на ARM9 смысла никакого нет. Значительно проще: увеличить окно антенны; поставить довольно сильный входной усилитель и фильтр второго-четвёртого порядка с планкой в 3-5 кГц. |
|
|
Wiza: увеличить окно антенны |
|
|
Увеличить активную рабочую зону. Обрати внимание что размер рамки антенны для считывания с расстояния сантиметров в 50-70 составляет примерно 25х40 см. При повышении Кус входного каскада приходится более жестко фильтровать сигнал. Ну а сам Кус, понятно, влияет на чувствительность. И внешние помехи в диапазоне 2 кГц - всеже большая редкость. Получается что использование полосового фильтра тут более правильно. |
|
|
Это не считыватель, точнее, не совсем считыватель. Что касается аналоговой части (антенны там всякие, усилители и пр.) - это совершенно другая тема, которую частично уже обсуждали. Здесь все резервы практически исчерпаны. Давайте не будем отвлекаться и будем рассматривать аналоговую часть только с точки зрения последующей наиболее оптимальной цифровой обработки. Речь идет об отношении с/ш в полосе 1/То меньшем или равным 1. Сложность и количество апаратурных затрат не пугает, т. к. ус-во не серийное, о цене комплектующих можно не заботиться. Стоимость трудоемкости разработки все равно будет много выше. |
|
|
каков "То" - сколько периодов несущей(125к) попадает в "один бит" и в "полную цифру". |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |