Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: биение амплитуды при оцифровке синусоиды AD1871
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Страницы: 1, 2
hoochie_coochie_man
Подскажите новичку что это. При оцифровке синусоиды с генератора (АЦП AD1871, 48кГц) с частотами близкими к 4кГц, 8кГц, 16кГц, на оцифрованном массиве вижу биения амплитуды. По мере приближения к 1/2 частоте сэмплирования их размах достигает 90%!!. аналоговый ФНЧ на входе картину не меняет. Чё с этим делать?
DRUID3
...вторая "синусоида" это первая гармоника Ваших 48kHz.
hoochie_coochie_man
я не очень владею теорией, но по моему товарисч котельников утверждает что сигнал можно восстановить однозначно...чего делать? Как-то интерполировать чтоли?
anton
котельников правильно говорил но у него говорилось и о длине востонавливаюшего фильтра (т.е. или в цифре при анализе или при обртном приобразовании в аналог)

Другими словами это нормальная картина.
hoochie_coochie_man
тогда как построить в цифре восстанавливающий фильтр чтоб получить близкий к исходному сигнал? будет ли это ФНЧ?
hoochie_coochie_man
вот тут вообще непонятно в AD1871 встроенный цифровой фильтр SINC и FIR...вроде я вообще не должен наблюдать этих биений? Я в непонятках
MrYuran
А вы уверены, что частота сэмплирования 48кГц?
Может, меньше?
Вообще-то, применение встроенных цифровых фильтров уменьшает частоту сэмплов в несколько (десятков) раз
hoochie_coochie_man
Эта хрень - сигма-дельта АЦП. Она имеет модулятор на частоте 6.144Мгц а потом это всё фильтруется и по мере фильтрования даунсэмплится. на выходе имеем сэмплы чётко 48 кГц. Фильтр работает, снимал АЧХ режет как обещано на 21.77 кГц. Но биения эти по прежнему есть!!! Кто с этим ковырялся, подскажите...только на пальцах....
slog
Такое объяснение устроит?
http://en.wikipedia.org/wiki/Aliasing
Stanislav
Цитата(hoochie_coochie_man @ Oct 1 2008, 12:34) *
я не очень владею теорией, но по моему товарисч котельников утверждает что сигнал можно восстановить однозначно...чего делать? Как-то интерполировать чтоли?
Да, интерполировать.
Никаких биений амплитуды на самом деле нет. Есть просто разные положения точек выборки относительно максимумов синусоиды.
Интерполирующими в случае дискретизации по Котельникову будут функции отсчётов ( вида sin(x)/x ).
Подайте оцифрованный сигнал на сигма-дельта аудио ЦАП, который и осуществляет подобную интерполяцию, чтобы убедиться в этом. smile.gif

Цитата(slog @ Oct 1 2008, 18:03) *
Такое объяснение устроит?
http://en.wikipedia.org/wiki/Aliasing
Такое объяснение не годится.
Aliasing-а в данном случае нет.
shf_05
Цитата(Stanislav @ Oct 2 2008, 04:15) *
Да, интерполировать.
Никаких биений амплитуды на самом деле нет. Есть просто разные положения точек выборки относительно максимумов синусоиды.
Интерполирующими в случае дискретизации по Котельникову будут функции отсчётов ( вида sin(x)/x ).
Подайте оцифрованный сигнал на сигма-дельта аудио ЦАП, который и осуществляет подобную интерполяцию, чтобы убедиться в этом. smile.gif

Такое объяснение не годится.
Aliasing-а в данном случае нет.


+1 )))

а еще проше понять- сгенерируйте синус с частотой скажем 100Гц, Fs=1000, выбросьте точки через одну, потом еще раз через одну, при этом смотрите, что получается.
восстановить можно фильтром практически любым, главное чтобы на "новой частоте Котельникова было приличное подавление")
AVG
Цитата(hoochie_coochie_man @ Oct 1 2008, 12:03) *
,При оцифровке синусоиды с генератора (АЦП AD1871, 48кГц) с частотами близкими к 4кГц, 8кГц, 16кГц, на оцифрованном массиве вижу биения амплитуды.
Чё с этим делать?

Ничего не делать, как уже было сказано - это нормально. Когда я увидел такую картинку много лет назад, то полдня ходил с отвисшей челюстью и судорожно тыкал паяльником в схему ;-)
Если объяснять на пальцАх:
Берем и генерируем отсчеты синусоиды 4.01кГц с частотой дискретизации 48кГц*100. Смотрим график - такая симпатичная синусоида, квазинепрерывная - это то, что вы подаете на АЦП.
Теперь дискретизируем ее с частотой 48кГц, т.е. берем каждый 100-ый отсчет. Смотрим график - та самая картина, которая вас удивила. При этом никаких сомнений по поводу работы АЦП нет.
Играемся с частотой и начальной фазой синусоиды, и понимаем, что все правильно, так и должно быть.
Особенно забавно и наглядно поиграть с фазой синуса 4.00000кГц.

