Перейти к содержанию

    

Применение децимации

Есть практический вопрос. 

Работет АЦП 12 bit  в STM32

делает одимночные выборки импульсов длинной около 2 мкс( не синусоида а просто однополярный импульс)

Затем последовательность выборок  это подаеться на виртуальный интегрирующий фильтр для улучшения с.ш  

Сейчас есть работающий 14бит ацп 25мпс на этой же плате (остался от предыдущего эксперимента)

Вопрос  в том что если я заменю внутренний 12бит Ацп на этот внешний и обработаю пачкой выборок(запущу цикл DMA на 64 выборки) мой импульс насколько улучшиться ситуация с чувствительностью ?

В теории эквивалентное уменьшение частоты выборок ыв 4 раза дает прирост 1 бит, т.е  если я возьму каждые 4 выборки получу плюс 1 бит, каждые 16 плюс 2 бита итд

Получаеться что я могу получить при оверсамплинге 64 выборки плюс 3 бита . Итого буду иметь 14 +3 =17 бит,   по сравнению с 12 битами встроенного АЦП

разница 5 бит-  30дб  .  В итоге я смогу уменьшить усиление на входе на 30дб  и получить тот же результат как и с 12 битным АЦП.   Правильно ли я все понял? Насколько практика соответсвует теории в данном случаеЕ?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

всё правильно , при условии что ваш интегрирующий фильтр обеспечивает в полосе подавления за тактовой 1/64 , более -30 Дб .

з.ы.

а лучше накидать модельку в octave  и посмотреть , подать на вход фильтра , вектор с шумом и посмотреть сигнал шум на выходе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите как это делается в DDC приемниках. Но вот, STM32 вряд ли успеет. Обычно за АЦП ставят FPGA.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 hours ago, Aner said:

Посмотрите как это делается в DDC приемниках. Но вот, STM32 вряд ли успеет. Обычно за АЦП ставят FPGA.

Да, когда решил привинтить к СТМ то несколько человек так писали.

Но все заработало на удивление просто.  В СТМ я поднял режим SRAM , использовал лишь необходимые пины для АЦП в  режиме ДМА контроллер может работать до 90 Mps

Просто для ДДС это проблемма непрывной обработки данных в живом режиме после оцифровки. А я могу оцифровать   пакет  выборок и затем относительно неспеша его обработать, это я на F429 делал.

А так без проблем можно оцифровывать пакеты со скоростью до 90 мпс.  В  скоростных сериях возможно ДМА и больше потянет , не смотрел

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непонятно, вы хотите уменьшить шумы квантования или вытянуть исходный сигнал (до оцифровки) из шума?

Во втором случае нет данных по полосе сигнала и частоте дискретизации, т.к. улучшение SNR при этом возможно в основном за счет узкополосной фильтрации (что и делается в приемниках с DDC и децимацией)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
On 1/11/2019 at 4:01 PM, V_G said:

Непонятно, вы хотите уменьшить шумы квантования или вытянуть исходный сигнал (до оцифровки) из шума?

Во втором случае нет данных по полосе сигнала и частоте дискретизации, т.к. улучшение SNR при этом возможно в основном за счет узкополосной фильтрации (что и делается в приемниках с DDC и децимацией)

Я имею RF импульсы с частотой 5-10 мгц и длительностью 1-2 мкс.   Используються малые магнитные антенны , поэтому особых внеполосных помех нет

Сейчас используеться следующий варатнт-  RF предусилитель с полосовым фильтром, синхронный АМ детектор, усилитель после детектора, АЦП 12 стм32

Точно известно время прихода импульса.  

Постоянно делаем выборки в это время и подаем на виртальную RC накопительный фильтр

Если сигнала нет то уровень один, если появляються импульсы то после фильтрации RC  фильтром получаем сигнал.   Как то так

Хотелось бы уменьшить усиление предусилителя за счет увеличения разрядности квантования.  Т.е провести некоторый обмен  уменьшения усиления на увеличение разрядности

Сейчас все работает при очень большом сумарном усилении а это накладывает некоторые ограничения и вызывает не очень хорошие эффекты. В частности  на переходную во временной области характеристику усилителя

