[an error occurred while processing this directive]
|
Недавно задавал вопрос про Гильберта.
Вкратце задача такая
Есть сигнал с полосой 30...2000Гц (Fs = 10000 Гц)
Необходимо произвести сдвиг фазы на 90 градусов.
И при этом не потерять амплитуду (требования к точности амплитуды - порядка 0.5%)
Прямое преобразование Гильберта практически нереализуемо.
Кто-то посоветовал перенести сигнал повыше по частоте, там сделать преобразование а потом вернуть.
Я это попробовал сделать вот так.
1) u0 - исходный сигнал (вещественный), пока сигнал тестовый - синус 50 Гц
перенес его на 2500 Гц (FS/4) наверх
u1 = u0 * exp( i 2 pi t 2500)
сигнал становится комплексным
2) делаю преобразование гильберта (КИХ фильтр 20го порядка с последующим сдвигом для компенсации групповой задержки)
на графиках наблюдаю четкий сдвиг сигнала на требуемые 90 градусов
u2 - результат преобразования
3) переношу сигнал по частоте вниз u3 = u2 * exp( - i 2 pi t 2500)
И получаю совсем не то что ожидаю.
Сигнал u3 - чисто мнимый. Т.е. исходный косинус послушно превратился (-i)*синус, что в принципе вполне объяснимо.
Но вот никак не могу понять как мне теперь получить то что я хочу - мой исходный вещественный сигнал со сдвигом на четверть периода.
Подскажите, что я сделал не так ?
E-mail: info@telesys.ru