Эх, где мои 20 лет... :-(
hoochie_coochie_man
понял всем спасибо за объяснения. Ещё один момент: максимальная амплитуда получится если отсчёт попадёт в максимум синусоиды, минимальная, если два отсчёта будут симметрично максимуму синусоиды. Нетрудно подставить 1/2 периода fs в ф-ю синуса...точнее косинуса....и получить при каком значении амплитуды произошло "защёлкивание" сэмпла. т.е. Acos(wt), w=2*Pi*f,
f= 4 кГц, w=25120, пусть амплитуда 1В
теперь: берём t=1/2*T, T=1/f, f=48 кГц, 1/2T=10.4 мкс
cos (25120*10.4мкс)=cos(0,261)=0.99998, т.е амплитуда биений 0,002 %? а я "реально" вижу по отсчётам (5218524-2362959*2)/5218524 =9,4%

на что спишем? Всётаки алиасинг подмешивается? Чем тогда занимается антиалиасинговый встроенный фильтр? Может поможет на входе аналоговый фильтр воткнуть получше?
MrYuran
Цитата(hoochie_coochie_man @ Oct 2 2008, 11:06) *
Может поможет на входе аналоговый фильтр воткнуть получше?

Не поможет. Это примочка чисто дискретного происхождения.
hoochie_coochie_man
пардон ошибся немного по измерениям реальным 3,5%....но сути не меняет....я уже понял что это нормально что так мы видим сигнал в цифре, но может кто подскажет тогда как оценить эту амплитуду для конкретной частоты на входе
Stanislav
Цитата(hoochie_coochie_man @ Oct 2 2008, 11:06) *
понял всем спасибо за объяснения. Ещё один момент: максимальная амплитуда получится если отсчёт попадёт в максимум синусоиды, минимальная, если два отсчёта будут симметрично максимуму синусоиды.
Давайте начнём с определений: что есть амплитуда вообще, и что есть амплитуда гармонического сигнала (синусоиды) в частности?


Цитата(hoochie_coochie_man @ Oct 2 2008, 13:45) *
...я уже понял что это нормально что так мы видим сигнал в цифре, но может кто подскажет тогда как оценить эту амплитуду для конкретной частоты на входе
Думаю, Вам самому будет полезно это сделать. smile.gif
Подсказка: возьмите 3 любых последовательных отсчёта гармонического сигнала, взятые "по Котельникову": Tвыб<=Tсин/2, где Твыб - период выборки, а Тсин - период синусоиды.
Если частота известна, хватит и двух.smile.gif

ЗЫ. Явление наложения (aliasing), конечно, присутствует в дискретизированном сигнале всегда. Потому, как идеальных фильтров, как и дискретизаторов, в природе не существует.
Однако, к явлениям, описываемых Вами, алиасинг не имеет ровным счётом никакого отношения. Более того, для современных сигма-дельта аудио АЦП его можно считать пренебрежимо малым (в смысле перцептуально значимого качества сигнала, прошедшего через тракты А/Ц и Ц/А преобразования). "На глазок", тем более, ничего заметить не удастся.
hoochie_coochie_man
Всё граждане...всё сошлось...именно так как я считал амплитуду этих биений именно так и надо считать....просто когда берёшь косинус на калькуляторе, нужно переключиться на РАДИАНЫ!!!! тфу блин вот ступил так ступил. Итак вышеуказанный расчёт исправляем:
Acos(wt), w=2*Pi*f,
f= 4 кГц, w=25120, пусть амплитуда 1В
теперь: берём t=1/2*T, T=1/f, f=48 кГц, 1/2T=10.4 мкс
cos (25120*10.4мкс)=cos(0,261)
В ЭТОМ МЕСТЕ ПЕРЕКЛЮЧАЕМСЯ НА РАДИАНЫ :-)
cos(0,261)=0.96
, т.е амплитуда биений 0.04 или 4%. Всё сошлось....
Stanislav
М-да, однако...
Vascom
Столкнулся с этой же проблемой. У меня после АЦП стоит цифровая АРУ, которая воспринимает эту ситуацию как амплитудную модуляцию и пытается с ней бороться. Соответственно, делает только хуже.

Как можно это побороть?
des00
Цитата(Vascom @ Sep 21 2009, 02:25) *
Столкнулся с этой же проблемой. У меня после АЦП стоит цифровая АРУ, которая воспринимает эту ситуацию как амплитудную модуляцию и пытается с ней бороться. Соответственно, делает только хуже.


ИМХО петлю заужать


ЗЫ. мой местный гуру сказал что можно попробывать решить проблему изменив принцип работы детектора АРУ.
Vascom
Петлю заужать крайне нежелательно, требуется высокая динамика.

А вот про принцип интересно.
Только мне надо, чтобы сигнал всегда полностью входит в раскрыв АЦП.
des00
Цитата(Vascom @ Sep 21 2009, 04:03) *
А вот про принцип интересно.
Только мне надо, чтобы сигнал всегда полностью входит в раскрыв АЦП.


он предлагает мерять не мощность/амплитуду, а другой параметр связанный с качеством работы вашей системы, например вхождение сигнала в раскрыв АЦП и делать по нему оценку.
petrov
Цитата(Vascom @ Sep 21 2009, 14:03) *
Петлю заужать крайне нежелательно, требуется высокая динамика.

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


Заужайте петлю и делайте второе АРУ полностью в цифре после того как помеху отфильтруете.

Не стесняйтесь подробнее проблему описывать что за сигналы, помехи и т. п.
Vascom
Заужать петлю мне нельзя, поскольку при резком появлении помехи (импульсная или быстрая АМ) АЦП будет долгое время перегружен. Вся суть данной АРУ, чтобы АЦП не перегружался, иначе большие потери мощности сигнала. Если АЦП перегружена, то отфильтровать уже ни чего не получится, сигнал безнадёжно искажён.

Более подробно.
Сигнал с полосой 70 МГц оцифровывается на промежуточной частоте 150 МГц (тактовая частота 200 МГц). Затем оцифрованный сигнал поступает на цифровую АРУ, выход которой идёт на ЦАП и замыкается на аналоговом усилителе. Одновременно этот оцифрованный сигнал с помощью квадратурного умножителя сбрасывается в 0 и преобразуется в комплексный. Полученный комплексный сигнал фильтруется в ФНЧ, после чего понижается частота дискретизации.

В идеальном случае на входе только шум и сигнал (сигнал под шумом). Но возможно появление помех с уровнем до 70 дБ по отношению к шуму.
des00
Цитата(Vascom @ Sep 21 2009, 08:17) *
Заужать петлю мне нельзя, поскольку при резком появлении помехи (импульсная или быстрая АМ) АЦП будет долгое время перегружен. Вся суть данной АРУ, чтобы АЦП не перегружался, иначе большие потери мощности сигнала. Если АЦП перегружена, то отфильтровать уже ни чего не получится, сигнал безнадёжно искажён. Но возможно появление помех с уровнем до 70 дБ по отношению к шуму.


