Гольденберг Л.М., Матюшкин Б.Д., Поляк М.Н. Цифровая обработка сигналов (2-е изд., 1990) (1245704), страница 26
Текст из файла (страница 26)
Ошибки округления появляются в местах умножения комплексных чисел ла нетривиальные повора1ивающис множители. Ошибки маалтабнровалия появляюгся на обоих вхолах кажной операции «бабочка» нз-за сдвига входных чисел на один разряд вправо (деление на два). Элсментарныс ошибки округления и масшгабирования, возникающие на различных ступенях алгоритма, приволят к тому, что отсчеты ДПФ Х(/с) па выходе вычисляются неточно. Обозначим ошибку вычисления /с-го отсчсга ДПФ через е(/с)=Х'(/с) — Х(/с), слс Х'(/с) -вычисленное значение отсчета.
Анализ траекторий распространения элементарных ошибок, возннкщощих на различных ступенях алгоритма, позволяет слепить следующие выводы: !. Элементарная ошибка с лнсперсией о', возникающая на т-й ступени алгоритма, вызывает ошибку с дисперсией оз в 2" выходных точках БПФ. 2. Дисперсия ошибки каждого выходного отсчета алгоритма, обусловленной округлением произведений, равна сумме ошибок, 2" " из ко|орых вызывается ошибками т-й ступени. Перейдем к анализу арифметических ошибок.
В силу того, что магематическое ожидание нсех элементарных ошибок равно нулю, математическое ожидание результируюшсй ошибки Е(е(/г))=0 лля всех /г. Тогла СКЗ ошибок ДПФ булет опрелеляться |олько Дисперсией элементарных ошибок. Дисперсия ошибок округления произнелсния двух комплексных чисел на т-й ступени равна 4о,'„25". Множитель 2' появляется из-за масштабирования на )и прелыду~цих сгупенях путем полония пополам. Вычислим СКЗ ошибок г(й), /|=0,...,/У вЂ” 1.
Из анализа алгоритма БПФ (5.38) и соответствующего направленного графа слелуег, что нетривиальные умножения, связапныс с вычислением отсчета х(/г), |юявлян>гся, начиная со ступени .| (/г ) = 2+ пни ( 1': /|, = 1/, (5.40) глс й=/|„2' '+/г,, 2" '-1 ... +/г,. Это объясняе|ся тЕМ, ЧтО ПсрнОС ПОявпсние единицы в двоичном прело |авлении й: й = 1. т = ппп (/: й, = 1,', соответствует умножению на коэффициент — 1 на ступени т, зогла на слелуюшсй тт!-й ступени наличие коэффициента /|„=1 приведет к умножению на /. а уже на т+2 и палее суупецях все умножения булут нетривиальными.
Это хорошо прослелигь, анализируя выражение (538), описывающее т-ю ступень алгоригма. Можно показать путем вычислений 5(/г), что лля опрелслсния отсчетов с номерами /г=О, /)//4; ///2; ЗУ/4 не |рсбуется выполнение нс|ривнальных умножений, нее умножения здесь на *1; т/. Ошибка округления этих отсчетов ранна нулю. Л лля вычисления СКЗ ошибок округления о|счетов с лругимн /г воспользуемся вторым выводом. В результате получим ЕИг(й)! ) = ° 2 вь, 0 Л)И /ГшО; /У/4; /9/2; ЗЛ)/4, (5.41) 4п„'„2 2" "2'"= (2)ч/ — 2'н')/ч) лля других /|, |а ) 3 П р и м е р 5.7.
Рассмотрим вычисление ошибок округления отсчетов 16- точсчного БПФ. Для это|о выпишем лля каждого номера отсчета с|о двоичное прслстанлсннс пнп (/:/3=1), .е(/е ). Затем пользуясь выражением (5 41). нычислнсм ошибки округления. Рсзулыаты расчстон приводятся в |абл. 5.1. Заметим, что отсчеты с номерами /|=4, 8, 12 вычиспяю|ся точно так, как 5(/г)>4, гле 4 — максимальное число нозможных сгупенсй алгоритма, т.
е. в формировании отсчетов с номерами О, 4, 8, 12 участвуют умножения только па тривиальные множители (+1, ~/) (см. гакже |раф на рнс. 5.5). Вычислим СКЗ ошибки, усредненное по всем /г. Па первых двух ступенях алгоритма (т = 1,2) асе умножения являются точными, так как множители |ривиальны (л!, +/); на выходах т-й ступени (т=3, ...,и) появляется /у произ- велений в 2' " блоках, причем четыре произнелення в каждом блоке являются точными н рсзулыа|с умножения гакже на триниальные множизсли.
142 Таблица 5.1 Деея)ичиое прело ив.)ение Ошибка округления (гк-го ук г мп ш=ш|о() ы 1 (ь/=ш ьг Двоичное ирене)авненне 1. Ыч Ь, Суммарная ошибка окру) ° |т|иа н л|ае. нпвбнрованнв 256 СКЗ ошибки округления, усредненное по всем /г 976 СКЗ суммарной ошибки, усрелненнос по нссм /г Тогда. пользуясь ныволом 1, получаем ш К-1 4|у,', 2->ь, — 2' Е((е(/г)!5~ = — ' 2' (Л) — 4 2" )'21 '2" = (2Л'~ — 4н/)/) (542) В случае 16-точечного БПФ ш 15 — 2, Е(!е(/г)(~) 2-кь!/3 256 !бесо ' Определим СКЗ выходной ошибки алгоритма, обусловленной масштабированием промежуточных результатов. Ошибка масштабирования комплексного числа на т-й ступени алгоритма имеет пулевое среднее и дисперсию п>м 2'". Множитель 2" появпяетсн нз-за масштабирования на )и предыдуших ступенях.
В соответствии с выводом 2 СКЗ индивидуальной ошибки равно />((г(/г))1)м=пм~ 2 '2 '21 =2 вь)Л/(х/ — !). =о (5.43) В случае 16-точечного БПФ Е(!г(/г)(в) 2 — вь, (2 1 2 — |,21 1 2 — 1,2а 1 2 -5,2ь) 2 — вь)(/9+2/9-~43/Ч. 720 +8/>))=15/>) 2 'ь)=240 2 'ь)= — 2 3 143 0 2 3 4 5 б 7 8 9 10 11 12 13 14 !5 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 О О 1 1 1 1 0 0 0 1 0 О 1 1 0 1 0 1 0 1 1 1 1 0 0 1 ! О 1 1 1 1 0 1 1 1 1 3 4 3 54 3 4 3 64 3 4 3 54 3 4 3 0 384 2/3 256 384 0 384 256 384 0 384 256 384 0 384 256 384 720 1122 976 1!22 720 1122 976 1122 720 1122 976 1122 720 1122 976 1122 с ! «-1 — 2.
Б(]е(й)]4 =2 '" /У(А-!) А ь=о /м (5.44) ам= П (И" +8,), 1= 1 (5.49) 1ЛС П И"ч= И'"'. 1.— 1 (5. 50) < 15 ~ /, (]е(/г)]2) (2 — 251/3),976 162-о /и. ' и-1 е [/2 ) = Х ' (/ь ) — Х(й ) = Х х (и Н П. — И"и ). .-о (5.51) Вычитая (5.50) нз (5.49), получаем «СКЗ ошибки» =529 2 «СКЗ выходного сигнала» (5,47) В случае 16-точечного БПФ «СКЗ ошибки» =80 2 «СКЗ выходного сигнала» Ь. 1 ьл ~ ]х(л)]2 6 (5. 52) 1 5-1 «-1 — 2 ]Х(й)]2= 2 ]х(л)]'. -о (5 53) (5.48) (5.54) « — 1 Х'(/5)= 2„х(л)а„е ,=о 145 Усредненное по всем выходам /г СКЗ также равно Срсднскналратическос значение суммарной ошибки. обусловленной округлением и масштабированием, вычисляется как сумма отдельных СКЗ: / 2 Аь(62 — 1)2 '25 лля /5=0 (6(]е(/г)] ))и „вЂ” 2-2ь! — /У(262 — 2*522)+2 '«129(2У вЂ” 1) Лла ДРУгих /1; 3 СКЗ суммарной ошибки, усредненное по нссм выходам алгоритма, равно с « — 1 25 2.2ь, — 2, Е(]е(/г)]2)) =- (562~ — 4«62-362).
(5.46) /У 1=о )м.. 3 В случае 16-ьочсчного БПФ Результаты вычисления СКЗ суммарных ошибок также приведены в габл. 5.1. Точность а норитма принято оценивать по отношсниьо «СКЗ ошибки/СКЗ выходного сигнала». В данном случае оно составляет Как видно нз полученных выражений. точность аль оритма зависит от двух парамстрон: шьипьг преобразования /У н разрядности представления чисел 6,.
Если изнсстны зребовання по точности вычисления и размер преобразования, разряднос1ь процессора БПФ мокно опрслелить из слслуюшсго выражения, полученного логарифмированием выражения (5.47)1 «СКЗ ошибки» о+ 1о8,5 — !о82 «СКЗ выхолного сигнала» 61 ге Тенсрь перейдем к анализу ошибок БПФ, вызванных нсточнЬЬМ Прсцстав- 22 — ь пением значений ново(жчнвающих множителей И'"'=с "' . Пусть «-1 Х(й)= 2 х(л) И'"„' — гочпыс значения коэффнциегпов Фурье, а Х'(й) — неточные. полученные прн условии прсдстанлення коэффициентов конечным числом разрялон В рассматринаемом алгоритме кажцый элемент П„ь прслставлясг собой нроизвеленис о квантованных коэффициентов. Действительно, можно показать, что каждый отсчет яхолной последовательности, пролвиьаясь к /1-му выхолу (см.
рис, 5.5), на каждой ступени алгоригма претсрпсваеь умножение только па один поворачивающий множитель, 1. е. Дисперсия элементарных ошибок окруьлепия 6, комплексных козффнциенгов равна 2- ььь/6 Индивидуальная ошибка БПФ, обусловленная окру!пением коьффнцисптов, равна йм — И'м= 2 61 П И'"1 + члсшл высшего цоряпка. 1-1,=11/ ° 11 Пренебрегая членами высшего порядка н полстанляя паслслнес выраженно в (5.51). получаем следующее СКЗ ошибки, вызванной квантованием коэффициентов: По теореме Парссваля СКЗ выхоцпоьо сигпаяа раино Отсюда «СКЗ ошнбкиьСКЗ выхолпого сигнагьаьь=(т 6)2 "-'. В случае 16-точечного БПФ «СКЗ ошибки/СКЗ выходного сигнала»=(2/3)2 Здесь рассмотрены нычислитсльныс ошибки только одного из многочисленных алгоритмов БПФ лля определенного вила прслстанлсння чисел С таким жс успехом использованный полхол может быть применен лля апаяиза ошибок лруь их алгоритмов.
При этом, очевилно, СКЗ ошибок булсг сущее гвснпо завнссп ог конфигурации направленного графа алгоритма, способа прелставлспия чисел и метола масштабирования, Анализ вычислиьсльных ошибок наиболсс важных классов алгоритмов БПФ пронелен в [11]. 6.1. ОБЩИЕ СВЕДЕНИЯ л й« I «' я) Рис. 6.! ем !'2гглу) 2еая Рплу) /2««лу лГлт) лГлт) атлг) и)лг) «=о Рис. 6.2 )46 !47 Г л а В а 6. НЕКОТОРЫЕ ОПЕРАЦИИ НАД СПЕКТРАМИ СИГНАЛОВ В ТЕХНИКЕ СВЯЗИ При обработке сигналов в технике связи возникасг рид задач. связанных с преобразованием спектров сигналов.
Некоторые из них решаются с помощью цифровой фильтрации. В оздсльную ~руину можно выделить задачи, требуюгцие перемещения спектра сигнала на осн частот. Такие преобразования сигнала являются типичными в технике многоканальной связи при формировании группового сигнала с частотным разлелением каналов !ЧРК) из отдельных канальных сигналов или при выделении отдельных канальных сигналов из группового сигнала с ЧРК. Особенностью указанной обработки является то, что амплитудный спектр си~нала практически не изменяется.
Меняется лишь положение спектра на оси частот. В данной главе рассмотрим цифровые метолы переноса спектра сигнала, инверсии спектра и методы формирования сигнала с одной боковой полосой. Применение указанных методов в конкретных устройствах связи будет рассмотрено в гл.