Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фильт мой алгоритм
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
ivan219
Небольшое исследование на предмет фильтрации сигнала.

Смотрим рисунок.
Он разбит на три блока:
1. Из вещественного сигнала делаем комплексный сигнал с помощью преобразования Гильберта спектр сигнала находится в положительных частотах.
2. Двойной квадратурный гетеродин.
3. Фазавращатель, преобразование Гильберта.

Сигнал в первом блоке превращается в комплексный нужно для того, что бы при сдвиге сигнала по частоте не порождались лишни спектральные составляющие, во втором блоке происходит сдвиг сигнала по частоте вверх ВЧ фильтр или в низ НЧ фильтр. При этом сигнал из положительных частот уходит в отрицательные. Третьим блоком мы поворачиваем фазу на 90 град. в первом канале. При этом сигналы с отрицательной частотой становятся в противофазу и гасятся. А сигнал с положительной частотой синфазные при сложении выделяются (выделение верхней боковой полосы).

На первый взгляд очень хороший фильтр не нужная полоса давится до 0 но что то мне подсказывает что тут что, то не чисто не может всё быть так просто уж очень идеальный фильтр получается.

Какие будут высказывания?
bahurin
Очевидно, ваш рисунок можно нарисовать более понятно. Примерно так:

Нажмите для просмотра прикрепленного файла

Во вторых не понятно совсем что вы пытаетесь сделать? Если не ошибаюсь, то после сумматора сверху будет ssb с верхней боковой, а снизу ssb с нижней боковой. Смысл второго ПГ не ясен.
ivan219
Цитата(bahurin @ Feb 4 2011, 09:10) *
Очевидно, ваш рисунок можно нарисовать более понятно. Примерно так:


Нет ваш алгоритм другой проверил совсем другой эффект получается.

Цитата(bahurin @ Feb 4 2011, 09:10) *
Во вторых не понятно совсем что вы пытаетесь сделать? Если не ошибаюсь, то после сумматора сверху будет ssb с верхней боковой, а снизу ssb с нижней боковой. Смысл второго ПГ не ясен.


Я пытаюсь понять, что у меня получилось, чисто по эксперименту получился хороший фильтр с переносом частоты в 0. Но это то и настораживает. Поэтому и обратился сюда, так как самому пока опыта не хватает всё осознать.

Снова не верно после первых сумматоров не будет чистого SSB будет DSB, поэтому там и стоит фазавращатель ПГ.
bahurin
Цитата(ivan219 @ Feb 4 2011, 13:10) *
Нет ваш алгоритм другой проверил совсем другой эффект получается.


Ну здрасьте вот вам пояснения на основе вашей схемы:

Нажмите для просмотра прикрепленного файла

Точки А и Б на верхнем и нижнем преобразователях одинаковые по схеме. Желтым обозначен чисто SSB модулятор с верхней боковой это точка A+Б. Соответственно A-Б - SSB модулятор с нижней боковой. Ниже показана схема А+Б и А -Б и стоящие дальше ПГ и сумматор. Так что схема что я привел и что вы привели абсолютно идентичны. Видимо ваш эксперимент ей не соответствует.

Блин сорри не обратил внимание на перехлест виноват схемы не идентичны

HFSSLer
[quote name='ivan219' date='Feb 4 2011, 01:56' post='878966']
Небольшое исследование на предмет фильтрации сигнала.

По-моему, Вы "масло-масленное" нарисовали. На верхнем квадратурном умножителе, получите однополосный перенесенный на нужную частоту сигнал, (т. е. то же что и у вас на выходе) а на верхнем сумматоре действительный, а нижняя часть бессмысленна.
связист
Цитата(HFSSLer @ Feb 5 2011, 23:06) *
По-моему, Вы "масло-масленное" нарисовали. На верхнем квадратурном умножителе, получите однополосный перенесенный на нужную частоту сигнал, (т. е. то же что и у вас на выходе) а на верхнем сумматоре действительный, а нижняя часть бессмысленна.

Ничего не бессмысленно.
Всё это похоже на какой-то оптимальный оцениватель сдвига частоты или вычислитель сигнала ошибки для поиска сдвига частоты.
А в том, что нарисовал bahurin есть ошибка - верхняя картинка не равна нижней. Смотрите внимательнее куда идут вещественная и мнимая части аналитического сигнала.
ivan219
Цитата(HFSSLer @ Feb 5 2011, 23:06) *
По-моему, Вы "масло-масленное" нарисовали. На верхнем квадратурном умножителе, получите однополосный перенесенный на нужную частоту сигнал, (т. е. то же что и у вас на выходе) а на верхнем сумматоре действительный, а нижняя часть бессмысленна.