может скажу глупость или мои расчеты не верные, но чем быстрое АРУ вам поможет ?

Если у вас будет стоять помеха такой мощности, то она практически забьет приемник. положим рабочий SNR 30Дб и помеха в 70Дб, запас АЦП по разрядности нужен порядка 7 ми бит. Даже при 12 битах АЦП. у вас по сути на сигнал остается ~3 бита. Вы хотите из них еще что то вытащить?

Или вы решаете проблему быстрого восстановления падения связи, вызванного перегрузкой АЦП? так вопросы перегрузки АЦП по входу можно решить другими способами %)
Vascom
Не волнуйтесь, чтобы нормально принять сигнал мне достаточно даже 1 бита, поскольку это GPS. Такой многоразрядный АЦП нужен именно для борьбы с помехами в цифровом виде.
des00
Цитата(Vascom @ Sep 21 2009, 12:49) *
Не волнуйтесь, чтобы нормально принять сигнал мне достаточно даже 1 бита, поскольку это GPS. Такой многоразрядный АЦП нужен именно для борьбы с помехами в цифровом виде.


тогда зачем вам вообще полный размах АЦП ? smile.gif))

к тому же если у вас все так просто почему бы не сжать динамический диапазон по входу АЦП. (идея глупая, см ниже)

посовещался со своими гуру,

Как мне объяснили сжимать нельзя, но можно ограничить. Но вообще проблема эта системная и с помошью только АРУ решена быть не может. В любом случае на АЦП придеться делать запас на динамику и с идеей "Только мне надо, чтобы сигнал всегда полностью входит в раскрыв АЦП." можно попрощаться smile.gif
Vascom
Говорю же, полный размах АЦП нужен для борьбы с помехами. Если делать запас, то мощные помехи будут хуже давиться из-за уменьшенного динамического диапазона. Динамика обеспечивается как раз за счёт быстрой АРУ.

Я уже почти разобрался как эту проблему победить, позже отпишусь, если интересно.
des00
Цитата(Vascom @ Sep 22 2009, 02:09) *
Я уже почти разобрался как эту проблему победить, позже отпишусь, если интересно.


конечно интересно, поставлю своих гуру в тупик %)
Vascom
Цитата(des00 @ Sep 22 2009, 11:28) *
конечно интересно, поставлю своих гуру в тупик %)


Идея заключается в следующем (все действия производятся в цифровом виде):
1. Домножаем входной оцифрованный сигнал на комплексную несущую (проще всего частотой 1/4 Fs), но нужно, чтобы центральная частота полосы сигнала перенеслась на нулевую частоту. В результате этого помеха смещается с "неудобной частоты", но при этом образуется вторая гармоника.
2. Далее ставим ФНЧ, который вырезает эту вторую гармонику. ФНЧ должен пропускать не более 1/4 Fs и иметь как можно более ровное усиление в полосе пропускания.
3. Из полученного отфильтрованного комплексного сигнала выделяем комплексную огибающую, которую подаём на вход АРУ. Может быть можно обойтись и без этого, но поскольку мы получили комплексный сигнал, то грех этим не воспользоваться.

Конечно, конкретная реализация будет иметь множество нюансов в плане частоты комплексной несущей, тип и сложность ФНЧ, аппаратные требования. Но это уже частности smile.gif
des00
Цитата(Vascom @ Sep 22 2009, 04:04) *
Идея заключается в следующем (все действия производятся в цифровом виде):
1. Домножаем входной оцифрованный сигнал на комплексную несущую (проще всего частотой 1/4 Fs), но нужно, чтобы центральная частота полосы сигнала перенеслась на нулевую частоту. В результате этого помеха смещается с "неудобной частоты", но при этом образуется вторая гармоника.
2. Далее ставим ФНЧ, который вырезает эту вторую гармонику. ФНЧ должен пропускать не более 1/4 Fs и иметь как можно более ровное усиление в полосе пропускания.
3. Из полученного отфильтрованного комплексного сигнала выделяем комплексную огибающую, которую подаём на вход АРУ. Может быть можно обойтись и без этого, но поскольку мы получили комплексный сигнал, то грех этим не воспользоваться.

Конечно, конкретная реализация будет иметь множество нюансов в плане частоты комплексной несущей, тип и сложность ФНЧ, аппаратные требования. Но это уже частности smile.gif


хмм, перед тем как я буду задавать неудобные вопросы, хотелось уточнить один момент. Изначальный ваш вопрос я понял так : вы боритесь с перегрузкой АЦП при наличии помехи и делаете аналоговое ару (используется аналоговый PGA), так каким местом эту проблему решит цифровое АРУ на вход которого вы подаете свой сигнал. Или вы имели в виду подать сигнал не на вход АРУ, а на его детектор, но и в этом случае картинка не складывается. %)
Vascom
Фактически, да, я борюсь с перегрузкой АЦП при любом входном воздействии. Для этого используется цифро-аналоговая АРУ: все действия осуществляются в цифре (дискриминатор, вычисление требуемого коэффициента усиления и т.п.), затем вычисленный коэффициент усиления поступает на ЦАП, который управляет аналоговым усилителем. Управление (выдача числа на ЦАП) осуществляется дискретно, раз в ~100-200 тактов.
des00
Цитата(Vascom @ Sep 22 2009, 05:27) *
Фактически, да, я борюсь с перегрузкой АЦП при любом входном воздействии. Для этого используется цифро-аналоговая АРУ: все действия осуществляются в цифре (дискриминатор, вычисление требуемого коэффициента усиления и т.п.), затем вычисленный коэффициент усиления поступает на ЦАП, который управляет аналоговым усилителем. Управление (выдача числа на ЦАП) осуществляется дискретно, раз в ~100-200 тактов.


