Брейсуэлл Р. - Преобразование Хартли (теория и приложения) (1044117), страница 28
Текст из файла (страница 28)
1 130 ГОВ 3 1 ТО 52 - 1 140 А(И + Л) МОО Е3.3) АИ .0) )43 1 256 .Б -128 .2Б -128 .125 0 .0625 0 .03126 0 .015625 0 0078125 0 253 -1 -128 -64 -32 -16 -8 -4 11 (число элементов последовыборке нспользуются 1, = 5 н матрица (А), соответствующая соотношении (С! = !А1 х [В): ! 0 О 1'1 Программа АСР 10 ) 2О ! Программа САСР 30 ! 40 11 БО ЕЗ 60 ! БОО ВАТА 1, 1. 1, 1. О. О. О.
0 БОО ВАТА 1, 4. 6. 4. 1 Ю !ззб 1бо мехт 3 160 ИЕХТ 1 170 ! Сйюрмировазь произведение (д! х (В! 180 МАТ С АэЗ 190 ! Вывесги результат» на терминал 200 ГОВ 1 0 ТО ЕЗ - 1 210 РВ1ИТ С(1) 220 ИЕХТ 1 230 ЕИО 24О ! В'кю ' пб (В! 2БО РАТА 1.2.3 260 ! Столбец 1 матрицы (д! 270 ВАТА 1.1,1,1,2 280 ЕМО Примечания, а) Подставить численные значения 1, н аательностей А( )н В( )) в строки 30 н 40. В 1з =.3.
б) Няне полностью прнведена циклическая последовательности А( ),н вектор-столбцы в ! ! О 1 ! 1 ! 1 1 2 ! 1 О 2 ! 0 0 2 "Асю' Определаниепросго» корреляционной функции последовательности Е( ) длн получения С ( ) Последовательность Е( ) имеет число элементов ),а С( )— 1 число элементов 2), 1 ) Числа элементов последовагалыгосги С ( ) 01М ГО)), С(2)1 — 1) 100 ООБРАЗ 1000 ! Подл)юг(имма "Ввадданных" 110 СОБОЗ 2000 ! Падщюпимма "Вычисление коррэллццоннза р 120 СОЗЫВ 3000 ! Подпрограмма "Вывод данных на герминал" 130 ЕИО ! Подпрограмма "Ввод данных" 1010 ГОВ 1 1 ТО Е1 й НКАО Г(1) 43 ИЕХТ 1 1020 АЕТОВИ 2000 ! Подпрограмма "Вычисление «ор)иляционной функцми" 2010 ГОВ 1 1 ТО ЕЗ Зо2о с(П о ! и Зозо ГОВ 3 - мйх(1 - 11 +1.
1) то мтм(и. 1) 2040 К Л вЂ” 1 + 1,1 2060 С(1) С(1) + Г(Л)ьГ(К) Зобо иехт 3 2070 ИЕХТ 1 2080 ВЕТОВИ 3000 ! Подпрограмма "Вывод данных на терзаемая" 3010 РВ)ИТ " 1 Р(1) С(1)и зого РВтит 3030 ГОВ 1 1 ТО 13 3040 РЗ "" м 1Г 1 < ).1 ТНЕИ ГЗ ИЙ4(Г(1)) ЗОБО РВ1МТ 1; ТАВ(7); ГЗ; ТАВ(12): С(1) 3060 МЕХТ 1 3070 ВЕТОВМ Выборочные результаты вывод» данмых дл» (,= б 1 Г(1) С(1) 1 1 1 4 8 3 б 28 4 4 Бб Б 1 70 6 Бб 7 28 8 8 9 1 Примечание. а) Подставить числовое значение 1, в строки 40 н бо. В примере используется значение 1, = 5.
10 ! иСАСГи 20 1 Определение циклической корреляциомной функции мчеделова\алчности Е( ) ллл получения С ( ) ЗОВ л 40 01М Г(л). С(п) 100 БОБОВ 1000 1 Подпрограмма'*Вводданных" 110 СОБОВ 2000 ! подпрограмма "Вычисление корреляционной функции" 120 0081!В 3000 ! Подорограмма "Вывод данных нз терминал" 130 ЕИО 1000 ! Подпрограмма "Ввод данных" 1010 ГОВ 1 = 0 ТО М - 1 42 ВЕАО Р(1) 43 ИЕХТ 1 1ОЗО ВЕТОВМ 2000 ! Подпрограмма "Вычисление корреляционнои функции" 2010 ГОВ 3 О ТО М вЂ” 1 ! каждый сдвиг вьюолнять поочередно 202О С(8) О ! П д д у Р 2030 ГОВ Т 0 ТО И - 1 2040 О (Т - 3) МОО И ! Нндекссдвигацикпичен ЗОБО С(8) С(8) + Г(О) зГ(Т) ! Суммировать произведении 2060 ИЕХТ Т 2070 ИЕХТ 3 2080 ВЕХт)ВИ 3000 ! Поларограммз "Вывод данных на терминал" 3010 ГВ1ИТ " 1 Г(Х) С(1)н ВИ ГВ1ИТ 3020 ГОВ 1 0 ТО И вЂ” 1 3030 ГВ1ИТ 1; ТАВ(6): Г(1); ТАВ(!2): С(1) 3040 ИЕХТ 1 ЗОБО ВЕТОВИ Выборочные результаты выводз даннык длл л = В 1 Г(1) С(Х) 0 1 4 1 1 3 2 ! 2 3 1 1 4 0 0 Б 0 1 6 О 2 7 0 3 Примечание.
Подставить числовое значение для л в строки 30 и 40. В примере используется значение н = 8. Программа ХСО(ч(У 10 ! иХСОИЧи 20 ! Обращеннесвертни Р(( (*Р2( (=О( ! длп определении Рт( ! при заданных Рз( ! и 0( ! 30 т ! ( т Определить число элементов последовательности Р\( ! 40 т 2 (з ! Число элементов последовательности Р2( ! БО ХЗ !з ! Число элементов о( ! 60 01М Г! О( — 1) . Г20з — !) . СО(+ !з — 2) 100 СОЗЫВ 1000 ! Подпрограмма "Вводданнык" 110 СОЗЫВ 2000 ! Подпрограмма "Обращение свертки" 120 СОЗОВ 3009 ! Подпрограмма "Вывод даннык на терминал" 130 ЕИО БОО ОАТА 2,2,3,3,4 610 ПАТА 2,4,9.10.13,10,8 1000 ! Поллрограмма "ввод данных" 1010 ГОВ 1 1 ТО 1,2 м ВЕАЮ Г2(1) 43 ИЕХТ 1 !ОЗО ГОВ Х - 1 то ХЗ 43 ВЕАО С(Х) Е ИЕХТ Х 1030 ГОВ 1 ХЗ ТО ХХ + 12 - 2 43 С(1) 0 4$ ИЕХТ 1 1040 ВЕТОВИ 2000 ! Подпрограмма "Обращение свертки" 2О!О ГХ(!) С(!)УГ2(1) 2020 ГОВ 1 2 ТО Ы 2030 3 0 ! Подготовить длл суммировании 2040 ГОВ Л МАХ(1,1 + 1 - Ь2) ТО 1 - ! 2060 3 3 + Г!(Л)зГ2(1 + 1 — 3) 146 2060 ИЕХТ Л 2070 Г1(1) (С(1) - 3)/Г2(0) 2080 ИЕХТ 1 2090 ВЕТОВИ 3000 т "Вывод даннык на терминал" 3010 ГВ1ИТ " 1 Г1(1) Г2(1) СИ)и О( ГВ1ИТ ЗОЗО ГОВ Х ! ТО Х! ЗОЗО Г28 " " Е ХГ 1 < Ь2 - ! ТИМИ Г28 ЧАЕВ (Г2(1)) 3040 08 " " 43 ХГ 1 < ХЗ " 1 ТВЕИ СВ ЧАХ.В (С(1)) ЗОБО ГВ1ИТ 1; ТАВ(6); Г1(Х); ТАВ(14); Г28 ; ТАВ(22); СЗ 3060 ИЕХТ Х 3070 ВЕТОВИ ВыбоРачнне РеэУпьтаты амвоРа данных длх 1, 3, (э — — б и (э = 7: 1 Г1(1) Г2И) С(1) 2 4 9 10 13 10 8 Программа ХХЕСХХз 10 ! нВЕСХРн 20 ! Получение последовательности П (, обратной заданной послеловагельностн Р( ( 30 1 1 (( ! Определить число элементов последовательности и ! 40 12 (з ! Чиспоэлементовпоследовательности р( ! 60 01К 10( — !), ГОя — Х) 100 СОЗОВ !000 ! Подпрограмма "Ввадданных" 110 СОЗОВ 2000 т Паап(югоаммз "Инвеатирование" 120 СОЗЫВ 3000 т Полл(юграмма "Вывод аан ых на терминал" 130 ЕИО 600 ВАТА 1,1,1,1,1 1000 т Подпрограмма "Ввод данных" 1010 ГОВ 1 0 ТО !.2 - 1 43 ВЕАО Г(1) вп ИЕХТ 1 1020 ВЕТОВИ 2000 т Подпрограмма "Инвертирование" 2О!О Х(О) - !УГ(О) 2ОЗО ГОВ 1 1 ТО 1! - ! 2030 8 0 т Поаготовить ллп суммиосванип 2040 ГОВ Л МАХ(0,1 + 1 " Х2) ТО 1 — 1 147 (0* 1 1 2 2 1 2 3 2 3 4 0 3 6 0 4 6 О 7 0 8 0 Примечания.
а) Подставить значения 1„1„(з в строки 30, 40, 50 и 60. В этом примере используются значения 1, = 3, 1, = 5,! = 7 б) Данная программа реализует прямой алгоритм «ручного счета», опубликованный в книге )Х. А(. ВгисемеП. ТЬе Гоипег Тгвпз(опп апд ХМ Аррйсабопз, Мойка(у-НЙ, (965 (Р. Брейсуэлл, Преобразование Фурье и его приложения). 2060 8 " 8 + 1(5)аРИ - 3) кобо иехт 1 2О/О ХИ) - Б/Р(О) 2080 ИЕХТ 1 2090 ВЕТ /Ви 3000 ! Подпрограмма "Вывод данных на терминал" 3010 РВХИТ " 1 РИ) 1И)и ав РВ1ИТ 3020 РОН 1 0 ТО Ы вЂ” 1 ЗОЗО РВ " " 43 1Р 1 < Е2 - 1 ТНЕИ РВ ИИ4 (РИ)) 3040 РН1ИТ 1; ТАВ(7); ГВ ; ТАВ(14); Х И) 3060 ИЕХТ 1 3060 ВЕТОВМ Выборочные результаты выводаданныхдлл / =В и / =б г 1И) 1 ГИ) 1 1 2 1 3 1 4 1 6 1 6 7 8 Программа ХСО)1)ч 10 ! "1СОВВи 20 01М А(2Л+1 ), Г(2Ь+ ! ) 30 Н Л г Число зпементов мкпедсвательнссти данных 40 И = 2зи - 1 ! Полное чиспозлементов корреплционнойпоследовательности 100 БОБОВ 1000 ! Подпрограмма "Вводданных" 110 СОМОВ 4000 ! Подпрограмма "Инвертирование корреллцианной йгункции" 120 СОБСВ БООО ! Подпрограмма "Вывод данных на терминал" 130 ЕИО БОО ВАТА 20, 16, 6, 1 ! Виномиальные ксзгрфициенты 1000 ! Подпрограмма "Ввод даннык" 1010 РОВ 1 0 ТО Н вЂ” 1 Ю ВРАО АИ + Н - 1) вв А(Н - 1 - 1) = Аи + н " 1)ии икхт х 1020 АО А(0) 1030 ГОВ 1 0 ТО И - 1 Э АИ) АИ)/АО че МЕХТ 1 1040 ВЕТСВИ 4000 ! -.Подпрограмма "Инвертирование корреллционной аункции- 4010 Р(0) 1 4020 ГИ) А(1)/2 4030 Г(2) А(2)/2 — Г(1)»Р(1)/2 4040 ГОН 1 3 ТО И - 1 ! Индексирование 1 "1 0 0 0 1 -1 0 Примечания/ а) Подставить значения !, и /г в строки 30, 40 и 50.
В примере используются значения!, = 8 и !г = 5. б) Данный алгоритм является частным случаем программы 1СО)ч!т/, когда 6(/) = (! 00 ...). К 1 017 2 ! Числоыагсв Б 0 ! Подготовить длл суммированип ГОН Х 1 ТО К вЂ” 1 Б 3 + Г(1)зГИ вЂ” 1) ИЕХТ 1 хр х моо 2 о тнеи Б Б + Р(к)*Р(к)/2 БАБЕ Б 3 + Г(К)зГИ - К) ! Последний элемент 4110 ГИ) АИ)/2 - 3 412о икхт 1 4130 ВЕТУВИ 40БО 4060 4070 4080 4090 4100 6000 ! Подпрограмма "Выаодданныкна терминал" 6010 РВ1ИТ и1 АО РО и й РВ1ИТ 6020 РОН 1 0 ТО М - 1 6030 1Р 1 > М - 1 ТНЕИ АВ " " Е133 АБ ИА1$(АИ)) 6040 РН1ИТ 1; ТАВ(6): АВ; ТАВ(12); ГИ) БОБО МЕХТ 1 БОБО ВЕТ!!Ни Выборочные результаты вывода данных: 1 АО РО 0 1 1 1 6 3 2 16 3 3 20 1 4 1Б 0 6 6 0 6 1 0 Примечания.
а) Подставить числовые значения Л в строку ЗО, а значения 2Л+! -в строку 20. б) Алгоритм реализует аналоговый метод вычисления, для которого последовательность А( ) записывается на внешнем кольце соответствующего вычислительного устройства, а Р( ) будет последовательно наблюдаться на двух его внутренних кольцах, но в противоположных направлениях.
На каждом шаге, когда величина Г( ) становится известной, она регистрируется. в) За исключением случая, когда А( ) †корреляционн функция конечной последовательности (что имеет место в данном примере), последовательности Г( ) будут иметь бесконечное числа элементов. г) Термин «каузальный», используемый в смысле А(г) < О, / < О, является важным условнем в физике и безусловно выполняемым в вычислительной технике.
д) В общем случае ясно, что корреляционные функции не могут быть обращены однозначно. Представленный алгоритм дает четное решение для конечной последовательности, если оно существует. Однахо при этом в качестве отправной точки берется левый элемент последовательности А( ), который может иметь небольшое значение и может быть подвержен ошибке или искаягенню.
Анализ характера возникновения и распространения ошибки иа всю последовательность может быть выполнен путем изменения А(0), скажем, до величины 1,! и осуществления дополнительной процедуры нормировки. !48 Программа РНТСО)ц)У 10 ! т'РИТСОИИтч 20 . Вычисланиз свартки двух функций )посладоватапьностай) т с числом элементов Н)2 с помощью быстрого алгоритма 30 Р 4 4$ М 2лр 40 01М Р(16), Т(16) 1000 т подпрограммз "получаниа параой функции" 1010РОВ1 ОТОИ-1 1020 1Р 1 < Я ОВ 1 > 12 ТКЕМ Г(Х) 1 Е|ЗЕ Р(Х) 0 1030 ИЕХТ 1 1040 ВЕТХ)НИ 2000 ! Подпрограмма "Парамащаниа к промажуточному массиву" 2010 ГОН Х 0 ТО И - 1 Еойо т(П Г(х) 2030 НЕХТ 1 3000 ! Подпрограмма "Получение втотюй функции" 3010 РОН 1 0 ТО Н - 1 3020 1Р 1 < 8 ТНЕИ Р(1) 1 + 1 ЕХ.ЗЕ Р(1) 0 3030 НЕХТ 1 3040 ВЕХХЖИ 4000 т Подпрограмма "Перемножение двух ДПХ" 4010 РОВ 1 0 ТО И - 1 йойо Г(х) Рп) т(х) 4030 МЕХТ 1 4040 ВЕТОНМ 4400 т Поапр р мма "О сутствиз сим .тр,и- 4410 01М Г1(1б) ! Раварсированиа р! ) 4420 ГОН Е 1 ТО М - 1 4430 Р1(Е) Г(И " Е) ИЕХТ Е ! Запомнить разупьтат равзрсированил р) ) 4460 Р(0) Р(0)аТ(0)з2 44бо РОН 1 1 ТО И " 1 4470 Р(1) " Г(1)з(Т(Х) + Т(И - 1)) + Р1(1)*(Т(1) - Т(И вЂ” 1)) 4480 МЕХТ 1 4490 ВЕТ!!ВМ БООО ! Полпрограмма "Вывод данны» на терминал" 6010 РОВ 1 0 ТО И - 1 Б020 РН1МТ 1ИТ(0.6 + Г(Х)/М) 100 БОБОВ 1000 110 СОБОВ 9000 120 БОБОВ 2000 130 БОБОВ 3000 140 СОБОВ 9000 1БО СОЗОВ 4000 160 СОЗОВ 9000 170 СОБОВ'6000 180 ЕИО ! Подпрограмма "Получзниа первой Функции" ! Подпрограмма "Получение ДПХ Подпрограмма "Пзрамицаниа н промажуточному массиву" Подпрограмма "Полу ение второй функции" Подпрограмма "Палучанна ДПХ" Подпрограмма "Парамнахтаниа да у» ДП Х" Подпрограмма "Пол учаниз ДПХ" т Подпрограмма "Вывод данны» на тарминап" 6030 НЕХТ 1 6040 НЕТ!ЖИ 9000 т Подпрограмма "Получение ДПХ" Выуюрочныа раэупьтаты вывода данных 10 16 21 28 36 33 30 26 21 16 8 0 0 1 3 6 Лримещэяия.