[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ВН 25 января 2003 г. 19:53
В ответ на: Ответ: Благодарю. отправлено iit 25 января 2003 г. 08:31

Прочитал Ваш ответ и дополнительные пояснения.
Ни на чем не настаивая, все же рекомендую по моему самый простой способ. Именно - сбор на частоте 12 КГц довольно большого числа отсчетов входного сигнала. Я в прошлый раз писал о 512, 1024 точках.
Эти цифры просто для примера. Можно и больше. И лучше больше. М.б 2048 или 4096. Зависит от памяти. В общем конечно не обязательна и степень 2. Быстрые алгоритмы вычисления ПФ существуют и для других оснований и длин.
Умножаете на окно, берете БПФ.
Берете спектр мощности, т.е. кавдрат модуля спектра.
Все определяете в спектре мощности. И частоты и амплитуды.
Для этого требуется знание характеристик окна. Вообще для определения частоты и амплитуды например основной гармоники нужно аппроксимировать окрестность максимума к некоторой функции, которой можно описать по крайней мере начальный участок спектра мощности окна. Можно проще.
Для оценки амплитуд потребуется просто сумма квадратов модулей первых нескольких отсчетов в спектре мощности окна. Пяти отсчетов очень часто вполне достаточно. Для некоторых окон достаточно и 3-х. А для оценки частот часто не нужно даже этого.
Т.е. есть временное окно, W(i), на которое будет умножатся сигнал. В маткаде, где-ли, берется от него спектр, XW(k).
Вычисляете сумму: SW=(|XW[0]|^2)+2*(|XW[1]|^2)+2*(|XW[2]|^2).
2 перед XW[1],XW[2] - за счет симметрии спектра мощности относительно 0 частоты. Т.е. это сумма квадратов модулей на частотах 0,1,-1,2,-2.
5 частот.
Запоминаете эту сумму, конечно с учетом разрядности и форматов чисел в DSP.
Оценка амплитуды основной гармоники. Находите максимум в спектре мощности от произведения сигнала на окно.
Пусть частота максимума=k0.
Вычисляете сумму: S=P[k0-2]+P[k0-1]+P[k0]+P[k0+1]+P[k0+2].
Здесь P - отсчеты спектра мощности . P[k]=|X[k]|^2.
Делите вычисленную сумму на SW. Извлекаете корень. Получаете оценку амплитуды.
Оценка частоты основной гармоники. Собственно это вычисление первого момента в окрестностях максимума.
Т.е. вычисляете еще одну сумму:
SF=(k0-2)*P[k0-2]+(k0-1)*P[k0-1]+k0*P[k0]+(k0+1)*P[k0+1]+(k0+2)*P[k0+2].
Делите ее на S, получаете оценку частоты, т.е. это не частота, конечно. Индекс, только не обязательно целый.
Одно замечание. С размерностью выборки. Тем она выше, тем больше интервал (в дискретах) между гармониками в спектре. Тем лучше будут работать приведенные формулы.
Ну а дальше умножаете найденную частоту (индекс) на номер гармоники.
В окрестности получившегося значения находите локальный максимум. Вычисляете для него S и SF . И аналогично получаете оценки амплитуды и частоты гармоники.
На точности здесь влияет и длительность выборки и размерности сумм и сам метод, в особенности для частот, и сигнал-шум. Я о нем ничего не писал. Это отдельная песня.
Теперь окна. Их куча целая существует. Очень часто применяются окна Блэкмана-Харриса (их несколько), окно Хэмминга. Они во многих книгах описаны.
Есть один вид окон, окна Гегенбауэра, которые при соотв. значении параметра могут быть весьма близки по характеристикам к разным другим окнам. В том числе к окнам Блэкмана-Харриса, Хэмминга. Очень просто генерируются.
Окно Гегенбауэра имеет вид:
W(i)=((4*(i+1)*(N-i))/(N*(N+2)))^p;
N - длина окна. А параметр один. Показатель степени, p.



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru