Богнер, Константинидис - Введение в цифровую фильтрацию (1044115), страница 19
Текст из файла (страница 19)
мул (7.25) и (7.26), выражая У(п) и 2(и) через Х1 (и) и Х! (И12 — и): У(л)=х,(л)-!-х; ( — — л), 7(а) Х,(и) — Х, — — и Ю 11!! !!!с.! !! я по э«им формулам производятся с помощью подпрограммы К[с'Г4 (фиг. 7.22). 7.10. Свертка длинных последовательностей В разд. 7.2.9 показана воэможность производить свертку двух перподи:!еских последовательностей х(Ь) и Ь(Й) равной длительности путем перемножения нх ДПФ, Х (и) и Н (и).
и вычислением ОЛП«]) произведения. Операция у«: ='~', [Л(и) Н(и)]Т'"'". и=О, 1, =о то'!но соответствует обычной свертке х(Ь) и Ь(«,). Л вЂ” ! У(и) = ~~~ х(1) Ь(аг — !'), аг=О, 1, т. Как правило, наибольший интерес принцип свертки представляет применительно к фильтрации. В этом случае и обрабатываемые данные х®, и импульсная характеристика Ь(Й) являются апериодическими последовательностями. Пример такой свертки дает нерекурсивный фильтр с 1.
отводами, описанный подробно !) разд. 6.2: у(п!)='~~ ~х(1) Ь(т — 1) для всех и. Рассмотрим пример, приведенный на фиг. 7.23, чтобы наглядно показать, как на основе формул (7.27) или (7.28) можно коррекгио выполнить свертку, когда х(Ь) и Ь(Ь) периодические. Сначала свертываем два периодических колебания прямоугольной формы и получаем корректную периодическую свертку. (фиг.
7.23, а). Затем производим свертку двух прямоугольных апериодических импульсов, соответствующих одному периоду ко-; лебания из предыдущего примера (фиг. 7.23, б). Результат свертки совершенно другой. Затягивание, характерное для процесса свертки, приводит к «перекрытию» в случае периодической свертки. Ког««а требуется вычислить свертку апериодических функций, 143 М~ ТОДЬ1 П(ГО1ГАЗО11А11ИЯ ФУИ 1:. 142 ГЛАВА 1 ~1 , п му о)т так называется.
Метод «перекрытия со сложением>. позволяет достигнуть тех же результатов несколько по-другому. В деталях он отличается от первого метода, но основной ;принцип здесь тот же, так же как и нсобходимые время вычислений и объем памяти. Если Лс много больше длительности импульсной характеристики я-, которую будем считать фиксированной (опрвделяемой требуемым числом отводов фильтра), то свертку можно вычислять сразу большими массивами. Следовательно, для фильтрации (11 11 — 17 18 — 29 30 — 52 53 — 94 95 — 171 172 †3 311 †5 576 в 1050 1051 †20 2001 — 3800 3801 — 7400 )7400 32 64 128 256 512 1 024 2 048 4 096 8 192 16 384 32 768 65 536 131 072 'Это абсолютно точное выражение, определяющее (Ь вЂ” 1)-й выход'ной отсчет фильтра с 1. отводами.
Члены у((1.), у((Ь+1), ... -..., у1 (У вЂ” 1) по той же причине корректны. Рассмотрим теперь первые (1 — 1) выходных отсчетов. Все они содержат ложные члены, вызванные наложением и определяемые второй суммой в формуле (7.30). Из-за этого они не корректны и должны быть отброшены. Иллюстрацией к вышеизложенному служит фиг. 7.24, е и ж. Следующий этап включает выделение второго )х'-точечного кадра, выбираемого так, что его первые (1 — 1) значений идентичны аоследним (1.— 1) отсчетам предыдущего кадра (фиг.
7.24,э). Это необходимо в силу того, что в начале следующей )х'-точечной свертки снова будет (1.— 1) ложных отсчетов, которые должны быть отброшены. Корректную часть первой свертки мы возвращаем в память (фиг. 7.24, и). Поскольку по крайней мере Лl отсчетов, взятых из х(Й), больше не будут использоваться, отфильтрованные данные, полученные в результате первой свертки, могут быть помещены в те же я11е)"(ки памяти, которые содержали первый обработанный кадр. Таким образом, весь процесс фильтрации может быть выполнен с «замещением», и в этом случае потребности в памяти определяются необходимостью хранения лишь первоначальных данных.
Потребуется также относительно небольшой объем «обязательной» памяти для проведения самой свертки и .преобразований (этот объем определяется детальной схемой вычислений). Стыковка корректных частей от первой и второй сверток, показанная на фиг. 7.24, к, демонстрирует способ получения полной свертки пз большого числа много меньших Л~-точечных сверток. Описанный способ известен как метод «перекрытия с накоплением» 8 и вполне понятно оче последовательности заданной длины потребуется относительно небольшое число таких сверток.
С другой стороны, если )тс' мало и ненамного превосходит ~., потребуются, короткие быстрые свертки, но и процесс фильтрации намного удлинится. Поэтому были рассчитаны [8] оптимальные значения 1х' для заданных 1. (табл. 7.1). ЗОВйООТТМЕ Г1ьтй (Х, ЕЕМ) С О1НЕНЗ1ОН$0Е ЯййДТ5 МОЗ1 ВЕ Я 1 (2 М), Х2(2, М), Н(2, н), С и 15 дх1(г.и),я~г(г ° и) яио ян(г*м) ннейе м * 2..(йи 15 яо)тявст снозеи, (н тн(5 сязе м = 64 зо тнят и ° ° (й - 1) ЯМО 01МЕМ51ОИ х (11, х1(2,64),хг(2,64),н(г.б4),дх1(12В),дхг(126) 1МТЕСЕй й еаО(хяьейсе (ях1(1),к((1,1)) (дх2(1) ° х2(1,1)) (ян( ° е ю 1) юн(1ю1)) й=т с вйес(ех хдсое ос а зо тндт еенстн 01 дййяу дн 16 дн)6 г* а зйес)йт с 1м дссойодисе и(тн тдвье с ° г4 и = г ° ° и М1 икг й ° и - ] Я г 2.6 + ГСОЯТ(СЕИ) /ГЬОЯТ(й С11) С1М1 = !й1К(Я) сдсь йй гз (н й) ОО З,) * 1,11м( оо г 1 = 1,И Е(мз = .За~И с+1) + 1 1 11Ю4 з И - Т + 1Е(с1м5.сЕ.6.0й С1м5,01,СЕМ) СО 10 Ях1 (с1м4) = х (1.1нз) со То г 1 ДЯ1 (С1М4) а 9,1) г сонт1н()е С1м5 = (т-г) ~(и-с+1) с(мг ~й-с ОО 3 1 з 1,С1мг (й(,т.Еа.1) СО ТО 3 с1мб с 1 + Е1Н5 Е(мт = 1 + ь - 1 16(ь!М6.СТ.СЕИ) СО ТО 3 Я (С1мб) = Дкг(С1м7) 3 СОИ11ИНЕ 1Г(.Т.ЕО,С 1м1) йЕТОйй СЯСС айтз(Х1,й) Хг(1,1) = К1(1,1) Н(1 ° 1) хг(2 11 = Г1(2~1) н(г 1) 1)0 4 1 = 2,М1 Хг(1е1) = Х1(1 1)эН(1 ° 1) - Х1(2 1)*Н(гю1) Хг(2,1) = Х1(1.1) ° Н(2 ° 1) ~ Х1(2~1) ан(1 ° 1) 4 сойт1мнЕ сдсь йет4(хг,й) 5 Соит1иОЕ йЕ т 1)йи Емо Фиг.
7.25. Программа для выполнения свертки по методу пере~и гия с накоплением действительных данных, записанных в памяти в виде массива Х длиной «! Е)Ч». На фиг. 7.25 приведен текст подпрограммы Р11.ТК, которая выполняет свертку по методу перекрытия с накоплением. Подпрограмма считывает .входной массив Х заданной длины и свертывает его с заданной импульсной характеристикой АН длиной У=2 Длина )' ненулевой части импульсной характеристики должна выбнр;)т),с» «соотвстст«ни сданными табл.
7.1. Импульсна» характер))с)))),;! )! входные данные являются дейсгиите !ьными последовательностями, так что подпрограмма Н1 ТК обеспечивает эффективный метод обработки большого числа встречаемых на практике функций, подвергаемых цифровой фильтрации. Теперь можно сравнить быстродействие выполнения свертки по мото:в накопления с перекрытием или по методу накопления со сложением с выполнением свертки во временной области на основе формулы (7.29) Предположим, что необходимо выполнить свертк. )анино)! посчедовательности из М действительных отсчето«с )ействительно)! импульсной характеристикой длиной 1.
При эт!)~! М)) У. 11))м..:! нользовани ! формулы (7.29) необходимо «)»полнить Л1У. действительных умножений. Если применяется метод преобразований, то. согласно фиг. 7.24, при каждом преобразовании и взвешивани)! обрабатываются Л' — 1-+1 отсчетов, а всего преобразований и взвешиваний должно быть М/(Лl — ~-+1), для того чтобы получить свертку всех М отсчетов. Поскольку все преобразования являются Л'-точечными над действительными данными и на каждом шаге нужно выполнить два преобразования и одно М-точечное взвешивание действительных чисел, то общее число действительных умножений для выполнения свертки в частотной области равно 12М 1од. (Л') + 1]. 1.1з табл.
7.1 видно, что при малых значениях Л' выполняется соотношение ~=Л'/5, Следовательно, при использовании метода преобразований можно приблизительно найти число действительных умножений по формуле 12 1ор, (Л/) + 1], а при работе во време,;,!ой области — по форму ле мл Сравнение этих двух формул показывает, что метод преобразований позволяет получить результаты быстрее, если М) 128. Бо- лее того, с увеличением М выигрыш в быстродействии возрастает.
Например, если У=4096, метод преобразований примерно в 30 раз «быстрее» прямого метода. 7.11. Оценка энергетического спектра В 1.;.: !. 7.2.!) нергетн )вский с))сктр нослело!)агельностн х(l'), имеющей ДПФ Л(п), был определен как последовательность п=О, 1, Р (и) = ~ Х (и) ~ -', Л' — 1 11спользование этого энергетического спектра для представления бесконечных временных после товательностей имеет недостаток, кратко рассмотренный в разл. 7.4.
Он связан с тем, что спектр рассчитывается лишь по конечному массиву данных. Однако стало уже общепринятым рас:митри«ать сглаженный (усредненный) по «ром! ни энергсгичсскн)! с))ектр. Г1!)лезно указать цели, которые мы ставим при оценке энерг:- тического спектра. Будем исходить из того, что измеряемый спектр а) ннзкочастотньш, т.
е. расположен в главной полосе; .1 имеет заланное разрешение; и) обладает заданной степенью статистической устойчивости. Первое из этих условий вполне обоснованно, поскольку любой спектр, расположенный вне главной полосы (его обычно называют полосовым), можно привести к низкочастотному, применяя подхоляцп е частотные преобразования.
Далее, секционирование длинной записи с целью выполнения ДПФ, которое необходимо для расчета А(п) и, следовательно, Р(п), приводит к появлению ложных спектральных составляющих. Секционирование эквивалентно умножению исхолной временнбй последовательности (фиг. 7.26,а) на прямоугольное «окно» (фиг.