Цитата(ASergej_R19 @ Apr 20 2007, 22:14)

Попрошу не бить, а помочь по возможности чайнику...
Нужно построить спектр огибающей в заданной полосе частот, но я не очень хорошо себе представляю как это сделать вообще, и как легче (по загрузке процессорного времени). Причем хотелось бы спектр огибающей иметь с лучшим разрешением (при той же разрядности ДПФ), чем у общей входной полосы частот... Сумбруно получается, потому что сам слабо себе представляю общую схему, но попробую рассказать...
Есть оцифрованный действительный сигнал -> выделяем нужную полосу частот полосовым фильтром. Далее делаем преобразование Гильберта и получаем аналитический сигнал. Далее находим амплитудную огибающую как модуль аналитического сигнала и домножаем на e(-jwt), сдвигая спектр таким образом, чтобы начало выделенной полосы частот совпадало с 0 на оси частот. По идее, т.к. у нас полоса частот выделена еще на первом этапе, то можно как-то это наверное проредить без антиалиазинговых фильтров до частоты дескритизации = минимум удвоенной частоте выделенной полосы, после чего сделать ДПФ и получить искомый спектр.
Мой начальный вопрос - такая схема верна? Если нет - в чем ошибка?
Если где ошибся в определениях - не пинайте, лучше подскажите...
Спасибо...
Начало верное:
1. Антиалиасинговый фильтр - это, как правило, фильтр Найквиста и он необходим перед проведением аналого-цифрового преобразования для того, чтобы внеполосные или другие побочные составляющие не проникли в спектр оцифрованного сигнала.
2. Получить аналитический сигнал используя преобразование Гильберта.
3. Получить комплексную огибающую полосового сигнала. Для этого полученный квадратурный сигнал снести в область нулевой частоты используя обычный преобразователь частоты (гетеродин + смеситель), т.е. как Вы указали домножить сигнал на поворачивающий множитель e(-jwt), обратите внимание на возможную при этом инверсию спектра. После этого можно понизить частоту дискретизации вплоть до частоты дискретизации, равную или несколько превышающую ширину полосы исходного сигнала, используя один из алгоритмов интерполяции.
4. Используя один из алгоритмов БПФ (FFT) для комплексных сигналов, получить Фурье-образ вашего сигнала. При этом, можно накапливать несколько независимых кадров для усредения составляющей шума, а также применить различные методы сглаживания соседних отсчетов, чтобы исключить случайные выбросы, сам все это использовал и проверял, получается довольно реалистично. Еще один момент - так как идеальные фильтры получить невозможно, а у реально спректированных имеется некоторая полоса перехода между полосой пропускания и полосой задержания, то при проведении FFT наш результирующий спектр будет завален на краях, и поэтому реально отображать надо не весь спектр, а лишь его часть, т.е. без полосы перехода. Например, разрешение FFT - 65536 точек и коэффициент сглаживания формирующего фильтра - 0,35. При этом реальное число отображаемых точек будет: 65536*(1-0,35)=42528.
5. Но при этом всем возникает еще одна проблема - мы будем видеть только половину спектра сигнала, т.к. он перенесен в область нулевой частоты, и таким образом реально складывающуюся картину сигнала мы не увидим. Поэтому можно предложить следующий вариант: перейти, если это возможно, с исходной частоты дискретизации АЦП на частоту дискретизации сигнала в 4 раза большую полосы исходного сигнала (это с учетом того, что после FFT, мы видим только половину спектра, т.к. вторая половина представляет собой зеркальное отображение первой) и затем перенести сигнал с несущей частоты на промежуточную частоту, номинал которой равен ширине полосы исходного сигнала, а затем уже можно использовать все те алгоритмы и методы которые описаны выше.