Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фильтры, как получить конкретный сдвиг по фазе
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
kolchenkov
Необходимо из синусоидального сигнала выделить гармонику 50Hz, или наоборот удалить. БИХ фильтры ВЧ, режекторный - составляющая приобретает сдвиг по фазе. Вопрос в том, как получить фильтр который эти 50Hz в результате сдвинет на 5ms (косинус, который мне понадобится для дальнейших вычислений). Т.е. чтобы зная эту задержку, иметь возможность параллельно сдвигать основной сигнал, и далее выполнять действия между ним и отфильтрованным сигналом.

Подскажите какой тип фильтра можно использовать? С помощью чего это все можно хорошо промоделировать, чтобы определить ГВЗ в 50Hz?
Простите за нубство, в ЦОС пока новичок.
Lmx2315
может вот - http://www.dsplib.ru/content/allpass/allpass.html
всепропускающий фильтр
rx9cim
Посмотрите книгу Лайонса по цифровой обработке, там был описан момент с фильтрацией с нулевым сдвигом фаз.
Alex-GTU
А полное название книги?
Александр77
Цитата(Alex-GTU @ Apr 28 2015, 19:27) *
А полное название книги?

Вы не поверите "Цифровая обработка сигналов"
_pv
герцелем просто посчитайте амплитуду и фазу 50Гц, потом вычитайте из основного сигнала и двигайте как хотите.
kolchenkov
Цитата
герцелем просто посчитайте амплитуду и фазу 50Гц, потом вычитайте из основного сигнала и двигайте как хотите.


Скажите, а если сигнал окажется не 50, а скажем может плавно и медленно изменяться в пределах 45-55 Hz ?

Как в таком случае поступают, ведь насколько понимаю, получим растекание спектра и искажение амплитуды?
Похоже придется постоянно измерять частоту, а уже потом герцелем, при чем как-то в realtime его перестраивать, что скорее всего не легко.

Есть ли какие-то методы, которые позволят избежать искажения амплитуды, если частота "отойдет" от предполагаемых 50Hz ?
_pv
Цитата(kolchenkov @ May 5 2015, 18:03) *
Скажите, а если сигнал окажется не 50, а скажем может плавно и медленно изменяться в пределах 45-55 Hz ?

сделайте окно меньше чем характерное время изменения, считайте в нескольких точках от 45 до 55, ищите максимум и на этой частоте смотрите фазу.
TigerSHARC
Цитата(kolchenkov @ May 5 2015, 14:03) *
Есть ли какие-то методы, которые позволят избежать искажения амплитуды, если частота "отойдет" от предполагаемых 50Hz ?


Вариантов может быть несколько.
На каком интервале вы считаете амплитуду (т.е. сколько периодов частоты 50Гц подвергается анализу)? Какую частоту дискретизации используете?
kolchenkov
Цитата
(т.е. сколько периодов частоты 50Гц подвергается анализу)? Какую частоту дискретизации используете?


Моделировал Герцеля с динамическим пересчетом спектральных отсчетов на каждом такте дискретизации, использовал Fs=50Khz, N=4000.
Посмотрел sqrt(Re^2+im^2), почему-то возникают "пульсации", это так и есть, или я в чем-то ошибся?
alex_os
Цитата(kolchenkov @ Apr 21 2015, 10:04) *
Необходимо из синусоидального сигнала выделить гармонику 50Hz, или наоборот удалить. БИХ фильтры ВЧ, режекторный - составляющая приобретает сдвиг по фазе. Вопрос в том, как получить фильтр который эти 50Hz в результате сдвинет на 5ms (косинус, который мне понадобится для дальнейших вычислений). Т.е. чтобы зная эту задержку, иметь возможность параллельно сдвигать основной сигнал, и далее выполнять действия между ним и отфильтрованным сигналом.

Подскажите какой тип фильтра можно использовать? С помощью чего это все можно хорошо промоделировать, чтобы определить ГВЗ в 50Hz?
Простите за нубство, в ЦОС пока новичок.


ФАПЧ с астатизмом второго порядка даст вам синусоиду, которая точно совпадает по фазе и частоте со входным сигналом.
TigerSHARC
...
kolchenkov
Склоняюсь к Герцелю, но пока не понял насчет пульсаций, которые на графике при 50Hz.
Попробовал изменить входной сигнал всего на 0.1Hz, получил приличное искажение амплитуды ну и сдвиг по фазе естественно получил.
А получать спектр для гармоники с "небольшим" шагом и выбирать по максимальной амплитуде не получится, потребуется существенно увеличить число точек или уменьшить частоту дискретизации.

Цитата
ФАПЧ с астатизмом второго порядка даст вам синусоиду, которая точно совпадает по фазе и частоте со входным сигналом.


Полученная синусоида ведь не совпадет по амплитуде с основной гармоникой?
_pv
точное значение частоты через автокорреляцию будет проще найти.

или просто наименьшими квадратами ищите в сигнале A*Sin(2*Pi*f*t+phi) подгоняя амплитуду частоту и фазу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.