понятно. но что то мне подсказывает что это будут те же яйца но вид сбоку, а дополнительная задержка только даст сужение петли ару. smile.gif
если получиться и вам будет не сложно, то поставте пожалуйста в известность
petrov
В свете приёма GPS сигналов что-то тут с концепцией не то.
Vascom
Как я уже говорил, проблемы возникали из-за биений амплитуды при оцифровке синусоиды на определённых частотах (1/2 Fs, 2/3 Fs и т.п.) Такой алгоритм - это метод борьбы именно с этими биениями.

Он действительно помог, проблема решена (ещё многое надо протестировать и подогнать, но в целом ситуация радужная). Задержка сигнала получается ~20 тактов, не так уж и много.

Цитата(petrov @ Sep 22 2009, 14:49) *
В свете приёма GPS сигналов что-то тут с концепцией не то.


Что не то?
petrov
Цитата(Vascom @ Sep 22 2009, 14:50) *
Что не то?


Не достаточно разве 1 бит АЦП, помеха на выходе коррелятора просто размажется? Кроме того в такой массовой области нету готовых фильтров аналоговых?
Vascom
Цитата(petrov @ Sep 22 2009, 14:59) *
Не достаточно разве 1 бит АЦП, помеха на выходе коррелятора просто размажется? Кроме того в такой массовой области нету готовых фильтров аналоговых?


Помеха размажется только если она слабая. Если же амплитуда помехи раз в 10 больше сигмы шума (шум + сигнал, сигнал меньше шума), то коррелятор ни чего не сможет сделать. Коррелятор - это когерентный накопитель, на выходе которого шум должен стремиться к нулю, а полезный сигнал выдать некоторое мат. ожидание. Если же есть большая помеха (допустим гармоническая), то нормальной корреляции не будет. При оцифровке 1 битом или двумя вы оцифруете только помеху, а вся информация о шуме и сигнале будет потеряна.

У меня специфическая задача не в массовой области, тут аналоговые фильтры имеют много недостатков, присущих всей аналоговой технике.
samurad
Цитата(Vascom @ Sep 22 2009, 14:17) *
Помеха размажется только если она слабая. Если же амплитуда помехи раз в 10 больше сигмы шума (шум + сигнал, сигнал меньше шума), то коррелятор ни чего не сможет сделать. Коррелятор - это когерентный накопитель, на выходе которого шум должен стремиться к нулю, а полезный сигнал выдать некоторое мат. ожидание. Если же есть большая помеха (допустим гармоническая), то нормальной корреляции не будет. При оцифровке 1 битом или двумя вы оцифруете только помеху, а вся информация о шуме и сигнале будет потеряна.

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

Мне тоже кажется сомнительным решение автора, по крайней мере в оговоренных условиях. Многобитовый АЦП может помочь только в сравнительно узкой полосе.

Как я понимаю, первичная цель автора - выделение полезного сигнала вида ШПС (а именно GPS) на гребне мощной (много дБ перевес в мощности) гармонической помехи. Для ее достижения предлагается применить нелинейный АЦП, реализованный линейными средствами, т.е. линейные промежуточные АЦП, фильтр и ЦАП, что однако не совсем логично по следующим причинам.
- Если мощная помеха лежит в ВЧ, а именно в или вблизи полосы полезного сигнала (или выше), то первичная цель - это пушка по воробьям, т.к. полезный сигнал уже на входе последующего АЦП будет безвозвратно искажен на 40+% времени на фронтах подъема и спуска каждого гребня гармоники, что скорее всего приведет к слишком сильным потерям SNR на выходе коррелятора, несмотря на большие затраты за счет многобитового широкополосного АЦП высокого качества (малый джиттер и проч.), требуемое для работы с очень низким входным SNR из-за очень большой полосы (100 МГц = 50 раз шире полосы сигнала GPS L1 C/A) и изначально низкого уровня сигнала GPS на земной поверхности. В таких случаях обычно достаточно аналогового режекторного фильтра перед АЦП.
- Если мощная помеха лежит вне полосы полезного сигнала, а именно много ниже, так что большую часть времени периода последовательности полезного сигнала уровень помехи примерно постоянен для нормальной работы промежуточного линейного АЦП, то она отфильтровывается сравнительно просто аналоговым полосовым фильтром (или их каскадом) на ПЧ, как это обычно и делается (несмотря на все известные недостатки аналогоых фильтров), что делает динамический диапазон на входе АЦП малым, а нелинейный АЦП и быстрый АРУ - ненужными.
- В сравнительно узкой полосе между этими 2-мя случаями нелинейный АЦП представляется вполне логичным компромисным решением, но при этом не проще ли использовать непосредственно логарифмический усилитель + линейный АЦП вместо громоздкой линейной аппроксимации?

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

ИМХО, Вряд ли можно успешно бороться с мощными гармоническими помехами только цифровыми методами без соотвтествующих аналоговых фильтров, возможно перестраиваемых, или банка фильтров.
Кроме того, если применение гражданское, то полоса GPS сигналов нормативно защищена даже от слабых помех, и ситуация должна контролироваться спец.органами на постоянной основе, т.е. вероятность появления таких помех принебрежимо мала.
Vascom
Цитата(samurad @ Sep 25 2009, 11:45) *
Мне тоже кажется сомнительным решение автора, по крайней мере в оговоренных условиях. Многобитовый АЦП может помочь только в сравнительно узкой полосе.
Как я понимаю, первичная цель автора - выделение полезного сигнала вида ШПС (а именно GPS) на гребне мощной (много дБ перевес в мощности) гармонической помехи. Для ее достижения предлагается применить нелинейный АЦП, реализованный линейными средствами, т.е. линейные промежуточные АЦП, фильтр и ЦАП, что однако не совсем логично по следующим причинам.

