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

 
 
> Генерация случайного сигнала с заданной спектральной плотностью
sysel
сообщение Nov 8 2008, 10:44
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Здравствуйте!
Столкнулся с задачей генерации псевдослучайного сигнала с известной спектральной плотностью мощности (1684 спектральных линий).
С ходу попробовал следующее решение: формирую коэффициенты для БПФ таким образом, чтобы на заданной частоте была заданная мощность (re*re+im*im = Power*Power); При этом фазы формирую через Random.

Возникли следующие "неприятности":
1) из-за необходимости менять фазу от фрагмента к фрагменту возникла задача плавной стыковки. (для того, чтобы в моменты состыковки не было бы "щелчков" из-за разрывов во временной области. (решил путём плавного уменьшения сигнала на предыдущем фрагменте и плавного увеличения на следующем). Но решение мне не совсем нравиться, т.к. выходной спектр получается достсточно непредсказуемый на месте состыковки. Может быть посоветуете чего ?

2) Кроме спектральной мощности задан пик-фактор сигнала (отношение пикового значения во временной области к среднеквадратичному). Когда я просто "обрезаю" выходящие за предел пики, такое "обрезание" приводит к появлению спектральных линий за пределами заданного спектра.
Поснему задача: генерация случайного сигнала с заданной спектральной плотностью и заданным пик-фактром.

Может быть кто-то сталкивался с чем-то подобным?

Добавлю:
На борту есть аппаратный генератор случайных чисел (внутри AMD Geode LX800) с равномерной плотностью распределения, который можно, впинципе, использовать как источник белого шума. Может быть его как-то задействовать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alex_os
сообщение Nov 9 2008, 08:59
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(sysel @ Nov 8 2008, 13:44) *
...
1) из-за необходимости менять фазу от фрагмента к фрагменту возникла задача плавной стыковки. (для того, чтобы в моменты состыковки не было бы "щелчков" из-за разрывов во временной области. (решил путём плавного уменьшения сигнала на предыдущем фрагменте и плавного увеличения на следующем). Но решение мне не совсем нравиться, т.к. выходной спектр получается достсточно непредсказуемый на месте состыковки. Может быть посоветуете чего ?

По сути Вам нужно белый шум пропустить через формирующий фильтр требуемым АЧХ. Это можно сделать как во временной области так и в частотной ( что Вы и пытаетесь сделать ). Если устроит кусочно - линейная апроксимация АЧХ фильтр можно посчитать в матлабе функцией remes или pmfir. Как делать фильтрацию в частотной области чтобы не было разрывов на стыке блоков читать Рабинера с Голдом.


Цитата(sysel @ Nov 8 2008, 13:44) *
2) Кроме спектральной мощности задан пик-фактор сигнала (отношение пикового значения во временной области к среднеквадратичному). Когда я просто "обрезаю" выходящие за предел пики, такое "обрезание" приводит к появлению спектральных линий за пределами заданного спектра.
Поснему задача: генерация случайного сигнала с заданной спектральной плотностью и заданным пик-фактром.


Это уже интереснее. Если формирующий фильтр будет достаточно длинный и достаточной узкополосный, то какое бы не было распределения на выходе генератора шума - распределение на выходе формирующего фильтра будет стремится к нормальному ( в силу центральной предельной теоремы). У нормального распределения совершенно определенный пик фактор. Если Вы попытаетесь как-то ограничить сигнал на выходе фильтра чтобы уменьшить пик-фактор то исказится спектр.
Проблема похожа на OFDM PARP reduction если гуглом поискать то много чего находится.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
shf_05
сообщение Nov 10 2008, 17:38
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



можно получить нормальный шум- сложить 10-15 значений равномерного, а затем на форм. ф-р любой полосы и АЧХ, после к-го с-л все равно будет нормальный.

Цитата(Crusher @ Nov 10 2008, 20:10) *
В памяти всплывает аппроксимация рядом Каца-Шинозуки...Вкратце, формируется как:

s(t)=sum(sin(w(i)*t+psi))
i=1..N

psi-равномерно распределенная фаза сигнала от 0 до 2*pi, w(i)-случайная величина с функцией распределения, соответствующей нужной форме спектра. Всего суммируется N гармоник для получения одного отсчета сигнала. Как-то так...Подробности могу дома поискать, если будет надо...


вроде должно работать, тока наверное при малой девиации напр. 0,1*psi и если не считать вычисление синуса недостатком алг-ма

Цитата(Crusher @ Nov 10 2008, 20:10) *
В памяти всплывает аппроксимация рядом Каца-Шинозуки...Вкратце, формируется как:

s(t)=sum(sin(w(i)*t+psi))
i=1..N

psi-равномерно распределенная фаза сигнала от 0 до 2*pi, w(i)-случайная величина с функцией распределения, соответствующей нужной форме спектра. Всего суммируется N гармоник для получения одного отсчета сигнала. Как-то так...Подробности могу дома поискать, если будет надо...


вроде должно работать, тока наверное при малой девиации напр. 0,1*psi и если не считать вычисление синуса недостатком алг-ма
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 17:57
Рейтинг@Mail.ru


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