реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> нужен генератор шума
sup-sup
сообщение Jan 3 2011, 03:11
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Тактовая частота 1500 кГц. Шум должен быть в некоторой полосе вокруг половинной частоты. Это частота дискретизации ADC, а шум хочу попробовать для улучшения отношения сигнал/шум в полосе 0...100 кГц (сам ADC 12-битный, но SFDR 86 dB). Шум нужно будет подмешать во входной аналоговый сигнал ADC на уровне нескольких квантов. После оцифровки отфильтрую и сделаю децимацию.
ПЛИС Cyclone III.
Пока рассматриваю варианты на регистрах или применение сигма дельта модулятора. После них отфильтровать.
Как бы сделать это попроще. На выходе должно хватить однобитного потока.

Сообщение отредактировал sup-sup - Jan 3 2011, 09:03
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 3 2011, 03:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



dither хотите сделать?
обычный генератор псевдослучайной последовательности (на LFSR) подойдет - если его выход пропустить через аналоговый ФНЧ с частотой среза значительно ниже Fclk, то шум будет практически белый. видел подобную схему в статье IEEE.
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Jan 3 2011, 05:32
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(vadimuzzz @ Jan 3 2011, 09:33) *
dither хотите сделать?
обычный генератор псевдослучайной последовательности (на LFSR) подойдет - если его выход пропустить через аналоговый ФНЧ с частотой среза значительно ниже Fclk, то шум будет практически белый. видел подобную схему в статье IEEE.

LFSR (зацепился - регистр сдвига с линейной обратной связью - въезжаю в тему) - в общем понял (в математику пока трудно въехать - попробую просто реализовать)
Спасибо.
Кажется, я рано стал спрашивать, но процесс быстрее пошел.
Думал, что есть какой-нибудь wizard в quartus, но нашел только один генератор NCO - там есть фазовый шум. Попробую применить.
Дело остается в фильтре.
Хочу сделать цифровой, так как он нужен полосовой и с хорошим (?) затуханием как в диапазоне 0-100 кГц, так и в области Fs +/- 100 kHz.
***
Кажется. что-то не так. Если я возьму однобитный поток, то спектр будет периодический и попадет на Fs. Вообще то, диапазон ADC нужен 20 кГц - 100 кГц, поэтому можно допустить шумы в диапазон 0-20 кГц (Fs +/- 20 kHz). Получается, мне нужен меандр Fs/2 с полосой модуляции шума не более 20 кГц. Или все-таки, применить аналоговый фильтр. LC, что-ли?
В общем, нужен шум в несколько уровней квантования и чтобы он не попал в полосы сигнала и алиасинга.
***
У меня есть (был) реальный источник шума в виде импульсного источника питания (около 550 кГц) и после устранения его влияния оказалось (очень странно), что младший бит ADC практически не флуктуирует, что приводит к ухудшению разборчивости слабого сигнала к шуму в полосе приема. Получается, что с помехой от источника питания прием идет лучше. Но этот шум может поменять частоту и оказаться в полосе. Поэтому ищу источник контролируемого шума.

Сообщение отредактировал sup-sup - Jan 3 2011, 06:02
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 3 2011, 06:31
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата
Вообще то, диапазон ADC нужен 20 кГц - 100 кГц

по той схеме, что я выше писал, подойдет источник с полосой порядка килогерца, причем начинать лучше с 0. фильтр по-любому надо аналоговый, чтобы зеркалки не завернулись в спектр сигнала. разнос частот между сигналом и шумом позволит сделать не слишком громоздкий фильтр. вообще, этот метод не сигнал/шум призван улучшить, а именно SFDR.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 3 2011, 06:33
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



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


Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 3 2011, 06:33
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(sup-sup @ Jan 3 2011, 14:32) *
Думал, что есть какой-нибудь wizard в quartus, но нашел только один генератор NCO - там есть фазовый шум. Попробую применить.

это оно и есть, паразитки у NCO подавляет, ценой ухудшения SNR
Go to the top of the page
 
+Quote Post
ledum
сообщение Jan 3 2011, 08:34
Сообщение #7



******

Группа: Участник
Сообщений: 3 650
Регистрация: 1-02-09
Из: Киев
Пользователь №: 44 237



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

