Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 61
Текст из файла (страница 61)
8.11: результаты каждого этапа преобразований имеют обозначения, совпадакицие с обозначением результатов предыдущего этапа. Таким образом, требуемая в БПФ емкость памяти для хранения исходных данных, промежуточных и конечных результатов преобразований равна 1т' (числу элементов в исходном массиве данных). На рис. 8.14, б показана схема алгоритма БПФ, где лг =- 1онт 1т'— число этапов преобразования. Выпускаемые в настоящее время микропроцессорные средства позволяют выполнять БПФ в реальном масштабе времени над сигналами с полосой частот до сотен килогерц. При обработке сигналов изображений полоса частот, занимаемая сигналом, может оказаться шире.
Необходимое при этом повышение скорости обработки может быть достигнуто использованием аппаратной реализации операции умножения и применением мультипроцессорных устройств. Рассмотрим принцип реализации БПФ. Пусть в МПУ, реализующем БПФ, с временным интервалом Т вводятся массивы данных, содержащие 2в =- 258 данных. В том же темпе на выходе необходимо получать массивы, представляющие собой результат преобразования входных массивов. Если обработка будет вестись одним микропроцессором, к моменту поступления иа вход очередного массива результат обработки предыдущего массива должен Рвс.
8ЛЗ. Быстрый адгоритн двоичио-ииверсиых перестановок 346 быть выдан из микропроцессорного устройства. Таким образом, время преобразования не должно превышать Т. Для реализации БПФ можно использовать несколько микропроцессоров, например четыре. При этом 1-й микропроцессор может выполнять не все преобразование, а лишь часть его (1-й и 2-й этапы). Передавая результат такой частичной обработки 2-му микропроцессору, 1-й микропроцессор приступает к выполнению 1-го и 2-го этапов преобразования над очередным массивом данных; 2-й микропроцессор, получая от 1-го микропроцессора результат 1-го и 2-го этапов преобразования, выполняет З-й и 4-й этапы преобразования, передавая результат следующему микропроцессору и т.
д. Последний 4-й микропроцессор выполняет Ч-й и 8-й этапы преобразования и полученный окончательный результат выдает на выход. В такой системе обработки иа все преобразование может затрачиваться время 4Т и за время Т один микропроцессор должен выполнять яе все преобразование, но лишь часть его этапов. При такой обработке для хранения исходных данных и данных, представляющих собой результаты выполнения отдельных этапов, в памяти можно выделить отдельные массивы ячеек (рис.
8.15). При этом 1-й микропроцессор, выбирая данные из массива А, будет помещать результат 1-го этапа преобразования в массив В; одновременно 2-й микропроцессор, используя данные массива С, будет формировать результат обработки в массиве Р и т. д. Затем 1-й микропроцессор выбирает данные из массива В и результат 2-го этапа преобразования помещает в лФ + Аул! лгд1 " — л'181 Рис. 8.14.
Схема вычиелеиия пар аиа. чеииа при выполиеиаи БПФ (а) и схема алгоритма БПФ (б) эд пег г-д мп с-а пгтг Рис. 8.15. Повышеиие скорости выполиеииа БПФ путем нспользоваиип иесколь. кик микропроцессоров массив С; 2-й микропроцессор в это время выбирает данные из 0 и результат 4-го этапа преобразования помещает в массив Е и т. д.
Использование подобной мультимикропроцессориой системы обеспечивает многократное уменьшение интервала времени, через который на вход микропроцессорного устройства подаются массивы подлежащих преобразованию данных. Так как в приведенном описании предполагалось, что все микропроцессоры используют общую память, у которой имеется лишь один вход и один выход, то в каждый тактовый период к такой памяти может обращаться лишь один микропроцессор системы. Этот режим функционирования системы нетрудно обеспечить, соответствующим образом сдвинув начала выполнения этапов в отдельных микропроцессорах. 8.5.
ПЕРЕНОС СПЕКТРА СИГНАЛОВ ИЗ ОДНОЙ ЧАСТОТНОЙ ОБЛАСТИ В ДРУГУЮ Пусть исходный сигнал имеет действительные значения х (пТ) и спектр Х (л), модуль которого 1Х (й)( показан на рис. 8.16, а. Необходимо преобразовать сигнал таким образом, чтобы его спектр оказался а) Рис. й.!6. Перенос спектра сигиала пз одной частотиой области в другую: а) исполина спектр; б) савкиутма спектр 34а !галл/и) хд !пт) Рнс.
8.17, Операпнн прн сдан- !с спектра айл Глг) гранд!и) то и — 1 и — ! ХЯ вЂ” р) = — ' У х(пТ)-(Рл™ = — ' У х(пТ) Ф' — "л Юла= д! ~и д! .лл! л=о л =. е и — 1 — т' х'(пТ) В'л», (8.10) Л' лла л=е где х'(пТ) = к(пТ) %' ил =х(пТ). е'клал!и— преобразованный сигнал, имеющий требуемый спектр.
Таким образом, для сдвига спектра вправо необходимо дискретные значения сигнала х (лТ) умножить на е1тллл!и = сок (2 ярп/М) + + 1з1п (2 яро!М), как показано на рис. 8.17, где х,',(лТ) — действительная, х„'„(пТ) — мнимая части значений преобразованного сигнала.
Рассмотрим использование сдвига спектра для выделения одной боковой полосы частот (рис. 8.18, г). Эта операция может быть выпол- б) г) Рнс. 8.18. Использование сдвига спектра для выделения одной боковой полосы частот 349 сдвинутым вправо иа р дискретных значений частоты (на частоту А!о = 2 пр!Ф), как показано на рис. 8.16, б. Очевидно, спектральная функция преобразованного сигнала будет описываться выражением Х (й — о). Так как и — ! Х (Ф) = — '~~ х(пТ).
Ф'"л, д! л иена следующим образом. Спектр исходного сигнала сдвигается влево на (!г! + ял)!2 дискретных значений частоты (рис. 8. !8, б), затем с помощью цифрового фильтра (цифровые фильтры рассматриваются в 5 8.7) выделяется требуемая часть спектра (рис. 8.18, в), содержащая верхнюю боковую полосу частот, после чего производится сдвиг спектра вправо на (к! + !ОО)12 дискретных значений частоты (рнс. 8.18, г).
8.6. ВЫЧИСЛЕНИЕ ЭНЕРГЕТИЧЕСКОГО СПЕКТРА, КОРРЕЛЯЦИОННОЙ ФУНКЦИИ, СВЕРТКИ л =.. О Корреляционная функция )г (!О) и энергетический спектр Р (!О) связаны парой преобразования Фурье: М вЂ ! )7(й) ==- ',"Р Р(п) Ф' "О, й=О, 1,...,У вЂ” 1; (8.13) л.— — О М вЂ” ! (й) = ! ~' К(й) ж'"О, й = О, 1,..., А( — 1. (8.14) л О Перейдем к рассмотрению свертки. Операция свертки двух периоди- ческих последовательностей х (пТ) и д (пТ) выражается формулой М вЂ ! у(пТ) = ~я~~ х(тТ) й(пТ вЂ” тТ), и= — О, 1,..., Аà — 1, т=О или эквивалентной формулой М вЂ” ! у(пТ) = ~ х(пТ вЂ” тТ) й(тТ), и =О, 1,..., Аг — 1. (8.15) (8.16) Как было показано выше, ДПФ позволяет рассчитать спектр Х (й) периодической последовательности х (пТ).
Наряду с Х (й) часто представляет интерес энергетический спектр, составляющие которого представляют собой мощность соответствующих составляющих спектра Х (й). Мощность я-й составляющей спектра Х (й) равна Р (й) --. Х (й! Х*(й) -! Х (й)!', й =- О, 1,.„, ж — 1, (8.1 1) где Х* (й) — комплексное значение, сопряженное с Х (й) !Х" (я) отличается от Х (й) лишь знаком мнимой части!. Карреяякианная функ!!ия последовательности х (пТ) определяется выражением М вЂ ! )7()О)= —, У х(пТ) х(йТэ! пТ), й=-О, 1,..., А! — 1. (8,12) А' Рис.
8.19. К вы«исаевою свертки фуиииий Свертка может использоваться при расчете отклика линейной цепи с имцульсной характеристикой 2 (пТ) на входное воздействие х (пТ). Рассмотрим пример вычисления свертки двух М-точечных функций х (пТ) н и (пТ), приведенных на рис. 8.19. Вычисление свертки у (Т) этих! функций с помощью выражения (8.15) приводит к следующему значению: у(T) = у(Т) х(0) +8(0) х(Т) +д( — Т) х (2Т) 1 +8( — 2Т) х(ЗТ) =2 ° 1+3.2+0 0+ 1.О = 8. Как видим, при вычислении свертки используются Ж значений каждой функции, причем эти М значений могут браться не только из основного, но и из соседнего с ним периода.
Поэтому такая свертка, предусматривающая периодичность входящих в нее функций, называется круговой. Прямое выполнение круговой свертки по формулам (8.15) и (8.16) над функциями, выражаемыми последовательностями действительных чисел, требует Мо умножений действительных чисел. Возможно быстрое выполнение свертки, предусматривающее следующую последовательность действий: с использованием БПФ вычисление спектров Х (й) и 0 (й), участвующих в свертке функций х (пТ) и у (пТ); вычисление произведения спектров 2 (и) = Х (и) б (и); с использованием БПФ вычисление обратного ДПФ от Е (к), которое и представляет собой искомый результат свертки у (пТ).
Таким образом, л — ! и — ! у (пТ) = ~ Е (й) )с' — "« = ~ Х (й) 6 (lг) )Р «: —..о «=о «' — !у М вЂ” ! х / м — ! — х(пТ) (р««) ! ч~' у(пТ) Ж' ' %' "«, (8.17) Га1 !о 1Ч л«« «= о «=о «о 351 Несмотря на то, что этот способ вычисления свертки предусматривает трехкратное вычисление ДПФ, он оказывается более экономным, чем прямое вычисление свертки по выражениям (8.! 6) и (8.16). Определим количество умножений, выполняемых при таком способе вычисления свертки. Быстрое преобразование Фурье, используемое для вы- У полнения прямого ДПФ, как было показано выше, требует — 1ояв М умножений комплексных чисел или 2 М 1одв М умножений действительных чисел, а для преобразования двух функций х (лТ) и л (пТ) потребуется 4 М 1одв М умножений действительных чисел.
Так как спектры Х (й) и 6 (й) представляют собой М-точечные последовательности в общем случае комплексных чисел, то на выполнение операции умножения спектров будет затрачнваться 4 М умножений действительных чисел. Наконец, ОДПФ, выполняемое с использованием БПФ, потребует — !оде М умножений комплексных чисел или 2 М !од Мв умноже- 2 ний действительных чисел. Таким образом, общее количество умножений действительных чисел составит М =- 6 М !ода М + 4 М. В табл.
8.3 приведено количество умножений при прямом методе выполнения свертки и методе с использованием БПФ для различных значений М. Как видим, при М ) 2' = 32 метод с использованием БПФ по сравнению с прямым методом обеспечивает экономичность тем более высокую, чем больше М. До сих пор мы рассматривали круговую свертку, предполагая, что используемые в свертке функции являются периодическими с периодом М. Однако на практике чаще возникает необходимость в вычислении свертки от непериодических функций, например при использовании свертки для вычисления отклика линейной системы (если входное воздействие и может выражаться периодической функцией, то импульсная характеристика системы является существенно апериодической функцией).