Ниже приведён более понятный рисунок. Всё расписал формулами может так будет понятнее.

Распишем уравнение для одной гармонической функции.

1) Преобразование Гильберта S(t) -> ПГ -> Sорт(t)

S(t) = Sin(f1 * t) -> ПГ -> Sорт(t) = Cos(f1 * t);

I = Sin(f1 * t);

Q = Cos(f1 * t);

2) Производим умножение на две комплексные экспоненты f0 < f1.

Принимаем f1 + f0 = f3; f1 – f0 = f4;

I = Sin(f1 * t) * Cos(f0 * t) + Cos(f1 * t) * (-Sin(f0 * t)) =

Sin(f1 * t) * Cos(f0 * t) - Cos(f1 * t) * Sin(f0 * t) =

0.5 * (Sin((f1 + f0) * t) + Sin((f1 – f0) * t)) – (0.5 * (Sin((f1 + f0) * t) – Sin((f1 – f0) * t))) =

0.5 * (Sin(f3 * t) + Sin(f4 * t) – Sin(f3 * t) + Sin(f4 * t)) = Sin(f4 * t);

I = Sin((f1 – f0) * t) = Sin(f4 * t);

Q = Cos(f1 * t) * Cos(f0 * t) - Sin(f1 * t) * (-Sin(f0 * t)) =

Cos(f1 * t) * Cos(f0 * t) + Sin(f1 * t) * Sin(f0 * t) =

0.5 * (Cos((f1 + f0) * t) + Cos((f1 – f0) * t)) + 0.5 * (Cos((f1 – f0) * t) – Cos((f1 + f0) * t)) =

0.5 * (Cos(f3 * t) + Cos(f4 * t) + Cos(f4 * t) – Cos(f3 * t)) = Cos(f4 * t);

Q = Cos((f1 – f0) * t) = Cos(f4 * t);

3) Фазавращатель на ПГ.

I = Sin(f4 * t) -> ПГ -> Iорт = Cos(f4 * t);

S’(t) = I орт + Q = Cos(f4 * t) + Cos(f4 * t) = 2 * Cos(f4 * t) = 2 * Cos((f1 – f0) * t);

Распишем уравнения для двух гармонических функций.

1) Преобразование Гильберта S(t) -> ПГ -> Sорт(t)

S(t) = Sin(f1 * t) + Sin(f2 * t) -> ПГ -> Cos(f1 * t) + Cos(f2 * t);

I = Sin(f1 * t) + Sin(f2 * t);

Q = Cos(f1 * t) + Cos(f2 * t);

2) Производим умножение на две комплексные экспоненты f1 < f0 < f2

Принимаем f2 – f0 = f4; f1 – f0 = f3

Из условия f0 < f2 на выходе будет сигнал S’(t) = 2 * Cos((f2 – f0) * t) = 2 * Cos(f4 * t);

Из условия f1 < f0 получаем

I = Sin((f1 – f0) * t) = Sin(-f3 * t) = -Sin(f3 * t);

Q = Cos((f1 – f0) * t) = Cos(-f3 * t) = Cos(f3 * t);

3) Фазавращатель на ПГ.

I = -Sin(f3 * t) -> ПГ -> Iорт = -Cos(f3 * t);

S’(t) = Iорт + Q = -Cos(f3 * t) + Cos(f3 * t) = 0;

Таким образом, все частоты, попадающие в отрицательную область спектра взаимно уничтожаются, а частоты попадающие в положительную область выделяются.
HFSSLer
Спасибо за разъяснения. Посмотрел повнимательней, вроде должно получаться, хотя простым такой способ фильтрации не назовешь. На досуге попробую отмоделировать. cranky.gif
Михаил_K
Че-то не понял. Что фильтруем-то? Хотите убрать отрицательные частоты? А выход фильтра у вас действительный?
ivan219
Цитата(Михаил_K @ Feb 7 2011, 15:16) *
Че-то не понял. Что фильтруем-то? Хотите убрать отрицательные частоты? А выход фильтра у вас действительный?

И вход, и выход действительный. Фильтруем отрицательные частоты.
связист
Цитата(ivan219 @ Feb 8 2011, 20:07) *
И вход, и выход действительный. Фильтруем отрицательные частоты.