Скажу сразу, что система предназначена для работы в любых условиях: наличие или отсутствие помех, различная модуляция помех (АМ, ЧМ, ФМ, импульсная модуляция). Применение системы не только для полосы сигнала GPS C/A (2 МГц), но и GPS P-code (20 МГц), и ГЛОНАСС, и GALILEO (~50 МГц). Естественно не всё это сразу в одном канале.
Далее подробнее по пунктам.
Цитата
- Если мощная помеха лежит в ВЧ, а именно в или вблизи полосы полезного сигнала (или выше), то первичная цель - это пушка по воробьям, т.к. полезный сигнал уже на входе последующего АЦП будет безвозвратно искажен на 40+% времени на фронтах подъема и спуска каждого гребня гармоники, что скорее всего приведет к слишком сильным потерям SNR на выходе коррелятора, несмотря на большие затраты за счет многобитового широкополосного АЦП высокого качества (малый джиттер и проч.), требуемое для работы с очень низким входным SNR из-за очень большой полосы (100 МГц = 50 раз шире полосы сигнала GPS L1 C/A) и изначально низкого уровня сигнала GPS на земной поверхности. В таких случаях обычно достаточно аналогового режекторного фильтра перед АЦП.

Как я уже сказал, частота и другие параметры помехи неизвестны, никакие аналоговые фильтры не помогут. А цифровая фильтрация во многом лучше аналоговой. Для удаления помехи из полосы полезного сигнала применяется цифровой адаптивный фильтр.
Цитата
- Если мощная помеха лежит вне полосы полезного сигнала, а именно много ниже, так что большую часть времени периода последовательности полезного сигнала уровень помехи примерно постоянен для нормальной работы промежуточного линейного АЦП, то она отфильтровывается сравнительно просто аналоговым полосовым фильтром (или их каскадом) на ПЧ, как это обычно и делается (несмотря на все известные недостатки аналогоых фильтров), что делает динамический диапазон на входе АЦП малым, а нелинейный АЦП и быстрый АРУ - ненужными.

Это невозможно, т.к. полезный сигнал находится на промежуточной частоте ~ 150 МГц, всё что ниже 100 МГц и выше 200 МГц надёжно вырезается ПАВ-фильтром.
Цитата
- В сравнительно узкой полосе между этими 2-мя случаями нелинейный АЦП представляется вполне логичным компромисным решением, но при этом не проще ли использовать непосредственно логарифмический усилитель + линейный АЦП вместо громоздкой линейной аппроксимации?

Не совсем понял, что имелось в виду.
Цитата
Если же помеха узкополосная импульсная, т.е. появляется и исчезает быстро, то возможно допустимо ее просто игнорировать из-за незначительного кол-ва искаженных символов полезной ШПС, но это зависит от максимальных параметров помехи и заданной вероятности ошибки приема полезной информации.

Помеха может быть любой, период и скважность импульсов может быть любой. В такой ситуации оптимальной стратегией является отслеживание любых изменений амплитуды сигнала.
Цитата
ИМХО, Вряд ли можно успешно бороться с мощными гармоническими помехами только цифровыми методами без соотвтествующих аналоговых фильтров, возможно перестраиваемых, или банка фильтров.
Кроме того, если применение гражданское, то полоса GPS сигналов нормативно защищена даже от слабых помех, и ситуация должна контролироваться спец.органами на постоянной основе, т.е. вероятность появления таких помех принебрежимо мала.

Бороться с помехами в цифровом виде вполне возможно и очень успешно.
Даже если применение гражданское (такое и есть), то полоса GPS совершенно ни от чего не защищена. Помехи бывают не только специальные, но и непредвиденные. Например, РЛС в аэропортах, электроразряды молний и многое другое.
samurad
Цитата(Vascom @ Sep 26 2009, 17:11) *
Скажу сразу, что система предназначена для работы в любых условиях: наличие или отсутствие помех, различная модуляция помех (АМ, ЧМ, ФМ, импульсная модуляция). Применение системы не только для полосы сигнала GPS C/A (2 МГц), но и GPS P-code (20 МГц), и ГЛОНАСС, и GALILEO (~50 МГц). Естественно не всё это сразу в одном канале.
Далее подробнее по пунктам.

Software GNSS receiver? Неплохо все сразу. Еще бикон, SBAS и сигнал точного времени забыли smile.gif

Цитата(Vascom @ Sep 26 2009, 17:11) *
Как я уже сказал, частота и другие параметры помехи неизвестны, никакие аналоговые фильтры не помогут. А цифровая фильтрация во многом лучше аналоговой. Для удаления помехи из полосы полезного сигнала применяется цифровой адаптивный фильтр.

У цифровой фильтрации много достоинств, однако если на выходе АЦП полезного сигнала фактически нет, напр., из-за подавления мощной помехой, то никакие цифровые методы не помогут.
Я согласен, что сканировать помеху, особенно мощную, с неизвестными параметрами в цифре проще. Однако...

Цитата(Vascom @ Sep 26 2009, 17:11) *
Это невозможно, т.к. полезный сигнал находится на промежуточной частоте ~ 150 МГц, всё что ниже 100 МГц и выше 200 МГц надёжно вырезается ПАВ-фильтром.

...устранять ее в полосе сигнала в цифре можно, только если отношение мощностей сигнал/(помеха+шум) позволяет для данного вида модуляции и детектора. Для ваших -70 дБ вряд ли это возможно, во всяком случае уж точно не для GPS L1 C/A, для которого -30 дБ предел.

Цитата(Vascom @ Sep 26 2009, 17:11) *
Не совсем понял, что имелось в виду.

Имеется в виду простой вариант нелинейного АЦП, выделяющий больше бит на высокие уровени, где находится более-менее востонавливаемый полезный сигнал.

