|
Зашумление частоты |
|
|
|
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)  Еще вопрос, каким должен быть характер джиттера. Если применить генератор ПСП и реализовать все только средствами ПЛ, то вносимый джиттер будет дискретным. Так ведь? Присоединяюсь к вопросу. Не боюсь показаться занудой, но джиттер всегда дискретный, вопрос лишь в масштабе шага.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|