[an error occurred while processing this directive]
|
Вот значит у меня одна из задач, к которой не совсем пойму как ещё подойти. Есть спектр речевого сигнала, допустим для примера 300 Гц - 3400 кГц. Хочу я его подвинуть на n*100 Гц в сторону увеличения частоты. Нахожу сопряжённый сигнал фильтром Гильберта, потом квадратурная модуляция и вуаля - спектр подвинулся, но из-за природы фильтра Гильберта (того что в Matlab) он давит низкие частоты (сколько, зависит от частоты дискретизации и порядка фильтра). Из-за этого, если синфазный сигнал просто задержать, то спектры сигналов синфазного и квадратурного не эквивалентны в смысле их компенсации модулятором. Я смоделировал пока работу алгоритма просто с задержкой синфазного сигнала (в Mathcad). Видно на АЧХ, что присутствуют не подавленные составляющие с отрицательной стороны по отношению к новой уже не нулевой несущей. Вопрос: есть ли ещё способы сдвинуть спектр реченого сигнала во ВРЕМЕННОЙ области? В принципе можно наверное повесить вместо задержки на пол длины фильтра какой НЧ фильтр, чтобы тоже давил низкие частоты, тогда в результирующем спектре пропадёт отрицательный кусочек. Меня вообще интересует как ещё можно реализовать преобразование Гильберта?
E-mail: info@telesys.ru