Цитата(Vascom @ Sep 26 2009, 17:11) *
Помеха может быть любой, период и скважность импульсов может быть любой. В такой ситуации оптимальной стратегией является отслеживание любых изменений амплитуды сигнала.

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

Цитата(Vascom @ Sep 26 2009, 17:11) *
Бороться с помехами в цифровом виде вполне возможно и очень успешно.
Даже если применение гражданское (такое и есть), то полоса GPS совершенно ни от чего не защищена. Помехи бывают не только специальные, но и непредвиденные. Например, РЛС в аэропортах, электроразряды молний и многое другое.

Все помехи имеют свою классификацию и параметры, а приемник - свои слабые места. Вот из этого и надо исходить.
Vascom
Цитата
У цифровой фильтрации много достоинств, однако если на выходе АЦП полезного сигнала фактически нет, напр., из-за подавления мощной помехой, то никакие цифровые методы не помогут.
Я согласен, что сканировать помеху, особенно мощную, с неизвестными параметрами в цифре проще. Однако...

...устранять ее в полосе сигнала в цифре можно, только если отношение мощностей сигнал/(помеха+шум) позволяет для данного вида модуляции и детектора. Для ваших -70 дБ вряд ли это возможно, во всяком случае уж точно не для GPS L1 C/A, для которого -30 дБ предел.


Как раз таки возможно. Например, 10-разрядный АЦП даёт динамический диапазон 54 дБ, при такой помехе потерь в корреляторе практически не будет, далее ещё ~25 дБ даёт коррелятор.
К тому же, даже если помеха находится в полосе сигнала, то с ней борется не коррелятор, а цифровой адаптивный фильтр.

Цитата
..."любой" - это не техническая постановка задачи, и соответственно оптимального решения может не иметь.

Все помехи имеют свою классификацию и параметры, а приемник - свои слабые места. Вот из этого и надо исходить.


Согласен. Однако, у меня и нет конкретного технического задания и конкретных параметров помех. Просто стоит задача создать АРУ, чтобы при отсутствии помех потерь не было, а при их наличии потери были минимальными. В результате проведённых исследований такая АРУ эффективна на большом диапазоне помех, при некоторых особых параметрах помехи эта АРУ уже неэффективна, но и помехи такие маловероятны.
anton
А не проше ввести два канала оцифровки для нормального и предположительно зашумленого сигнала.
(в зашумленом канале если уровень сигнала будет сильно ниже младшего разряда то и не какая обработка не поможет)
Можно еше 16бит АЦП поставить но чую у вас явно не гражданка и вам такие девайсы не кто не разрешит.
Vascom
Сигнал принимается с неба, там либо есть помеха, либо нету, ни о каких двух каналах речи быть не может. 16 бит АЦП я бы с радостью, но их просто не существует на 200 МГц, максимум это 10-10,5 бит пока. В будущем может и лучше будет.
У меня полностью гражданский приёмник, P-код что у GPS, что у ГЛОНАСС можно и без военных принимать wink.gif
samurad
Цитата(Vascom @ Sep 27 2009, 15:46) *
Как раз таки возможно. Например, 10-разрядный АЦП даёт динамический диапазон 54 дБ, при такой помехе потерь в корреляторе практически не будет, далее ещё ~25 дБ даёт коррелятор.
К тому же, даже если помеха находится в полосе сигнала, то с ней борется не коррелятор, а цифровой адаптивный фильтр.

Интесно, как 10 разрядов дают диапазон уровня в 54 дБ? Мой калькуляятор дает 10*log10(2^10)=30 дБ.

"...ещё ~25 дБ даёт коррелятор" - вы складываете "коровы" и "бульдозеры"?
Vascom
Цитата(samurad @ Sep 29 2009, 13:44) *
Интесно, как 10 разрядов дают диапазон уровня в 54 дБ? Мой калькуляятор дает 10*log10(2^10)=30 дБ.

"...ещё ~25 дБ даёт коррелятор" - вы складываете "коровы" и "бульдозеры"?


У вас калькулятор с багом. Во первых, АЦП работает с амплитудой, а не с мощностью, поэтому умножать надо на 20. Во вторых, 1 разряд отводится на знак, поэтому 2 должна быть в 9-й степени. То есть 20*log10(2^9)=54.185.

Почему же коровы и будьдозеры. Гляди, при амплитуде помехи 54 дБ она полность давится фильтром и на выходе коррелятора нет ни каких потерь. Далее, если амплитуда помехи возрастает, появляются потери на корреляторе, линейно зависящие от амплитуды помехи. Но сигнал со спутников имеет достаточную мощность, чтобы принимать его при потерях до 20 дБ, соответсвенно и помеха может быть на 20 дБ больше. Так понятно?

Возможно вы подумали, что я мерил помеху по мощности в dBm или т.п.? А я имел в виду отношение амплитуды помехи к сигме шума на входе антенны приёмника.
anton
насчет АЦП вы глубоко не правы LTC2209 16 бит 160мгц, AD9461 16бит 130мгц.

Не понял причем тут небо и два канала - просто с одного приемного вч тракта сигнал цифруется двумя ацп настроеными на разный уровень сигнала и в цифре принимается решение с какого канала использовать информацию.
Плюс если вы управляете АРУ через цифру то почему не используете в обработке информацию о текушем уровне аттенюаторов (чтото вродже АЦП с плаваюшей точкой)
Eger
Цитата(samurad @ Sep 29 2009, 13:44) *
Интесно, как 10 разрядов дают диапазон уровня в 54 дБ? Мой калькуляятор дает 10*log10(2^10)=30 дБ.

Вы неподскажете почему мой калькулятор считает 20*log(2^10)=60дБ?
samurad
Цитата(Vascom @ Sep 29 2009, 13:05) *
У вас калькулятор с багом. Во первых, АЦП работает с амплитудой, а не с мощностью, поэтому умножать надо на 20. Во вторых, 1 разряд отводится на знак, поэтому 2 должна быть в 9-й степени. То есть 20*log10(2^9)=54.185.