А не кажется ли Вам, что есть загвоздка в этих рассуждениях --- если сигнал действительный, то у него комплексно-сопряжённый спектр?
Если убрать отрицательные частоты, то спектр уже не комплексно-сопряжённый, и сигнал по определению не может быть действительным.
GetSmart
Так то ведь, в действительном сигнале отрицательные частоты просто неотличимы от положительных. И никакое преобразование Гильберта не сможет помочь их отличить.

Знакомый глюк в логической цепочке.
bahurin
Цитата(GetSmart @ Feb 10 2011, 04:26) *
Так то ведь, в действительном сигнале отрицательные частоты просто неотличимы от положительных. И никакое преобразование Гильберта не сможет помочь их отличить.

Знакомый глюк в логической цепочке.


Ну почему не отличимы? Преобразование Гильберта позволяет получить ортогональное дополнение sort(t) к сигналу s(t), такое, что коплекснный сигнал z(t) = s(t)+j sort(t) не будет иметь частот в отрицательной области. Кроме того можно взять комплексный фильтр и в действительном сигнале вырезать, хоть положительную частоту, хоть отрицательную. Но выходной сигнал станет комплексным.
GetSmart
Цитата(bahurin @ Feb 10 2011, 11:06) *
Ну почему не отличимы? Преобразование Гильберта позволяет получить ортогональное дополнение sort(t) к сигналу s(t), такое, что коплекснный сигнал z(t) = s(t)+j sort(t) не будет иметь частот в отрицательной области. Кроме того можно взять комплексный фильтр и в действительном сигнале вырезать, хоть положительную частоту, хоть отрицательную. Но выходной сигнал станет комплексным.

Дык одновременно не могут присутствовать и отрицательные и положительные частоты в вещественном сигнале. Или точнее они смешиваются и уже не отделяются друг от друга. Гильберт нервно курит в сторонке.
thermit
Цитата
GetSmart:
Или точнее они смешиваются и уже не отделяются друг от друга. Гильберт нервно курит в сторонке.


Ну, смешиваться спектральные компоненты положительных и отрицательных частот дискретного сигнала могут только в случае наложения спектров. В этом случае никакой гильберт не поможет.
Для аналогового сигнала такая ситуация означает равенство положительных и отрицательных частот, что принципиально невозможно. Кроме того, что значит "смешиваются"? Суммируются?

GetSmart
Цитата(thermit @ Feb 10 2011, 14:00) *
Кроме того, что значит "смешиваются"? Суммируются?

Да, после отбрасывания мнимой части отсчётов (или просто при неквадратурной оцифровке) отрицательные и положительные компоненты спектра сложились вместе. Например частота -100 гц сложится с частотой +100 гц. В исходном сигнале не было т.н. наложения спектров. Был отдельный сигнал +100 гц и другой -100. А после отбрасывания мнимой части, спектры уже как бы наложились. А автор ветки хочет сделать чудо и снова их разделить.
thermit
Цитата
ivan219:
Ниже приведён более понятный рисунок. Всё расписал формулами может так будет понятнее.


На выходе устройства будет комплексный сигнал с равными вещественной и мнимой частями. Каждая из них будет суммой входного сигнала с его гильбертовым сопряжением. Никакой фильтрации отрицательных частот тут быть не может.


Цитата
GetSmart:
Да, после отбрасывания мнимой части отсчётов (или просто при неквадратурной оцифровке) отрицательные и положительные компоненты спектра сложились вместе. Например частота -100 гц сложится с частотой +100 гц. В исходном сигнале не было т.н. наложения спектров. Был отдельный сигнал +100 гц и другой -100. А после отбрасывания мнимой части, спектры уже как бы наложились. А автор ветки хочет сделать чудо и снова их разделить.


Да. Ваши рассуждения по степени инновационности сопоставимы с рассуждениями топикстартера...


GetSmart
Цитата(thermit @ Feb 10 2011, 14:46) *
Да. Ваши рассуждения по степени инновационности сопоставимы с рассуждениями топикстартера...

Почему? Что-то непонятно?
bahurin
Цитата(GetSmart @ Feb 10 2011, 12:17) *
А после отбрасывания мнимой части, спектры уже как бы наложились. А автор ветки хочет сделать чудо и снова их разделить.


Ну как бы в чем проблема и разделить? есть сигнал s (N отсчетов) берем FFT получаем спектр S. Первые N/2 отсчетов спектра - положительные частоты сигнала s, вторая половина - отрицательные. Обнулите первую или вторую половину спектра и возьмите ifft получите сигнал (комплексный) без положительных, или отрицательных частот (аналитический сигнал).
thermit
Цитата
GetSmart:
Почему? Что-то непонятно?


