поделитесь, пожалуйста, информацией где можно найти или самими алгоритмами ЦОС интересует: 1. полосовой фильтр с перестраиваиваемыми характеристиками что-нибудь типа
int[] freq = { 200, 1200, 2000 }; центральные частоты int[] band = { 200, 300, 500 }; полосы double[] ampl = { 1.0, 0.8, 0.5 }; усиление в полосе snd[] - массив отсчетов
bandPass( int[] snd, int sampleRate, int[] freq, int[] band, double[] ampl)
а на выходе профильтрованный сигнал
или же, наоборот, многополосный резонатор, вроде, результат должен быть аналогичный.
2. как имея спектр сигнала, полученный с помощью БПФ, восстановить сигнал на заданном промежутке времени? например, имеется БПФ сигнала, скажем, 16384 отсчета, что при ОБПФ приводит к восстановлению сигнала длительностью 200 мс. а требуется получить, например 1 сек. насколько я понимаю, после ОБПФ надо в спектре на каждой частоте провернуть фазу, для каждой частоты на свой угол, и снова сделать ОБПФ и так несколько раз. а как это сделать быстро? или есть какой-то другой способ?
3. как просто сгенерировать узкополсный шум? в книжке нашел, что узкополосный шум описывется формулой A = A(t)*Sin(wt + fi(t)) где A(t) и fi(t) сигналы, медленно, по сравненению с wt меняющиеся по времени. а как это реализовать на практике? если, например, в качестве A(t) и fi(t) использовать генераторы случайных сигналов, узкополосности не получится.
|