Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: подавление отрицательных частот
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Виктор39
на входе имею сигнал в комплексном виде на нулевой частоте. нужно выделить полосу от 0 до 3 кГц. если я отфильтровываю отдельно real и image часть сигнала обычным ФНЧ-ких с полосой от 0 до 3 кГц , то он ведь при этом выделяет полосу не в 3 кГц, а в 6 кГц. т.е. от -3кГц, до 3кГц. не подскажете как быть с этим? как убрать отрицательные частоты?
V_G
Какова цель обработки и какой сигнал нужен на выходе? Если вещественный, то отрицательные частоты будут всегда.
Виктор39
Цитата(V_G @ Mar 26 2014, 13:48) *
Какова цель обработки и какой сигнал нужен на выходе? Если вещественный, то отрицательные частоты будут всегда.



на входе 8psk сигнал. на выходе комплексный сигнал.
des00
я так и не понял, зачем нужно отфильтровать частоты в диапазоне от -3КГц до 0. Какой в этом смысл, если посмотреть такой спектр можно только в комплексном виде.
andyp
Цитата(Виктор39 @ Mar 26 2014, 14:14) *
на входе имею сигнал в комплексном виде на нулевой частоте. нужно выделить полосу от 0 до 3 кГц. если я отфильтровываю отдельно real и image часть сигнала обычным ФНЧ-ких с полосой от 0 до 3 кГц , то он ведь при этом выделяет полосу не в 3 кГц, а в 6 кГц. т.е. от -3кГц, до 3кГц. не подскажете как быть с этим? как убрать отрицательные частоты?


Чтобы из квадратурного сделать вещественный сигнал от 0 до 3 kHz:
фильтруем квадратуры фильтром 1.5 kHz ->переносим сигнал на 1.5 kHz вверх комплексным смесителем->берем реальную часть

и обратно:
SSB сигнал -> ФНЧ(0..3 kHz), если надо -> комплексный смеситель вниз 1.5 kHz

Вполне может быть, что не понял вопроса.
Fat Robot
1. фильтруете I и Q компоненты с помощью фнч 0-3 кГц. попутно можно понизить частоту отсчетов, если исходный сигнал излишне широкополосный. В итоге получается сигнал с полосой -3..+3 кГц

2. комплексным смесителем смещаете получившийся сигнал на -3 кГц.
получается сигнал с полосой -6..0 кГц

3. фильтруете I и Q компоненты с помощью фнч 0-3 кГц.
получается сигнал с полосой -3..0 кГц

4. комплексным смесителем смещаете получившийся сигнал на +3 кГц.
получается сигнал с полосой 0..+3 кГц

Формально как-то так.

Только не вполне понятно, чем вам отрицательная область спектра не угодила.



Цитата(Виктор39 @ Mar 26 2014, 11:14) *
SM
Синтезируйте сразу комплексный фильтр с нужной полосой (в только положительной части спектра), и фильтруйте не отдельно Re и Im компоненты, а комплексным перемножением и суммированием. И все получится. Синтезировать можно сразу заданием такой ассиметричной полосы (в матлабе для этого есть все средства), оптимизация будет лучше, а можно синтезировать действительный фильтр, а его мнимую часть взять как преобразование Гильберта от действительной.

Я реально реализовывал такую фильтрацию в чуть более широком диапазоне частот (+0.05...+16 кГц), в системе преобразования речи для маскировки (неузнаваемости). Причем фильтр нужен был с очень крутыми переходными полосами и жестоким (<-60дБ) подавлением... У Вас, случаем, задача не из этой оперы?
Виктор39
спасибо за помощь. вы правильно поняли вопрос. идею с возможными переносами спектра по частоте и с несколькими фильтрациями я понимал. но наверное идея комплексной фильтрации будет попроще и поинтересней.
если использовать метод с переносами спектра по частоте, понадобиться 4 вещественных фильтрации + два переноса по частоте. если же сразу фильтровать в комплексно виде, можно сэкономить на переносах, учитывая, что одна комплексная фильтрация идентична 4 вещественным.
ASN
Виктор39
Реализовывал подавление отрицательной части спектра и высоких частот предложенным уважаемым SM методом использования комплексного фильтра.
Работает хорошо. IMHO, это наиболее правильный способ.
Fat Robot
Комплексный фильтр более чувствителен к разрядности коэффициентов и к ограничениям по порядку.
Плюс 2 набора коэффициентов
Плюс невозможность что-то отимизировать при изменении частоты отсчетов.

А остальном всё хорошо, да.
SM
Цитата(Fat Robot @ Mar 27 2014, 12:22) *
Плюс невозможность что-то отимизировать при изменении частоты отсчетов.

Это, в каком смысле? Если изменение частоты отсчетов, это прореживание/интерполяция, то никакой разницы в оптимизации нет. Так как нули они и в комплексном виде нули, на какой ноль не умножай, нулем он и останется, получаются те же полифазные фильтры, что и в действительном виде, разница лишь в комплексности мат. операций. Как раз в моем проекте именно на этом фильтре делался сначала 3x интерполятор, а затем 3x прореживатель (а между ними некая обработка на трехкратной Fs.

Насчет ограничения по порядку и чувствительности к разрядности, то для КИХ какой-то заметной разницы нет. А вот с БИХ, тут я не знаю.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.