Тоесть я хочу получить ту же SNR но с меньшим усилением и большей разрядносттью АЦП

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А частота приходящих импульсов известна, или надо гадать, пришло 5 или 10 МГц? Дело в том, что если известна, то можно построить классический радиоприемник: снести спектр в 0, потом поставить децимирующий ФНЧ с полосой 1...3 МГц. При децимации раз в 5 у вас будет такое же увеличение SNR. Если допустимо еще сильнее сузить полосу ФНЧ (зависит от конкретной задачи), можно еще больше увеличить SNR при фиксированном усилении, или соответственно уменьшить усиление при сохранении SNR

Хотя стоп-стоп: в первом сообщении говорится об однополярном импульсе, а тут уже об RF? Вы понимаете, что RF (он же - радиоимпульс) - это синусоида 5...10 МГц, заполняющая прямоугольный импульс длительностью 1...2 мкс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 hour ago, V_G said:

А частота приходящих импульсов известна, или надо гадать, пришло 5 или 10 МГц? Дело в том, что если известна, то можно построить классический радиоприемник: снести спектр в 0, потом поставить децимирующий ФНЧ с полосой 1...3 МГц. При децимации раз в 5 у вас будет такое же увеличение SNR. Если допустимо еще сильнее сузить полосу ФНЧ (зависит от конкретной задачи), можно еще больше увеличить SNR при фиксированном усилении, или соответственно уменьшить усиление при сохранении SNR

Хотя стоп-стоп: в первом сообщении говорится об однополярном импульсе, а тут уже об RF? Вы понимаете, что RF (он же - радиоимпульс) - это синусоида 5...10 МГц, заполняющая прямоугольный импульс длительностью 1...2 мкс?

да, именно так. частота тоже известна  с некоторой погрешностью.  делал  так как вы говорите. работало не очень\

Одна из причин это потому что сразу не совсем воспринималось  короткий характер импульса.  Например имеем частоту оцифровки 25 мпс и частоту сигнала 10 мгц. По найквисту все прекрасно  однако...

По факту мы имеем ДВЕ выборки За ПЕРИОД. При длительности пульса 1 мкс поучаем 25 выборок. А теперь представим что фаза наших выборок попадает на ноль перхода синусоиды.  В результате теряем полностью импульс. 

Вобщем что бы делать так надо увеличивать скорость оцифровки хотя бы до 100 mps/  В этом случаее в худшем варианте мы получим по 5 выборок за полупериод  что даст более менее нормальную картину при любом ссотношении фаз

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, spirit_1 сказал:

Одна из причин это потому что сразу не совсем воспринималось  короткий характер импульса.  Например имеем частоту оцифровки 25 мпс и частоту сигнала 10 мгц. По найквисту все прекрасно  однако...По факту мы имеем ДВЕ выборки За ПЕРИОД. При длительности пульса 1 мкс поучаем 25 выборок. А теперь представим что фаза наших выборок попадает на ноль перхода синусоиды.  В результате теряем полностью импульс. 

Почему 25 мгц наложеные на 10 Мгц сигнала у вас дали ровно две выборки? Получается же 2.5 выборки .

Вообще тактовая АЦП в 25 МГц прекрасно оцифрует всё от нуля Гц до <12.5 Мгц . Ничего не потеряв.

Вы выше упоминали что длительность ваших импульсов 1 мкс , но думаю что 99% энергии вашего сигнала всё же будет лежать в полосе оцифровки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 hours ago, Lmx2315 said:

Почему 25 мгц наложеные на 10 Мгц сигнала у вас дали ровно две выборки? Получается же 2.5 выборки .

Вообще тактовая АЦП в 25 МГц прекрасно оцифрует всё от нуля Гц до <12.5 Мгц . Ничего не потеряв.

Вы выше упоминали что длительность ваших импульсов 1 мкс , но думаю что 99% энергии вашего сигнала всё же будет лежать в полосе оцифровки.

не помню как это точно называеться, поимщу скину ссылку. есть таблицы приблизительных потерь

Логика если очень просто для понимания процесса то такая

Возьмем например частоту выборки 10 мпс

