Здравствуйте! Столкнулся с задачей генерации псевдослучайного сигнала с известной спектральной плотностью мощности (1684 спектральных линий). С ходу попробовал следующее решение: формирую коэффициенты для БПФ таким образом, чтобы на заданной частоте была заданная мощность (re*re+im*im = Power*Power); При этом фазы формирую через Random.
Возникли следующие "неприятности": 1) из-за необходимости менять фазу от фрагмента к фрагменту возникла задача плавной стыковки. (для того, чтобы в моменты состыковки не было бы "щелчков" из-за разрывов во временной области. (решил путём плавного уменьшения сигнала на предыдущем фрагменте и плавного увеличения на следующем). Но решение мне не совсем нравиться, т.к. выходной спектр получается достсточно непредсказуемый на месте состыковки. Может быть посоветуете чего ?
2) Кроме спектральной мощности задан пик-фактор сигнала (отношение пикового значения во временной области к среднеквадратичному). Когда я просто "обрезаю" выходящие за предел пики, такое "обрезание" приводит к появлению спектральных линий за пределами заданного спектра. Поснему задача: генерация случайного сигнала с заданной спектральной плотностью и заданным пик-фактром.
Может быть кто-то сталкивался с чем-то подобным?
Добавлю: На борту есть аппаратный генератор случайных чисел (внутри AMD Geode LX800) с равномерной плотностью распределения, который можно, впинципе, использовать как источник белого шума. Может быть его как-то задействовать ?
|