Цитата
Да, после отбрасывания мнимой части отсчётов (или просто при неквадратурной оцифровке) отрицательные и положительные компоненты спектра сложились вместе. Например частота -100 гц сложится с частотой +100 гц. В исходном сигнале не было т.н. наложения спектров. Был отдельный сигнал +100 гц и другой -100. А после отбрасывания мнимой части, спектры уже как бы наложились.


???
HFSSLer
Автор вроде подробно все расписал в обычной тригонометрии. Посмотрите внимательней, вроде там нет ошибок. Просто он условно называет отрицательными частоты, которые меньше несущей, они естествено на выходе будут действительными только в противофазе в суммируемых каналах, зачем к терминологии придираться, где ошибка по сути?
HFSSLer
Цитата(GetSmart @ Feb 10 2011, 12:17) *
Да, после отбрасывания мнимой части отсчётов (или просто при неквадратурной оцифровке) отрицательные и положительные компоненты спектра сложились вместе. Например частота -100 гц сложится с частотой +100 гц. В исходном сигнале не было т.н. наложения спектров. Был отдельный сигнал +100 гц и другой -100. А после отбрасывания мнимой части, спектры уже как бы наложились. А автор ветки хочет сделать чудо и снова их разделить.


Если эти +100 Гц и -100 Гц были изначально разными сигналами со своими начальными фазами (т. е у них был разнос 200 Гц в исходном сигнале, а частота гетеродина посередине), то естественно они будут одной частоты в действительном виде и четко лягут друг на друга, только принцип суперпозиции и для действительных сигналов никто не отменял и сигнал +100 Гц на выходе этой схемы удвоится по амплитуде, а сигнал условно -100 Гц ослабиться пропорционально степени противофазности.
thermit
Да нормально все у автора. Нету никаких ошибок.
В посте 17 - эт я картинку не разглядел. Вопщем - был не прав.
HFSSLer
Цитата(thermit @ Feb 11 2011, 01:42) *
Да нормально все у автора. Нету никаких ошибок.
В посте 17 - эт я картинку не разглядел. Вопщем - был не прав.


Мне сказали, что у Верзунова "Однополосная модуляция в радиосвязи" что-то подобное описано, но я еще не посмотрел.
ivan219
Вот тут как всё сложно sm.gif А ведь я в первом посте писал для чего мне нужно преобразование Гильберта. И даже формулами всё расписал. Если на вход подать не комплексный сигнал, а действительный то после умножителя будут порождены не нужные спектральные компоненты. А так спектр остаётся чистый, и мы его можем, двигаем по частотной оси в отрицательную область или положительную. После чего отрицательная область подавляется, так как на выходе второго преобразования Гильберта, которое является простым фазовращателем будет противофазно по отношению с выходом Q, а положительные частоты будут синфазные. Единственно, что смущает так это частота f0 умножителя должна быть кратна степени 2, т.е. иметь целое количество периодов на отрезке в N отсчётов в противном случае порождаются не нужные спектральные компоненты, но при этом, на входной сигнал это условие не распространяется.
thermit
Цитата
ivan219:
Единственно, что смущает так это частота f0 умножителя должна быть кратна степени 2, т.е. иметь целое количество периодов на отрезке в N отсчётов в противном случае порождаются не нужные спектральные компоненты, но при этом, на входной сигнал это условие не распространяется.


Да нет, конечно. Частота может быть любой. Качество "фильтрации" целиком определяется преобразователем гильберта.
ivan219
Внизу скриншот показывающий работу алгоритма.
GetSmart
Цитата(ivan219 @ Feb 8 2011, 22:07) *
И вход, и выход действительный. Фильтруем отрицательные частоты.

А мне показалось странным только это предложение. Без каких-либо оговорок.

Тем более, что судя по скринам, сначала спектр из только положительных частот сдвигается частично в область отрицательных, а затем отрицательные фильтруются.
ivan219
Цитата(ivan219 @ Feb 4 2011, 01:56) *
При этом сигнал из положительных частот уходит в отрицательные. Третьим блоком мы поворачиваем фазу на 90 град. в первом канале. При этом сигналы с отрицательной частотой становятся в противофазу и гасятся.


Цитата(ivan219 @ Feb 8 2011, 20:07) *
И вход, и выход действительный. Фильтруем отрицательные частоты.


Цитата(GetSmart @ Feb 13 2011, 07:16) *
А мне показалось странным только это предложение. Без каких-либо оговорок.

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


Думал что разяснил ещё в первом посте wacko.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.