|
Зашумление частоты |
|
|
|
Jul 29 2009, 19:21
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 1-04-07
Пользователь №: 26 677

|
Товарищи разработчики подскажите, поделитесь опытом! Есть задача для повышения помехоусточивости зашумить частоту 150кГц по случайному/псевдослучайному закону на несколько процентов. Т.е. нужен грязный генератор. Как это наиболее просто сделать? Частоту могу формировать из любой частоты ... не знаю куда копать ...
Сообщение отредактировал Bomj - Jul 29 2009, 19:22
|
|
|
|
|
Jul 29 2009, 20:11
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(Bomj @ Jul 29 2009, 23:21)  Товарищи разработчики подскажите, поделитесь опытом! Под формулировку задачи подходит мой опыт: для симулятора я писал тестбенч, которые генерировал две частоты, одну чистую, вторую грязную. Грязная получалась суммированием различных частот с коэффициентами. В другом проекте тестовая частота периодически менялась от нижней до верхней границы линейно. В общем, тупо применялась фантазия на тему, а какое оно может быть в реальной жизни. Вам может быть в железе надо? Тут опыта нет, только домыслы. Например, некоторые виды джиттера можно изобразить на clock manager-ах FPGA двигая фазу туда и сюда. Еще есть так называемый "spread spectrum clock". Остальные решения - к специалистам.
|
|
|
|
|
Jul 29 2009, 20:20
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 1-04-07
Пользователь №: 26 677

|
если не трудно дайте тестбенч на любом hdl, лучше всего на verilog. почитаю ... я почемуто все думаю в сторону xor операций и рядов... мне нужно придумать простой код, посколько потом это все будет выполнено на cpld.
|
|
|
|
|
Jul 30 2009, 06:37
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 1-04-07
Пользователь №: 26 677

|
Мне нужно получить прямоугольный сигнал 150кГц, скважность не важно - условие чтобы передний форонт плавал в пределах нескольких процентов от частоты 150кГц.
условие - чтобы фронт плавал хаотически, не по линейному закону.
можно сделать счетчик на счетчике который будет плавно менять частоту - но это линейная зависимость. надо както получить чтото нелинейное.
можно собрать генератор псевдослучайной последовательности и этим генератором управлять задающим генератором, но это не простое решение. я думаю есть 100% простое решение на нескольких элементах.
расскажите про нескольких паразитов рядышком - что вы имеете в виду?
Сообщение отредактировал Bomj - Jul 30 2009, 06:41
|
|
|
|
|
Jul 30 2009, 06:55
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(Bomj @ Jul 30 2009, 10:37)  условие - чтобы фронт плавал хаотически, не по линейному закону. Давайте сначала определимся, хаотически (непредсказуемо и неповторимо) или достаточно нелинейно? А копните в сторону систем связи на 2.4GHz, там всякие ZigBee, 802.15.4 используют широкоспектральный псевдослучайный сигнал. Как-то ведь они его делают и предсказывают в приемнике.
|
|
|
|
|
Jul 30 2009, 07:01
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 1-04-07
Пользователь №: 26 677

|
точно сказать смогу после того как запущу систему и испытаю. давайте начнем с самого простого - думаю это второй ваш вариант - достаточно нелинейно.
у меня не система радиосвязи, ничего сложного не нужно. шум нужен для повышения помехоусточивости и поскольку далее сигнал используется для управления механическим устройством - исключить резонансы.
Сообщение отредактировал Bomj - Jul 30 2009, 07:05
|
|
|
|
|
Jul 30 2009, 07:18
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(Bomj @ Jul 30 2009, 11:01)  давайте начнем с самого простого - думаю это второй ваш вариант - достаточно нелинейно. Хорошо. А еще вопрос, задний фронт может стоять как вкопанный? Да, про системы связи я неподумав сказал. Там широкий спектр обеспечивается кодированием данных. Еще приходит в голову LFSR ( http://ru.wikipedia.org/wiki/Linear_feedback_shift_register), простой способ сделать псевдослучайную последовательность в PLD. Дальше результат этого LFSR используйте для определения периода следующего импульса.
|
|
|
|
|
Jul 30 2009, 07:30
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 1-04-07
Пользователь №: 26 677

|
господа, про генератор псевдослуч послед я писал в начале, это вариант рабочий. интересно есть ли еще проще варианты, может быть с применением внкшних RC цепочек...
|
|
|
|
|
Jul 30 2009, 07:42
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(Bomj @ Jul 30 2009, 11:30)  господа, про генератор псевдослуч послед я писал в начале, это вариант рабочий. интересно есть ли еще проще варианты, может быть с применением внкшних RC цепочек... Вообще то генератор ПСЧ на LFSR всяко проще, чем RC цепочка, так как он может быть реализован в CPLD, а RC цепочка нет Код module lfsr_gen(input clk, output dat); reg [7:0] lfsr = 8'b0;
always @(posedge clk) lfsr <= {lfsr[6:0], ~(lfsr[7]^lfsr[0])};
assign dat = lfsr[0];
endmodule
|
|
|
|
|
Jul 30 2009, 10:24
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Bomj @ Jul 30 2009, 01:37)  Мне нужно получить прямоугольный сигнал 150кГц, скважность не важно - условие чтобы передний форонт плавал в пределах нескольких процентов от частоты 150кГц.
условие - чтобы фронт плавал хаотически, не по линейному закону. понятно надо внести джиттер, проще всего это как раз сделать на Цитата можно собрать генератор псевдослучайной последовательности и этим генератором управлять задающим генератором, но это не простое решение. я думаю есть 100% простое решение на нескольких элементах. все зависит от длины последовательности Цитата расскажите про нескольких паразитов рядышком - что вы имеете в виду? например поставить рядышком пару частот 150.1 Кгц и 149.9 Кгц.
--------------------
|
|
|
|
|
Jul 30 2009, 13:36
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(x736C @ Jul 30 2009, 15:22)  Еще вопрос, каким должен быть характер джиттера. Если применить генератор ПСП и реализовать все только средствами ПЛ, то вносимый джиттер будет дискретным. Так ведь? Присоединяюсь к вопросу. Не боюсь показаться занудой, но джиттер всегда дискретный, вопрос лишь в масштабе шага.
|
|
|
|
|
Jul 30 2009, 20:24
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(x736C @ Jul 30 2009, 18:38)  По поводу того, что джиттер всегда дискретный, не понял. Поясните, пожалуйста, не боясь показаться занудой. Также можно сказать, что дискретного джиттера не бывает. Мне просто кажется, что неуместно разделение джиттера на классы. Намой взгляд лучше подробно описать характеристики, потому что один класс плавно перетекает в другой при изменении параматров или учитывании тех или иных свойств. Допускаю, что это от необразованности. Если реализовать на CPLD схему, у которой период выхода определяется количеством периодов тактовой частоты, то джиттер будет дискретным. Если не учитывать джиттер источника тактового сигнала и все остальное, что влияет на выход.
|
|
|
|
|
Aug 3 2009, 13:03
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 1-04-07
Пользователь №: 26 677

|
всем спасибо, хорошо работает на генераторе псевдослуч послед.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|