возьмем частоту сигнала 5 Мгц

Предположим что наши частоты идеально совпадают

Тогда за каждый период сигнала мы делаем 2 выборки

Но проблема в том что фазы могут попасть как в 0 так и в максимум синусоиды или гдето посредине

Т.е в одном случае мы будем постоянно иметь на выходе АЦП 0 а в другом случае максимальные выборки 

В жизни конечно частоты  и соотвественно фазы отличаються  поэтому этот процесс переодический  и при коротких выборках  может приводить к потере сигнала

Возьми т тот же пример , нарисуйте несколько периодов синусоиды от руки и попробуйте сделать выборку частотой отличающейся от синусоиды на 1 процент , причем начаинаем выборку с 0

Получим практически нулевые выборки. Да, через время за счет набега фазы амплитуда будет увеличиваться  а затем снова уменьшаться.

Получаем по сути биения. Этот процесс очень хорошо видно если оцифровывать блок из пары сотен выборок и смотреть это постоянно в STMStudio

НО если работать с длинными сигналами как в SDR для аудио( т.е с переодической функцией )то эти биения как бы сгладяться 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, spirit_1 сказал:

не помню как это точно называеться, поимщу скину ссылку. есть таблицы приблизительных потерь

Вы говорите о законе sin(x)/x , ну так он просто учитывается и всё .

По большому счёту он важен для широкополосных сигналов где надо АЧХ сигнала под него править, а для узкополосного сигнала - просто умножьте на К.

Он сигнал/шум в одной и той же полосе найквиста не портит, потому достаточно его учесть.

И конечно вы хватили в край - пришли к выводу что 25 и 10 мгц тоже самое что 5 и 10 .

2 минуты назад, Lmx2315 сказал:

 

з.ы.

хотя про С/Ш возможно что я и не совсем прав.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, Lmx2315 сказал:

По большому счёту он важен для широкополосных сигналов где надо АЧХ сигнала под него править, а для узкополосного сигнала - просто умножьте на К.

У ТС сигнал вроде как широкополосный (условно полоса 3 МГц при несущей 5 МГц), потому выигрыши в результате различных DSP-трюков не так очевидны и нуждаются в проверке

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 hours ago, V_G said:

У ТС сигнал вроде как широкополосный (условно полоса 3 МГц при несущей 5 МГц), потому выигрыши в результате различных DSP-трюков не так очевидны и нуждаются в проверке

 

8 hours ago, V_G said:

У ТС сигнал вроде как широкополосный (условно полоса 3 МГц при несущей 5 МГц), потому выигрыши в результате различных DSP-трюков не так очевидны и нуждаются в проверке

Ура!!! Наконец)) 

 

Вы ше сами это написали)) 

По большому счёту он важен для широкополосных сигналов  

Широкополсный сигнал это не тот который имеет полосу в гигагерцы. Широкополсным может быть сигнал имеющий полосу и пол герца. Главное это как написал коллега выше отношение несущей и спектра сигнала.

Поэтому мы имеем дело с классическим ШПС. Я Вам еще раз предлагаю потратить 2 минуты и нарисовать то что я говорил и вы сразу поймете что для коротки сигналов это очень важно вплоть до потери сигнала а короткий сигнал это и есть широкопосный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 hours ago, Lmx2315 said:

Вы говорите о законе sin(x)/x , ну так он просто учитывается и всё .

По большому счёту он важен для широкополосных сигналов где надо АЧХ сигнала под него править, а для узкополосного сигнала - просто умножьте на К.

Он сигнал/шум в одной и той же полосе найквиста не портит, потому достаточно его учесть.

И конечно вы хватили в край - пришли к выводу что 25 и 10 мгц тоже самое что 5 и 10 .

з.ы.

хотя про С/Ш возможно что я и не совсем прав.

Вот вариант того что я говорил причем  далеко не худшие случаи

http://audiogeek.ru/chastota-diskretizacii-teorema-kotelnikova/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю как там у аудиофилов, но имхо человек по ссылке не знаком с реконструкционным выходным фильтром после ЦАПа. Его задача делать красивый синус из кривого подобия с чуть более чем 2 отсчёта на период.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация