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

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

Отправлено ВН 23 июля 2003 г. 19:36
В ответ на: Эксперементы. отправлено MrLee 23 июля 2003 г. 10:02

Попробую на пальцах про окна рассказать. Во-первых окна при БПФ используются всегда. Потому как БПФ работает с последовательностями конечной длины. Т.е. очень часто БПФ подсовывается не весь сигнал, а его кусок. Кусок этот можно рассматривать как произведение сигнала на окно. Прямоугольное или какое другое. При непрямоуг. окне можно, конечно, считать, что кусок получается умножением всего сигнала на прямоуг. окно, т.е. производится вырезание нужного участка сигнала . А потом уже вырезанный участок домножается на требуемое окно.
И по этому куску заставляют БПФ рассказать о спектре всего сигнала, а не его куска. Окна, исключая прямоугольное, один из методов такого насилия.
БПФ, а точнее КПФ (конечное ПФ), предполагает, что кусок дискретизированного сигнала, подсунутый ему, это и есть весь сигнал. Т.е. сигнал для него имеет конечную длительность T - длительность куска. Сл-но его спектр может быть точно восстановлен из эквидистантных выборок, следующих через 1/T. Ну а если может восстановлен из выборок, то на черта этот спектр вычислять полностью, достаточно только эти выборки и вычислить, что БПФ и делает. Собственно это теорема Котельникова в частотной области. Только в "пальцевой" форме. Ну а поскольку в результате появились выборки, причем следующие с интервалом 1/T, то их, эти выборки, можно считать гармониками основной частоты=1/T. Сл-но с таким же успехом можно считать, что сигнал, подсунутый БПФ, периодический. И период=длительности куска, T. В результате на концах куска сигнала могут появиться разрывы. Собственно эти разрывы и приводят к тому, что спектр куска может только напоминать спектр сигнала целиком.
Для сглаживания этих разрывов и применяются окна непрямоугольные.
Их задача устремить как можно больше производных произведения куска сигнала на них же (на окна) на границах куска к 0.
Это общие слова были. Как уже писал, кусок сигнала, подсунутый БПФ, можно считать произведением сигнала целиком на то или иное окно.
Сл-но спектр этого куска есть свертка спектров сигнала целиком и спектра окна. Так что в случае чистого гармонического сигнала, причем комплексного, в спектре куска этого сигнала будет только палка на частоте сигнала и 0 на других частотах только в частном случае прямоугольного окна и частоте сигнала кратной 1/T. T - длительность куска. В других случаях вокруг палки будет спектр окна. В вышеупомянутом частном случае вокруг палки тоже спектр окна. Но спектр прямоугольного окна это sin(pi*f*T)/sin(pi*f*Td), при малых f пропорционален sin(pi*f*T)/(pi*f*T)=sin(x)/x. Td-период дискр. Поэтому, если частота гармонич. сигнала кратна 1/T и учитывая, что БПФ рассчитывает спектр. отсчеты на частотах кратных 1/T, то в случае прямоугольного окна и получается только одна палка. Просто в этом случае нули спектра окна, sin(x)/x, как раз попадают на частоты, кратные 1/T. И он, этот спектр, становится вроде бы и невидимым. Во всех других случаях виден и довольно отчетливо. Что Вы и наблюдаете при наложении окна Хэмминга на сигнал, "который абсолютно правильно разлагался при помощи БПФ".
Теперь об основных характеристиках окон.
Опять же абсолютно чистый гармонический комплексный сигнал амплитудой A и частотой, кратной 1/T.
И его кусок, выделенный каким окном.
Любой отсчет в спектре куска сигнала можно получить так:
на интересующую частоту поместить центр спектра окна, затем умножить спектр сигнала целиком на сдвинутый таким образом спектр окна и просуммировать получившиеся взвешенные спектр. отсчеты. Результатом будет интересующий отсчет в спектре куска. Это операция свертки, на словах. Т.е. в значение спектр. отсчета куска сигнала на какой-то частоте вносят вклад и все другие частоты, имеющиеся в сигнале целиком.
Возьмем опять же абсолютно чистый гармонический комплексный сигнал амплитудой A и частотой f0, кратной 1/T.
И его кусок, выделенный каким окном. Значение отсчета на ч-те f0 будет равно SUM(w(n)*exp(j*2*pi*f0*Td*n)*exp(-j*2*pi*f0*Td*n)=SUM(w(n). Сумма по n, от 0 до N-1, N = T/Td. w(n) - окно во временной области. Для прямоугольного окна единичной "амплитуды" эта сумма, понятно, равна N. Для всех других окон, той же амплитуды, меньше.
Отношение (SUM(w(n))/N называется нормированным когеретным усилением окна. А SUM(w(n) просто когерентным усилением. Но, т.к. SUM(w(n) зависит от длины окна, то и применяется редко. Обычно нормированная величина применяется. И называют ее для краткости просто когерентным усилением. Это по амплитуде. По мощности квадрат конечно.
Из описания понятно, что в случае чистой гармоники с частотой, кратной 1/T, и какого-то окна w(n), значение амплитуды такого сигнала можно получить, поделив значение амплитуды отсчета в спектре куска на это когерентное усиление. Ну и SUM(w(n)=W(0). W(0) - значение спектра окна на 0 частоте.
Теперь сигнал - то же гармоника, но на частоте f1=(k+0.5)/T. k- целое. Т.е. частота сигнала ровно посередине между соседними кратниками 1/T. В спектре куска будут отсчеты на частоте k/T и (k+1)/T. Равные по величине. Нужно найти значение любого из них. Например на f0=k/T. То же самое: SUM(w(n)*exp(j*2*pi*f1*Td*n)*exp(-j*2*pi*f0*Td*n)=SUM(w(n)*exp(j*pi/N))=W(1/(2*T)) - значение спектра окна на частоте 1/(2*T). Модуль этого значения, отнесенный к W(0) (выше) называется паразитной амплитудной модуляцией спектра.
Собственно говоря величина паразитной амплитудной модуляции показывает насколько, в самом худшем случае, будет отличаться амплитуда гармоники на частоте, на которой невозможно прямо ее измерить, от амплитуды спектр. отсчета на соседней частоте.
Т.е., по другому, в вышеприведенном примере для оценки амплитуды можно взять значение на частоте f0=k/T, затем поделить ее на когерентное усиление и получить оценку амплитуды. Величина паразитной АМ показывает насколько она отличается от истинной. Это максимальное отличие. Если частота гармонического сигнала неизвестна, то за оценку амплитуды можно взять максим. значение в спектре куска и поделить его на когер. усиление. Отличаться от истины такая оценка будет в паразитную АМ раз. Или на паразитную АМ децибел. В последних ее часто и приводят. Это все были случаи чистого гармонического сигнала.
Теперь сигнал - та же гармоника на частоте f0 = k/T плюс белый шум, g(n), с дисперсией D. На оценку амплитуды (не только конечно) влияет не только сама гармоника но и шум во всей полосе.
Т.е. спектр отсчет на частоте f0 будет равен Ss+Sn. Ss - сигнальная, когерентная часть, Sn - шумовая, причем собранная со всей полосы от 0 до fd. Дисперсия Sn это дисперсия SUM(w(n)*g(n)*exp(-j*2*pi*f0*Td*n)). И равна она D*SUM(w(n)^2).
Величина SUM(w(n)^2) называется некогерент. усилением. Обычно приводятся одна из связанных с ней и с когер. усилением характеристик. Первая - эквив. шумовая полоса.
Равна SUM(w(n)^2)/(SUM(w(n))^2. Обычно ее приводят. Вторая характеристика - с точностью до наоборот. Т.е. обратное отношение.
Называется усиление преобразование. Или отношение выходного SNR ко входному. Экв. шумовая полоса - это ширина спектра некоторого эквив. окна с прямоугольным спектром и с тем же когер. усилением. Грубо говоря показывает размер эквив. частотного интервала, шум из которого вносит вклад в спектр. отсчет на интересующей частоте. Чем уже экв. шум. полоса тем лучше.
Ну и наконец 3 последних параметра. Макс. уровень боковых епестков, скорость их спада и ширина главного лепестка по уровню 6 дб. Начну с последнего. Он показывает разрешающую способность окна. 6 дб - относительное усиление по амплитуде =0.5 Так что если есть в спектре две гармоники, равной амплитуды, отстоящие на величину неменьшую этой ширины по 6 дб - они будут разрешены. Без изысков и каких-то ограничений на сигнал.
Уровень боковых лепестков и скорость их спада.
Здесь нужно сигнал из 2 гармоник состоящий рассматривать.
Одна гармоника будет вносить вклад в значение спектр. отсчета на частоте другой. Это есть всегда. За исключением частного случая прямоуг. окна и частот гармоник кратных 1/T.
Центр спектра окна совмещается с частотой одной из гармоник. Вклад второй будет пропорционален значению спектра окна, сдвинутого таким образом, на частоте второй гармоники. Или по другому - пропорционален значению несдвинутого спектра окна на частоте f0-f1.
f0 - частота первой, f1 - второй гармоник. Гармоники считаются достаточно разнесенными, чтобы быть разрешимыми. Т.е. разнесены больше ширины главного лепестка. Влияют, таким образом, боковые лепестки.
Здесь 2 момента. Первый - искажаются значения спектр. отсчетов на интересующих частотах. Второй хуже - если одна гармоника слабая, а вторая сильная, то слабую можно просто не увидеть в спектре куска.
Она замаскируется сильной. Эти искажения и маскировка тем выше, чем больше уровень боковиков и меньше скорость их спада. Чем ниже уровень боковиков, тем меньшее влияние оказывают далекоотстоящие гармоники сигнала.
Собственно высоким, самым высоким, уровнем боковиков и отличается прямоугольное окно. По скорости спада - есть лучше него, есть такие же, есть хуже. Например окно Дольфа-Чебышева имеет совершенно не спадающие боковики, но зато их уровень м.б. очень маленьким, десятки децибел, в зависимости от параметра. В отличие от макс. уровня боковиков прямоугольного окна, равного -13 дб, да еще и спадающих с 6 дб на октаву.
Сами окна перечислять не буду. И их параметры то же.
Сам чаще всего пользуюсь либо окнами Гегенбауэра (уж очень просто генерируются, никуда подсматривать не надо), либо Блэкмана-Харриса, либо Кайзера-Бесселя. Несколько раз окно Дольфа-Чебышева использовал.
Еще немного об оценке амплитуд. Выше писал о когерентном усиление и паразитной АМ. В отсутствии шума, или очень малом шуме, малом уровне боковиков окна, чтобы снизить влияние других гармоник, и приблизительно известной частоте оцениваемой гармоники, оценка амплитуды может производиться по ближайшему максимальному спектр. отсчету. При этом точность будет определяться паразитной АМ.
Бывает недостаточно. Можно улучшить. Если в качестве оценки амплитуды брать величину:
sqrt(SUM(Ss[km-2+i]^2)/(W[0]^2+2*W[1]^2+2*W[2]^2)).
Сумма по i, от 0 до 4. Ss - спектральные отсчеты сигнала, умноженного на окно. km - индекс максимального в данной окрестности спектр. отсчета. В знаменателе - сумма квадратов модулей спектра окна на частотах -2/T,-1/T,0,1/T,2/T. 5 частот. Для многих окон их достаточно. Иногда и 3 хватает. На -1/T,0,1/T. С соответственным изменением суммы в числителе.
Но никогда не следует забывать о шуме. Его влияние очень часто решающее.
На предыдущей странице я приводил программку. Оценка амплитуды, частоты и фазы только первой гармоники и не полезного, а мешающего сигнала. За всякие куски, палки и проч. жаргон извиняюсь.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru