Jump to content

    

Абырвалг

Участник
  • Content Count

    80
  • Joined

  • Last visited

Everything posted by Абырвалг


  1. В одном из режимов синхронный детектор таки применяется. DSP с этой задачей сейчас справляется.
  2. Это понятно. Диапазон частот широк, частоты квантования будут разные. Где уж сколько получится. Наш аналоговый эксперт выразил сомнение, что получится не хуже. :) Возможно он и не прав. Если делать на ключах, гармоники гетеродина всё не загадят? У конкурентов, у которых гетеродин внешний, схема до АЦП уж больно монструозная. Нет, магнитное поле.
  3. Спасибо! Надо чем меньше, тем лучше, ибо аккумуляторное питание. Т.е. всякие излишества изрядно жрут, даже если их не использовать?
  4. Наконец получилось вернуться к вопросу. Взял нынешний прибор, частота семплирования примерно 100 кГц, 24 бита. Отбросил младшие 14 бит, т.е. осталось 10 бит. Фильтр тот-же, с полосой пропускания 6 Гц. По формуле шумы квантования должны уменьшится на 10*log(100k/2/6) = 39 дБ. Подавал на вход сигнал в полосе, смотрел что на выходе. До -60 дБ линейность присутствует, дальше всё валится. Т.е. 10 бит работают, а как сигнал становится меньше младшего бита, на выход он почти не пролазит. Возможно, если подмешивать шум, удалось бы получить больше 60 дБ. Но заниматься этим заведомо ухудшая характеристики, чтобы отказаться от 24 битного АЦП - безумие. Тем более 6 Гц только в одном режиме, в других полоса шире на порядки. В целых числах. Сейчас два процессора: DSP и микроконтроллер. Хочется с добавлением FPGA от одного микроконтроллера отказаться, и один M3 тут не справится.
  5. Я легко признаю, что несколько туповат. Но я всё равно не понимаю. Можете объяснить "особо одарённым"?
  6. Я, если честно, не понял что Вы написали. Полезный сигнал может быть в диапазоне от 25 Гц до 200 кГц. Амплитудой от 0 дБ до -120 дБ. Как это сделать на 13-и битном АЦП я не понимаю. Причём низкие и высокие частоты иногда надо фильтровать одновременно. Сейчас, например, 50 Гц и 30 кГц вместе фильтруются.
  7. Сильно нежелательно. Это наше конкурентное преимущество. Бывают сильные внеполосные помехи и там где конкуренты попроще "превращаются в тыкву", наш прибор продолжает работать. Опять-же это усложнение аналоговой части.
  8. Слово "радио" в этот топик вы привнесли. Входные сигналы в диапазоне 120 дБ сколькими битами цифровать? Спасибо! Посмотрим. Да, тоже присматриваемся. Очень интересно смотрится. Только, вроде там похуже с софтом, отладками и сообществом?
  9. Есть такой вариант. Но будет ли это проще/дешевле/менее жруче - ХЗ. Ещё надо генерить некий комплект сигналов для генератора, который в этом приемнике тоже присутствует. Сейчас это чудом удалось сделать на нескольких PWM-ах, которые в C2000 достаточно развитые. Как это сложится на другом процессоре не понятно, и даже пробовать не хочется. И ПЛИС-ина тут, думается, была бы кстати. Целочисленный. Просто понизить поток.
  10. У приёмника предполагаются несколько функций. На самом деле сейчас эти функции выполняют два разных прибора. Первое - просто полосовой фильтр. Сейчас это примерно 6 Гц по уровню -1 дБ, 46 Гц по уровню -120 дБ. БИХ, целочисленный, 12 порядка. На большие частоты и много каналов DSP не хватает. Хочется перенести гетеродином в ПЛИС на частоты пониже и дофильтровывать в DSP. Есть ещё задачи, но они на относительно низких частотах, от ПЛИС достаточно ФНЧ с дециматором. Есть ещё другие задачи, хитрые для ПЛИС. Частоты высокие, но каналов один или два, ДСП справляется.
  11. Цинк имеем в виду. И когда будем понимать чего нам надо, возможно, на него и сядем. Но пока, думается, начать лучше с отдельной ПЛИСины. Вот! Спасибо. Как раз была такая мысль и в дальнейшем хотел спросить, как насчёт умножения одним умножителем.
  12. Это да. Но надо же с чего-то начинать. С ПЛИС я последний раз имел дело 15 лет назад, это было достаточно поверхностно и никак не связано с цифровой обработкой сигналов. Так что можно сказать - ноль в этом деле. Хотелось бы с помощью сообщества примерно сориентироваться, в какую сторону двигаться и не ошибиться с требованиями на два порядка. Дороговастенько. В диджикее 109$. С текущими задачами TMS320C28342 за 14$ справляется. Понятно, спасибо, будем иметь в виду.
  13. 24 бита - принципиально. Последовательно. АЦП прикинули AK5578. Кроме описанного выше гетеродина в FPGA будет ещё всякое, но для начала надо прикинуть эту, основную функцию.
  14. Есть некий цифровой приёмник, сейчас это АЦП + DSP. Всё работает, но аппетиты растут, хочется частоты повыше, каналов побольше. DSP не справляется. Городить гетеродин до АЦП слишком заморочено. После АЦП - только если в ПЛИС. Есть мысль сделать так. 1) АЦП 24 бита, 500 кГц, 8 каналов одновременно. 2) Далее FPGA, внутри которой на каждый канал гетеродин, фильтр, дециматор. 3) Микропроцессор для дальнейшей обработки на низкой частоте. Помогите прикинуть, какие FPGA для подобной задачи подойдут из не очень толстых. Какое ПО ставить, какой отладчик покупать?
  15. Генератор накачки и запуск АЦП жестко связаны. Приёмник относительно метки практически неподвижен. От того фаза на весь сеанс связи будет единая. Экспериментировать буду попозжее, сейчас другая задача начальством поставлена. Ещё раз спасибо всем участникам, обсуждение было полезным.
  16. Причём тут когерентность? Началось какое-то цепляние к словам. Если сигнал и детектор имеют одну фазу, то синфазная составляющая сигнала будет максимальна, квадратурная минимальна. Помеха полезет и там, и там. Значит квадратурная часть ни к чему. Действительно, не понимаю в чём смысл и эффективность фильтрации отдельно. Поясните.
  17. Интересная мысль. Запомню на будущее. Спасибо!
  18. Прибор мы проверяем в помещении, а эксплуатироваться будет в основном на улице. Там не только импульсные помехи. Гадить может всё вокруг и в любых количествах. В конце концов шумят свои преобразователи, процессоры, индикатор, аналоговая часть. Никакая нелинейная фильтрация всё это не уберёт. И если фаза сигнала известна, сам бог велел отрезать ортогональную сигналу часть помехи. Ещё раз спасибо!
  19. Я тут малость соврамши. Прибор мне достался в наследство, и у меня в памяти осталось, что коллега подбирал фазу руками. Но это было на этапе экспериментов. Был вариант с вычислением фазы через квадратурный детектор, но лучшие результаты в условиях помех показал подбор фазы по максимуму одной компоненты. До перевода в режим чтения метка всегда отвечает одинаково, при этом фаза подстраивается по максимуму отклика синхронного детектора. Таким образом учитываются разбросы. Так как фаза подобрана, то и получается, что вторая компонента квадратурного детектора даст только вклад помехи.
  20. Спасибо за пояснения. Не понятно, зачем надо таки два компонента сигнала. После всей обработки получим амплитуду и фазу принятого сигнала. Но фаза то у всех экземпляров одинаковая. Должна быть. Разве что как критерий отбраковки. Но тут дилемма, чувствительность/достоверность. У мну сейчас сигнал множится только на синус, но с подобранной руками фазой. По идее всё, что даёт косинус - это вклад помехи. Пробовали делать предварительное измерение фазы сигнала, но в условиях слабого сигнала и сильной помехи оно делает только хуже, так как первоначально криво измеренная фаза ставит крест на дальнейших измерениях, а при сильном сигнале и так всё хорошо.
  21. Ой, оказывается, я пропустил продолжение. Lmx2315, спасибо большое за обсуждение. Специфика задачи такова, как описал my504, но ваш с ним спор вышел очень полезным. my504. Я, если честно, так и не понял ваш вариант. Пусть каждый отклик состоит из 1024 отсчётов и таких откликов пусть 16 штук. Множим на синус/косинус, получаем 2*1024 отсчёта в 16 экземплярах. Дальше не понятно. Отбрасываем экземпляры, которые выбиваются из общего ряда по фазе? Или усредняем 16 штук, после суммируем 1024 штуки? Или что? Голову сломал. 16 откликов - это 16 чтений одного и того же бита/полубита? Взаимную корреляцию использовать, считаете, бесполезно? По идее синхронность откликов как раз должна давать максимальную корреляцию у выборок, содержащих эти синхронные отклики. Так как используется манчестер, половина выборок должна содержать отклики, можно этим воспользоваться для наведения статистики внутри последовательности считывания байта.
  22. Спасибо всем откликнувшимся. Теперь есть, куда двигаться.
  23. Синхронный детектор всё-же позволяет несколько ослабить помеху. Через косинус почти одна помеха и полезет. Некоторая ошибка по фазе особо ничего не меняет. Повторные чтения, это да. Сейчас повторные чтения применяются если в манчестере ошибки, но надо буде попробовать накопление, про которое Lmx2315 писал.
  24. Накапливать - хорошая мысля, спасибо! Правда прилетевшая однажды помеха загадит всё накопленное. Может надо запоминать все N измерений и после комбинировать между собой. Плохо, что передача ведётся манчестером, а от него толку мало в плане обнаружения ошибок.
  25. Своим генератором накачиваем контур, условно назовём, метки. После отключения генератора контур метки продолжает свободные колебания, которые и регистрируем. Метка может прекращать колебания путём шунтирования контура, таким образом и передаётся информация. Резонансная частота контура известна примерно. Точно цифр не помню, но на частотах порядка 100 кГц разброс, кажись, порядка 1 кГц. Расстоянием можно пренебречь. Фаза колебаний по идее должна совпадать с фазой генератора, но пока дойдёт до синхронного детектора, несколько провернётся. Меткой я обозвал само устройство с контуром. Колебания глохнут стремительно. Так-то всё работает, но малость не дотягиваем по дальности до конкурентов. Проблема в помехах. Как отличить помеху от полезного сигнала? Вот я и думаю, если полезный сигнал имеет характерную затухающую огибающую, это неплохо бы использовать как дополнительный критерий. Есть мысль, например, делать два измерения, во время отклика и сразу после, когда колебания практически угасли, использовать уровень "после" как текущий уровень шума. Но это уже некие алгоритмические извраты, а возможно есть некие ЦОС методы, которые я упускаю. Какая нибудь там адаптивная фильтрация или ещё чего.