Сообщение отредактировал ledum - Jan 3 2011, 08:41
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Jan 3 2011, 08:55
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(ledum @ Jan 3 2011, 14:34) *
Наверное надо все-таки уточнить, что надо оцифровывать. У нас все диззеры на AD6654 всегда выключены. При работе по реальному сигналу в каналах связи (если это только не сферический конь в вакууме типа монохромной палки с уровнем, близким к шумам квантования - т.е. при чистой метрологии), он сам обычно является хорошим диззером. Иначе, возможна системная ошибка - недоиспользование динамдиапазона АЦП сверху. В Хоровице с Хиллом был неплохой генератор нормированного шума на ПСП и цифро-аналоговом фильтре.

ADC ADS7883. Пока задача - выжать максимальный диапазон (80дБ будет хорошо) с тем, чтобы обойтись без AGC при малых сигналах. Действительно, в реальной среде, должны быть флуктуации, т.е. задача только (скорее всего) отладочная.
Я с Альтерой давно не работал - продвигаюсь медленно.
Вычитать шум из сигнала кажется излишним, так как шум должен быть размещен вне полосы и должен уйти после цифровой фильтрации, которую все равно (для повышения эквивалентной разрядности) буду делать перед прореживанием выборок.
А с частотным диапазоном (шума) вопрос остался.
Понимаю, что лучше всего чтобы шум рос от 100кГц до частоты Fs/2 и потом падал до частоты Fs-100кГц.
Так как я хочу отыграть 10-20 дБ, то наверное и отношение плотности шума вне полосы относительно рабочего диапазона должно быть примерно таким же.
Но у меня нет DAC - могу только однобитный поток дать. И вопрос - как получить такое распределение шума (0дБ на частоте Fs/2 и спад по -20дБ до рабочей и зеркальной полос)...
***(Возможно, ответ уже был, но я еще не понял).
*** И с Новым Годом !!! santa2.gif

Сообщение отредактировал sup-sup - Jan 3 2011, 09:41
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Jan 4 2011, 15:59
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Генератор шума сделал на сдвиговом регистре. Работает. Посмотрел спектр - почти равномерный. Замешал с сигналом через RC-цепь, поподбирал параметры - получил флуктуацию в пределах 2 бит. Теперь думаю как все-таки сосредоточить этот шум в нужной полосе. И можно ли обойтись однобитовым каналом.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 4 2011, 16:11
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(sup-sup @ Jan 4 2011, 20:59) *
Генератор шума сделал на сдвиговом регистре. Работает. Посмотрел спектр - почти равномерный.

Какой длины регистр, отводы от каких разрядов? А спектр как смотрели? По-моему, он не должен быть равномерным, а sin(x)/x огибающая, зависящая от тактовой частоты, и внутри куча палок, зависящая от периода повторения последовательности (длины регистра). Хотя, может, и ошибаюсь. Сейчас гляну куда-нибудь.
Глянул - все так, как я сказал. Т.е., только в самом начале спектр примерно равномерный, потом спадает...
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Jan 4 2011, 17:24
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(ViKo @ Jan 4 2011, 23:11) *
Какой длины регистр, отводы от каких разрядов? А спектр как смотрели? По-моему, он не должен быть равномерным, а sin(x)/x огибающая, зависящая от тактовой частоты, и внутри куча палок, зависящая от периода повторения последовательности (длины регистра). Хотя, может, и ошибаюсь. Сейчас гляну куда-нибудь.
Глянул - все так, как я сказал. Т.е., только в самом начале спектр примерно равномерный, потом спадает...

Отводы от 17 и 30 разрядов. Частота CLK 50 MHz.
Сигнал записал на осциллограф и посмотрел спектр SPECTRAPLUSом.
Действительно, верхние частоты завалены.

Вот еще картинки слабого сигнала 50кГц.
1. без вмешательства
2. с подмешанным шумом
3. с подмешанным меандром 195 кГц (на 20 дБ выше, чем принимаемый сигнал).
Пока получается, что лучше всего подмешивать узкополосный вспомогательный 'сигнал', но думаю, я еще с шумом недоразобрался.


Сообщение отредактировал sup-sup - Jan 4 2011, 17:13
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016