Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 126
Текст из файла (страница 126)
с, алгоритм квадратного корня; 4) г1ВЕ1П. с, рекурсивный алгоритм наименьших квадратов. Из-за ограниченного размера данной книги ниже приводится только одна из названных программ. Глава 10. Адаптивные цифровые фильтры 722 /* е(оцЬ1е 1взт1Г() ( Для иллюстрации реализации адаптивных фильтров используем программу !ОА.1 для детектирования тона в широкополосном шуме.
1О.А.1. Адаптивное выделение узкополосных сигналов, спрятанных в шуме Адаптивные фильтры часто использукпся для детектирования или выделения узкополосных сигналов, спрятанных в широкополосном шуме. Структура, которая часто используется с этой целью, изображена на рис. [ОА,]. Она состоит из элемента задержки, обозначенного через - Ят, и адаптивного предсказателя. Элемент задержки удаляет корреляцию, которая может существовать между выборками шумовой составляющей. Адаптивный предсказатель — это, по сути, КИХ-фильтр с настраиваемыми коэффициентами, и его выход уь — это выделенный узкополосный сигнал.
В некоторых случаях требуется получить на выходе фильтра не сигнал уь, а второй выход адаптивного фильтра еь Для оптимизации коэффициентов предсказателя в« [») используется подходящий Програазма 10А.1. Реализация на С алгоритма наименьших квадратов (1ввт1г. с) /* реализация алгоритма наименьших квадратов * /* валлу 6.11.92 /* /* вход: /* х[] вектор входных данных /* е(Х текущий последний элемент входных данных /* и() вектор коэффициентов /* /* выход: /* ех значение ошибки /* ух выход цифрового фильтра /* и[] вектор обновленных коэффициентов /* »ог «(оцвуе це)», ух» ух=о» »ог(1=0» 1<Н» ++1) ( /* цифровая фильтрации */ ух=ух+и[1]*к[»]» ек=йк-ук» /* вычислить ошибку выхода*/ цех=2*во*ел» /* обновить весовые коэффициенты*/ Рог(1=0» »<и; 1«+)( н[з.]=н(»]+се)»*х[1]» гегцгл(ух)» «/ */ */ «/ */ */ */ */ */ */ */ */ */ */ -«/ Приложения 733 ииа оа Рис.
1ОА.1. Адаптивное выделение сигнала адаптивный алгоритм, в нашем случае это схема наименьших квадратов (подробности см, в разделе 10.4). При использовании схемы наименьших квадратов адаптивный фильтр характеризуется следующими уравнениями: Л-1 уа = ) ша(а)ха(т), (!ОА.1, а) (10А.1, 6) (!ОА.1, в) ее = с!а - уа, щ,ег(1+ 1) = шл(т) + 2!аелхл(е), а = 0,1,..., Аг — 1, где с(а — выборка зашумленного узкополосного сигнала, ха(т) — вектор входных данных, полученный из задержанных значений г(а, ана(а) — вектор коэффициентов предсказания в)с-й моментвыборки,гс — коэффициент устойчивости, ул — выделенный узкополосный сигнал.
Фигурирующая в программе 10А.! функция !лаяй!.т. с представляет собой реализацию на языке С приведенных выше уравнений. Использование функции 1швбдс. с для выделения сигнала иллюстрируется в программе 10А.2. Для моделирования задачи к синусоидальному сигналу с частотой 500 Гц был добавлен широкополосный шум, а составной сигнал был записан в формате АСС!1 в файле с!зп. г!ас. Затем зашумленная синусоида была подана на адаптивный фильтр. Для моделирования адаптивной фильтрации в реальном времени входные данные считывались из файла и подавались на адаптивный фильтр по одной выборке.
Отметим, что для любой длинной последовательности данных пользователю из соображений эффективности может потребоваться считывать данные блоками. Результат фильтрации с использованием схемы наименьших квадратов представлен на рис. 10А.2. Как очевидно следует из рис. !ОА.2, для использования адаптивных алгоритмов пользователю потребуется задать параметры адаптивных фильтров, например, длины КИХ-фильтра Аг, коэффициента задержки Лт и коэффициента устойчивости 11. Кроме того, следует уделить внимание формату входных данных. Например, в некоторых приложениях входных данные могут поступать от многоканального источника, когда каждый элемент сигнала хл(а) представляет элемент данных из канала. В этом случае перед применением адаптивного алгоритма массив входных данных следует надлежащим образом модифицировать. Глава 10.
Адаптивные цифровые фильтры 0,4 )500 од -)000 -) 500 -о,з -2000 -0,4 0 )О 20 ЗО 40 50 0 )О 20 ЗО 4О 50 Вр«мя (мс) О) Время (мс) Рис. (ОА.2. Адаптивное выделение уаяополосного сигнала: а) зашумленный сигнал: й) выделенный сигнал Программа 10А.2. Программа адаптивного выделения сигнала. /* /* программа иллюстрирует адаптивную фильтрацию /я с использованием алгоритмов наименьших квадратов /* /* имя программы: ас)Г11тег.с /* /* шаппу, 7.11.92 /* 41пс1ис(е 41пс1ис)е 41пс1ис(е определения констант */ длина фильтра */ задержка */ исходное значение коэффициентов адаптивного */ фильтра */ Фс)ед1пе йс)ет1пе йс(ет1пе Н 30 М 1 ыО 0 йс(ет1пе Фс(ет1пе прт и+М БР 2048 /* коэффициент уменьшения выборок - предполагается */ /* использование 11-битового АЦП */ вы 0.04 1шв11с()) 1П101пп()) ирс)ате с(ака Ьиттегв()) Фс(ек1пе Поипйе чозс) чоте) 500 и Е о < -500 <вес)1о.Ь> <тааЬ.Ь> <с(оп.Ь> /* /* /* /е /* од 6 И о -О,) */ «/ */ я/ */ */ */ */ 73$ Приложения с(оиЫе у)с, у)с1с 1с1овеа11()с во1с( ( 1п1ГШев() гегигпс ) /* ирс(аге с(аиа Ьиггегв() ио1с( ( 1опс 5, ]с; 1ог(] 1; >,М; + +]) ( ]с=н-] с х[]с]=х[)с-1] ] /"обновление бункера х-данныхь/ х[0] с()сс 11(М>0) х[0]=с((И-1] с чо1с( 11оаг с(оиЫе 11ЬЕ сЬаг ва1п() ( 1п1СШев()с к[при], с([при], с(]с, е)с; и[при]; *1п,*оиг,*горел()с с(1п[30]с 1п1Г Шея ( ); адаптивный $ильтр, построенный по схеме наименьших квадратов*/ 1п1к1шв()с нЬ[1е(увсап1[1п,"%1",асяс)( ЕОР)( с(К с(К/Баас ирс(аке с(ага Ьиггегв()с у)с 1шв11Г() с ух1 =Ерзух; ург1пГ1(оиг,"е11 1п",ух1)с с1гвсг(); рг1псу(заведите имя файла с данными дпя 4ильтраиии 'сп")с всап1(ьЪв",с(1п)с рг1пс1("1п"); рг1пгу(ьот()ильтрованные данные записываются в ()айл с(оис.с(аг 1п"); 1г((1п-горел(с(1п,ьг")] -МОЬЬ)( рГ1ПГ1("НЕВОЗМОИНО ОтКрЫтЬ $айп ВХОДНЫХ даННЫХ 1ле)С ех11(1] с ) 11 ((оиг горел ("с(оиг.с(аг", "и")) =МОЬЬ)( рг1пиу("невозмовно открыть $айл выходных данных 1п")с ех1С(1) с глава 10.
Адаптивные цифровые фильтры 736 /еобновпенне бункера 6-данныхе/ Гог(5=1с ),М; + +3)( к=и-]с с([)с]=с)[)с-1]с ) с) [О) =с))сс 1п1С1всв() ссо(с( ( 1опп 1; тот(1 О; 1,прес + +1.)( х[1] 0; с) [1] 0; и[1] = иО; $1пс1пс(е "1ивт11.с"с 10.Б. Программы МАТЮКАВ для адалстианой'Фр)льтртацр)и ' ' МАТ[.АВ нс поддерживает прямо адаптивную обработку сигналов. Однако авторы разработали две программы МАТ[.АВ, в которых реализованы основные адаптивные алгоритмы, метод наименьших квадратов и рекурсивный метод наименьших квадратов; 1швас)й.пс — используется для выполнения стандартной адаптивной фильтрации на основе схемы наименьших квадратов; г1аас)й. лс — применяется для выполнения стандартной адаптивной фильтрации на основе рекурсивной схемы наименьших квадратов Обе программы можно найти в %еЪ. -0ценка - =- и-:айализ.спектра ..'.-',-',-,,;.,',,'~ 14;ф~'Градационные.мютоды,...'- '-,:: ', ' '-,,: "'-, ". ',,;,, ',, = 742.
,:тз.4.;Оцв1тммн~~ мРазГ Р11 Р1вю м,то~ы-цуз фав=-=.= . з-;:===- . =. =.—:,—::.:.;,: — г.,-уеа Й:ф,,~ат~ругресс~ойрвя оцейкаг$ектра:~' ='-",.: ...;-,,' „' ., - .:,:,", =,,'',~бр ;тт".В;Сравненйе'маетойовыоценки'-','-:'- ' ' " ... ' „ , , 770 1з.7. Прймеры йрйменения,, -::-...:; „, .„',, ,'.~"., „... '.', 770 ; фью~~мйтн ' ' ° ' У '' ',:,' ' .- ' -", 77~ . В данной главе рассмотрены следующие темы: основные концепции спектрального анализа, подводные камни непараметрических методов, свойства весовых функций, предварительная обработка данных и выбор весовой функции. Описываются и сравниваются непараметрические методы, в том числе метод модифицированной периодограммы, метод Блэкмена-Тычки, основанный на применении быстрого преобразования Фурье к автокорреляционной функции данных, и метод быстрой корреляции. Описан наиболее распространенный метод параметрической оценки спектра, основанный на авторегрессионном моделировании, а также дан краткий обзор других параметрических методов.
Рассмотрены следующие приложения: обработка электрических сигналов мозга для различения здоровых людей и пациентов с болезнями мозга и анализ электроэнцефалограммы человека на основе авторегрессионного моделирования, Преобразование данных из временной области в частотную было описано в разделе 3.1. В данной главе развиваются принципы и навыки оценки и анализа спектра в частотной области.
Вообще, графики зависимости амплитуд или фаз гармоник от частоты часто более удачно представляют данные или сигналы, особенно если сигналы имеют случайную природу, Выбирая согласно некоторому критерию определенные гармоники и отбрасывая другие, можно существенно сжать данные. Спектральный анализ оказался полезным в таких областях, как изучение сигналов техники связи или смоделированных откликов человеческой электроэнцефалограммы (ЭЭГ) при диагностике болезней головного мозга [29], других биологических сигналов, метеорологических данных, в управлении технологическим процессом и измерении спектра шума при разработке оптимальных линейных фильтров.
Глава 11. Оценка и анализ спектра л-1 Е[к(п)[ = — ~~~ х(п), н=а (!1.1) Существуюпзие методы оценки спектра можно разделить на параметрические и непараметрические. Непараметрические методы включают периодограммы, модифицированные периодозраммы Барлета (Ваг!ец) и Уэлша (%е!зЬ) и метод Блэкмеиа — Тычки (В!ас1ппап-Тцкеу).
Плюс: все эти методы можно реализовать с использованием быстрого преобразования Фурье; минус: если данные представляются короткими словами, разрешение по частоте ограничено. Кроме того, чтобы получить значимые результаты, следует быть очень аккуратными. С другой стороны, параметрические методы не толью вычислительно эффективнее, но и могут давать большее разрешение. Впрочем, перед оценкой спектра процесса нужно вначале построить достаточно точную модель этого процесса.
Если выбран параметрический подход, чаще всего спектр выводится из параметров авторегрессиоиной модели сигнала (авторегрессионная оценка спектра описана в разделе 11,5). При выполнении непараметрического спектрального анализа нужно обойти множество подводных камней. Связанные с этим темы наложения, гребешковых искажений, конечной длины данных, просачивания спектральных составляющих и размывания спектра очень важны, и их рассмотрению посвящен раздел 11.3. Отрицательное воздействие просачивания спектральных составляющих и размывания можно минимизировать, ограничив данные посредством подходящей весовой функции. Дискретные данные по одной выборке множатся на дискретные значения выбранной весовой функции.
Тема умножения на финитную взвешивающую функцию рассмотрена в разделе 11.3.2. Основными свойствами весовой функции являются ширина полосы шумового (или прямоугольного) эквивалента, коэффициент расширения спектра, потери (времени) при обработке данных в наихудшем случае и полоса минимального разрешения. Все они рассмотрены в подразделе 11.3.2.1. В разделе по корреляции перекрывающихся областей показано, что усреднение спектра из нескольких взвешенных фрагментов данных вместо непосредственного вычисления спектра всех взвешенных данных дает значительно лучшую оценку спектра. В части подраздела 11.3.2.1, посвященной смещающему эффекту взвешивания, показано, как потери энергии сигнала и смещение постоянной составляющей взвешенных данных можно устранить, обработав данные до взвешивания.
Суждения о качестве спектральных оценок основаны на теории оценок, так что в главе приводятся некоторые базовые концепции этой дисциплины. Статистическая оценка включает определение математического ожидания статистических величии, выведенных нз выборок совокупности. Впрочем, при анализе с помощью временных рядов обычно доступны не выборки генеральной совокупности, взятые одновременно, а дискретные данные, полученные как функция времени. Этот момент обычно полагается несущественным, поскольку принимается эргодическая гипотеза: свойства данных временного ряда совпадают со свойствами предполагаемых выборок.