Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм Герцеля
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
_Andu_
Расчитываю действующие сигнала первой гармоники по алгоритму Герциля. Частота которой вычисляется по формуле:
F(n)=k/N*Fs , где Fs - частота дискретизации. N - число отсчетов.
Так вот например F(n)=50, Fs =1000 N =20 => k=1. все нормально считает
как я понял k должно быть целое число и в принципе это проверил
F(n)=45, Fs =1000 N =20 => k=0,9.не нормально считает
если взять F(n)=45, Fs =900 N =20 => k=1 все нормально считает
но я не могу поменять Fs. Можно ли это както обойти если можно то как?
fontp
Алгоритм Герцеля - это реализация (сильно усеченного) дискретного преобразования Фурье (ДПФ).
Со всей присущей ДПФ дискретностью в частотной области. Соответственно, если нужно обнаруживать произвольно
расположенные дискретные частоты, то для того чтобы использовать алгоритм Герцеля необходимо
приблизить с достаточно высокой точностью эти частоты частотами

F(n)=k/N*Fs гдe k - целое

А это можно сделать только одним способом - увеличивая N. Тогда можно приблизиться к нужной частоте достаточно близко. На Analog Device были даже раньше учебные материалы как выбрать N для DTMF из этих соображений.
Однако при этом ухудшается временное разрешение, но иначе - никак... Если Герцель.

Если обнаруживаемые частоты находятся далеко друг от друга, то можно использовать интерполяцию для вычисления амплитуд для промежуточных частот (между отсчетами ДПФ). Но это уже не Герцель
_Andu_
Спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.