Почему же коровы и будьдозеры. Гляди, при амплитуде помехи 54 дБ она полность давится фильтром и на выходе коррелятора нет ни каких потерь. Далее, если амплитуда помехи возрастает, появляются потери на корреляторе, линейно зависящие от амплитуды помехи. Но сигнал со спутников имеет достаточную мощность, чтобы принимать его при потерях до 20 дБ, соответсвенно и помеха может быть на 20 дБ больше. Так понятно?

Возможно вы подумали, что я мерил помеху по мощности в dBm или т.п.? А я имел в виду отношение амплитуды помехи к сигме шума на входе антенны приёмника.

Чем дальше в лес, тем больше дров...

1. Немного введения. Стандартная формула децибельного выражения любой величины X: X_dB-U := 10*log10(X), где ":=" - по определению, а "U" - физическая размерность X, напр., dB-W, либо ничего, если X безразмерная, напр. отношение мощностей сигнал/шум. "20" перед log10(.) возникает, когда X = Y^2 и X_dB = 10*log10(Y^2) = 2*10*log10(Y), напр., когда Y - амплитуда колебания, а X - его мощность. Но мы то говорим об амплитуде, не так ли?

2. Говоря о динамическом диапазоне D обычно подразумевают амплитуду, а точнее (максимальную) разницу амплитуд суммы сигнала с шумом и всеми помехами: D := А_sum_max - A_sum_min. Для АЦП с 10-ю разрядами, на его выходе А_sum_max = 2^(10-1)-1, А_sum_min = -2^(10-1), соответственно
D = 2^(10-1) - 1 - (-2^(10-1)) = 2*2^(10-1) - 1 ~= 2^10.
Поэтому динамический диапазон на выходе вашего АЦП остается 30 дБ-В. Это "коровы". Но они не главное. А главное, брат, в чем? Правильно, в "бульдозерах", т.е., отношении мощностей сигнала к шуму и помехи на входе АЦП.

3. За отсутствием перегрузки (пересыщении) разрядности АЦП, которая безвозвратно и полностью искажает сигнал, следит аналоговая или аналогово-цифровая АРУ (AGC) перед АЦП (ADC). Пусть N_ADC и e_AGC разрядность АЦП и относительная доля динамического диапазона на выходе АЦП, реально используемая для предотвращения перегрузки из-за шума, соответственно. Тогда для линейного АРУ-АЦП нетрудно показать, что все уровни сигнала будут оцифровываться на выходе АЦП ровно в ноль, т.е., полностью теряться, если сигнал/помеха q < q_min, где
q_min = 0.25/(e_AGC*2^(N_ADC-1))^2.
Графики q_min показаны на прилагаемом рисунке. Отсюда видно, что для N_ADC = 10 и e_AGC = 0.9, q_min = -60 dB.

4. На входе вашей системы, как вы писали, помеха может превышать шум на 70 дБ, допустим по мощности, а как известно GPS L1 C/A сигнал ниже шума прим. на 20 дБ по мощности, соответственно отношение мощностей q = -90 dB. Как видно из рисунка, при такой помехе для прохождения минимально полезного сигнала через АЦП необходимо мин. 15 бит (при относительно большом входном сигнал/шум, т.е., если приемник плавает в криогене smile.gif, иначе и 16 бит не хватит).

Заметьте, про коррелятор пока было сказано ни слова. Если сигнала на его входе нет, то и на выходе ждать нечего.

Цитата(Eger @ Sep 30 2009, 17:55) *
Вы неподскажете почему мой калькулятор считает 20*log(2^10)=60дБ?

Правильный калькулятор, похоже smile.gif, а у автора 20*log(2^9). Только в данной теме "20*log" смысла не имеет, как я объяснил выше.
Vascom
Цитата(samurad @ Sep 30 2009, 22:41) *
Чем дальше в лес, тем больше дров...

1. Немного введения. Стандартная формула децибельного выражения любой величины X: X_dB-U := 10*log10(X), где ":=" - по определению, а "U" - физическая размерность X, напр., dB-W, либо ничего, если X безразмерная, напр. отношение мощностей сигнал/шум. "20" перед log10(.) возникает, когда X = Y^2 и X_dB = 10*log10(Y^2) = 2*10*log10(Y), напр., когда Y - амплитуда колебания, а X - его мощность. Но мы то говорим об амплитуде, не так ли?

2. Говоря о динамическом диапазоне D обычно подразумевают амплитуду, а точнее (максимальную) разницу амплитуд суммы сигнала с шумом и всеми помехами: D := А_sum_max - A_sum_min. Для АЦП с 10-ю разрядами, на его выходе А_sum_max = 2^(10-1)-1, А_sum_min = -2^(10-1), соответственно
D = 2^(10-1) - 1 - (-2^(10-1)) = 2*2^(10-1) - 1 ~= 2^10.
Поэтому динамический диапазон на выходе вашего АЦП остается 30 дБ-В. Это "коровы". Но они не главное. А главное, брат, в чем? Правильно, в "бульдозерах", т.е., отношении мощностей сигнала к шуму и помехи на входе АЦП.


Э нет, в вашем примере в пункте 2 D := А_sum_max - A_sum_min есть амплитуда, а мощность в данном случае будет амплитуда в квадрате. Значит это не 30 дБ (не понятно, что у вас означает дБ-В), а 60 дБ, не так ли, согласно вашему пункту 1?
Здесь стоит уточнить, что в GPS информация заложена не в амплитуде, а в фазе сигнала. Когда мы проводим корреляцию, мы умножаем входной сигнал на его несущую, тем самым сдвигая сигнал в 0 по частоте. Затем, мы умножаем входной сигнал (который в идеале уже представляет последовательность положительных и отрицательных импульсов типа меандра но псевдослучайно) на опорную псевдослучайную последовательность из 1 и -1. В итоге (в идеальном случае) получаем постоянный уровень 1*А_входного_сигнала. То есть из 2^10 остаётся только 2^9 (остаётся только модуль сигнала), то есть 54 дБ.

Цитата
3. За отсутствием перегрузки (пересыщении) разрядности АЦП, которая безвозвратно и полностью искажает сигнал, следит аналоговая или аналогово-цифровая АРУ (AGC) перед АЦП (ADC). Пусть N_ADC и e_AGC разрядность АЦП и относительная доля динамического диапазона на выходе АЦП, реально используемая для предотвращения перегрузки из-за шума, соответственно. Тогда для линейного АРУ-АЦП нетрудно показать, что все уровни сигнала будут оцифровываться на выходе АЦП ровно в ноль, т.е., полностью теряться, если сигнал/помеха q < q_min, где
q_min = 0.25/(e_AGC*2^(N_ADC-1))^2.
Графики q_min показаны на прилагаемом рисунке. Отсюда видно, что для N_ADC = 10 и e_AGC = 0.9, q_min = -60 dB.

4. На входе вашей системы, как вы писали, помеха может превышать шум на 70 дБ, допустим по мощности, а как известно GPS L1 C/A сигнал ниже шума прим. на 20 дБ по мощности, соответственно отношение мощностей q = -90 dB. Как видно из рисунка, при такой помехе для прохождения минимально полезного сигнала через АЦП необходимо мин. 15 бит (при относительно большом входном сигнал/шум, т.е., если приемник плавает в криогене smile.gif, иначе и 16 бит не хватит).

Заметьте, про коррелятор пока было сказано ни слова. Если сигнала на его входе нет, то и на выходе ждать нечего.

Правильный калькулятор, похоже smile.gif, а у автора 20*log(2^9). Только в данной теме "20*log" смысла не имеет, как я объяснил выше.


Сразу скажу, я указывал выше, что помеха может превышать шум (а не сигнал) по амплитуде (а не помощности) на 70 дБ. Если быть точным то сигму (корень из дисперсии) шума.

Здесь вы в корне не правы, похоже не имеете достаточно знаний по GPS сигналу.
Да, сигнал ниже шума, но это не имеет значения. Достаточно оцифровать смесь сигнала с шумом 1 битом и мы уже будем иметь потери не более 3 дБ вне зависимости от отношения сигнал/шум. Если стоит 10-разрядный АЦП, то АРУ не допускает падения сигнала на входе этого АЦП до такого уровня, когда весь сигнал оцифровывается нулями. Одним словом, если нет помех (не шума, а именно помех), то для беспроблемной оцифровки сигнала достаточно 2 бит (уровни -1 0 1).
Далее, если помеха есть, то АРУ укладывает эту помеху точно в раскрыв АЦП, то есть помеха+шум+сигнал оцифровывается без искажений. Затем цифровой фильтр отсекает помеху, остаётся только сигнал+шум, который идёт на коррелятор. Соответственно этот сигнал+шум может содержаться в 1 бите после удаления помехи - этого достаточно для обычной работы коррелятора без потерь. Отсюда, помеха может быть на 54 дБ больше, но мы её удаляем и работаем спокойно. Если же помеха превышает 54 дБ, то это не означает, что сигнал+шум на входе коррелятора будет равен 0, там просто будет дополнительный шум, который приведёт к потерям, но коррелятор позволяет работать при потерях до 20 дБ.


Цитата(anton @ Sep 30 2009, 11:57) *
насчет АЦП вы глубоко не правы LTC2209 16 бит 160мгц, AD9461 16бит 130мгц.

Не понял причем тут небо и два канала - просто с одного приемного вч тракта сигнал цифруется двумя ацп настроеными на разный уровень сигнала и в цифре принимается решение с какого канала использовать информацию.
Плюс если вы управляете АРУ через цифру то почему не используете в обработке информацию о текушем уровне аттенюаторов (чтото вродже АЦП с плаваюшей точкой)


Примеры ваших АЦП не дотягиваю до моих требований, мне нужно 200 МГц тактовая (при 100 МГц полосы), как я уже говорил. Например, Analog Devices может обеспечить лишь 12 бит для требуемых условий. При этом я не упоминал о потребляемой мощности данного АЦП, считая это несущественным в свете разбираемой проблемы. На деле же я не могу поставить микросхему AD9410, потребляющую 2.4 Вт, это нереальная печка. Требуется не более 0.3 Вт.
Так же, два АЦП потребляют слишком много и удваивают число входных ножек для микросхемы обработки. Мне нужна двухантенная система со всеми возможными диапазонами (L1, L2, E5), при 10-разрядном АЦП это будет 60 входных ножек, при вашем варианте уже 120 входных ножек, сигнал по которым идёт с частотой 200 МГц. При современно технологическом уровне изготовления микросхем (40 нм) это очень много, такой чип будет греться сильно и требовать принудительного охлаждения. Для GPS-приёмников это крайне много и нежелательно.
К тому же даже два АЦП не спасут, если помеха импульсная. Если амплитуда резко повышается, обе АЦП тут же перегружаются и быстрая АРУ в любом случае необходима.

Так же не надо слепо верить характеристикам, указанным на сайте. Для вашей микросхемы AD9461 16бит 130мгц достаточно заглянуть в даташит, где чёрным по белому указана интегральная нелинейность INL +-7 младших разрядов (LSB) то есть от их 16 бит остаётся один пшик. (Для микросхем на 10 бит INL составляет +-0.7 разряда.)
anton
Не в даташит не заглядывал. хотя я как понимаю вам должен больше быть интересен snr и sfdr поскольку измерения вам не производить а необходимо оцифровать сигнал с наибольшим динамическим диапазоном. (у аудио ацп INL тоже не блешет)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.