Сигналдардың цифрлі өңдеуі дискретті сигналдардың өзгеруіне қатысты және өзгерілетін сигналдар система деректеріне.Дискреттілердің өзгеруінің математикасы 18 ғасырдың аналогты математикасында қатарлар теориясының шеңберінде туды және олардың функциясының интерполяция және аппроксимациянда қолданылады,бірақ дамудың тездетуі н 20 ғасырда алды ең алғышқы есептегіш машиналар пайда болғанда.Негізі , дискретті өзгертудің математикалық аппараты аналогты сигналдардың және ситсемалардың түрленуніне ұқсас.Бірақ берілгендердің дискреттілігі факторлардың санауын қажет етеді, және елемеушілік маңызды қателерге әкеледі.Сонымен қоса , әдістер қатары дискретті математикада аналогтарға ие емес аналатикалық математикада.
8.1. Фурье түрленуі [5,17,21].
Дискретті Фурье түрленуіаргументтің дискретизация интегралының түрленуімен тікелей алынуы мүмкін (tk = kDt, fn = nDf):
Еске түсірейк , уақыт бойынша дискретизация функциясы спектрдің периодтылығынна алып келеді,ал жиілік бойынша спектрдің дискретизацисы – функция периодтылығына алып келеді. Сонымен қоса ұмытпауымыз керек (8.1.1) сандық қатардың S(fn)-ы функцияның үзіліссіз дискретизация S'(f) функцияның дискретті спектрі s(tk), тура (8.1.2) санды қатардың мәніне тең s(tk) үзіліссіз функцияның дискретизациясы болып келеді s'(t),және қайта қалпына келген кезде үзіліссіз функция S'(f) және s'(t) дискретті есептеуге сәйкес S'(f) = S(f) және s'(t) = s(t) Котельников-Шеннон теоремасының жүзеге асуында ғана кепіл болады.
Дискретті түленулер үшін s(kDt) Û S(nDf),және функция, және оның спектрі дискретті және периодты, ал сандық массивтер негізгі периодтардың берілуіне сәйкес Т = NDt ( 0-ден до Т-ға дейін немесе Т/2-ден Т/2-ге дейін), және 2fN = NDf (fN-ден fN –ге дейін), мұнда N – есептеу саны, бұдан:
(8.1.3) байланысы динамикалық және жиілікті формадағы дискретті сигналдар ақпаратты шартпен тең бағалылы болып келеді.Басқалай айтқанда: функция есептеудің саны және оның спектрлері ұқсас.Бірақ әрбір комплексті спектрді есептеу екі заттай санды көрсетеді, және соған сәйкес копмлексті спектрді есептеу саны функция есептеуінен 2 есеге үлкен? Ол солай.Бірақ спектр көрінісі комплексті формада – спектральді функцияның математикалық көрінісі,нақты есептеулер екі комплексті есептеудің түйіндестерінің қосылуынан құрылады , ал функция спектрі туралы толық ақпарат комплексті формамен тек бір жағынан тұжырымдалады – шын есептеулер және жалған бөліктің комплексті сандарыныі жиілікті интервалда 0ден fN –ге дейін,себебі ақпараттың екінші бөлігі 0ден -fN-ге дейін диапазонда бірінші бөлікпен түйіндес және қосымша ақпаратты жеткізбейді.
Дискретті көрініс кезіндн сигнал аргументі tk әдетте k сандарымен қойылады (берілгені бойынша Dt = 1, k = 0,1,…N-1), ал Фурье түрленуі n аргумент бойынша жүзеге асады (жиілікбойынша қадам саны)негізгі периодтарда. N мәні кезінде, 2 еселік:
S(fn) º Sn = sk exp(-j2pkn/N), n = -N/2,…,0,…,N/2. (8.1.4)
s(tk) º sk = (1/N) Sn exp(j2pkn/N), k = 0,1,…,N-1. (8.1.5)
Спектрдің негізгі периоды (8.1.4)-те циклдық жиілікте -0,5- ден 0,5 –ке дейін, бұрыштық жиілік -p - ден p ге дейін.Жұп мәнде N шегі негізгі периодты жиілік бойынша ( ±fN мәні)жиілік бойынша есептеуде жарты қадамда орналасқан ±(N/2) және,осыған сай,жоғарғы шектің соммалануы (8.1.5) –те N/2-ге тең болып орналасады.
Еспетеу операцияларында ЭЕМ –да теріс жиілікті аргументтерден басқа (n санынң теріс мәні) және бірдей алгоритмдердің тура және кері Фурье түрленулердің қолданулары 0 -ден 2fN-ға дейінгі интервалда қабылданады, ал соммалану (8.1.5) –те 0 де N-1-ге дейін сәйкес жүзеге асады.Осыдан ескеру керек ,комплексті түйіндес есптеуде Sn* интервалы(-N,0) екіжақты спектрдің интервалында 0-2fN SN+1-n есептеуіне сәйкес (яғни түйіндес есптеулер 0-2fN инетрвалында Sn және SN+1-n есептеуі болады ).
Рис. 8.1.1. Дискретный сигнал и модуль его спектра.
Мысалы:На интервале Т= [0,99], N=100 инетрвалында, дискретті сигнал берілген s(k) = d(k-i) – тітөртбұрышты импульс k дан 3 -8 ге дейінгі нүктелеріндегі брлік мәнімен. Сигнал формасы және оның спектрінің модулі негізгі жиілкті диапазонда (S(n) = s(k) exp(-j2pkn/100 формула бойынша есептеуде) жиілік бойынша қадамда Dw=2p/100, 8.1.1 суретте көрсетілген.
8.1.2 суретінде негізгі спектр дипазонындағы басқа форманың айналдырылған мәні көрсетілген. Формаға тәуелсіз спектр периодты, спектрдің мәнін үлкен интервал аргументі n-ды сол қадамда сақтаған жиілікте анықтаған кезде көз жеткіземіз, как это показано на рис. 8.1.3 суретінде көрсетілген спектрдің мәні айналдырылған.
Рис. 8.1.4. Обратное преобразование Фурье.
На рис. 8.1.4. суретте дискретті спектр үшін Фурьенің кері түрленуі көрсетілген s'(k) = (1/100) S(n)×exp(j2pkn/100) формуласы бойынша жүзеге асқан, s(k) функциясының периодтылығын көрсетеін,бірақ негізгі период k={0,99} осы функцияның бастапқы сигналы s(k)-мен толығымен сәйкес.
(8.1.4-8.1.5) түрленулерін Фурьенің дискретті түлнуі дейді (ДПФ). ДПФ үшін негізінде интегралды Фкрье түрленуінің барлық қасиеттері тиесілі,бірақ ескеретін бір жай дискретті функция периодттылғы және спектрі.Екі дискретті функция спектрінің пайда болуы (кез келген операциялардың жүзеге асуындағы сигналдың өңдеуі жиілікті көріністе ,мысалға сигналдардың фильтрациясы жиілікті формада) функцияның периодты сверткасы уақыт көрінісінде сәйкес келеді(немесе керісінше).Осындай свертка циклды деп аталады(8.4 бөлімінде) және оның нәтижесі аяққы бөліктерінде ақпаратты интервалдарды финитті дискретті функциялардың сверткаларынан ажырата алады.
ДПФ өрнегінен әрбір гармоника есептеуінде N операция комплексті көбейтіндісін және соған сай N2 операциясының ДПФ толық жүзеге асуын көреміз.Массивтер деректерінің үлкен аумақтары уақыттың заттай шығынына алып келеді.Есептеуді үдету Фурьенің тез түрленуін қолданғанда жүзеге асады.
Фурьенің тез түрленуі (БПФ, fast Fourier transform - FFT).Ол көбейткіштерді(синустар және косинустар) есептегенде базаланады периодты қайталанаты мәндер көп (функцияның периодтылық күшіне байланысты).БПФ алгоритмы қосындыны бірдей көбейтіштермен пирамидалы алгоритммен топтастрады,көбейтіндінің санын қысқартады, қайта есептеуден басқаларын.БПФ-тың тез жүзеге асуы нәтижесінде N стандартты алгоритмнен жүз есе тез жүзеге асады.Осыдан БПФ алгоритмі стандарттыдан да нақтырақ , себебі операция санын қысқарта отырып , домалақтаудағы қателерді қысқартады.
Мысалға,массив саны sk N = 2r есептеулеріне ие делік(r - бүтін).Бастапқы массивті екі аралық массивке жұп және тақ есептеулерге бөлеміз:
sk' = s2k, sk" = s2k+1, 0 £ k £ N/2-1.
Әрбір массивтің ДПФ-ын жүзеге асырайық, функция қадамы 2 –ге тең екекнін ескереміз ( Dt=1 болса), ал периодтағы аралық спектр N/2 –ге сәйкес тең болады:
sk' Þ Sn', sk" Þ Sn", 0 £ n £ N/2-1.
Ізделініп жатқан спектрдің Sn бір жартысын алу үшін алынған спектрлерді кешігу теорамасы бойынша спектрларды қосамыз, себебі функция есептеуі sk" sk'-ға қатысты дискретизацияның бір қадамына жылжытылды:
Sn = Sn'+Sn"×exp(-j2pn/N). (8.1.6)
Спектрдің екінші жартысы,біріншімен комплексті түйіндескен, с учетом периода повторения N/2 периодының қайталануына сәйкес аралық спектр келесі өрнекпен анықталады:
Осы жағдайда көріп отырғанымыздай толық спектрді анықтау үшін N2/4 операциялары қажет аралық спектрлерді анықтау үшін қоса N комплексті көбейтіндісі және қосындысының операциялары қажет, елеулі эффект тудыратын ДПФ –пен салыстырғанда.
Бірақ массивтерді екі бөлікке бөлуде бірінші аралық массивтерге де қолдануға болады, екінші ге де, массивтерде бір ғана есептеу қалғанша жалғаса береді,фурье түрленуі есептеудің өзіне тең.Осыдан түрлену алгоритмі пирамидалы ауыспалы алгоритмге айналады қосылу /айырылумен және бірлік көбейтінді мәнімен exp(-j2pn/N) пирамида деңгейімен сәйкес.БПФ-тың бірінші алгоритмі берілген принципте (көп модификациядан,қазіргі уақытта өмір сүретін) Кули-Тьюки-мен 1965 жылы құрастырылған және N/r-ды ДПФ-пен салыстырғанда жылдамдығы жоғарылатты. N көп боған сайын БПФ эффекті де көп.Осыдан N = 1024 болса r = 10-ды аламыз және осыған сәйкес соответственно N/r »100. N = 2r нүкте санының шартына келсек,ол Nk £ 2r нұсқасы ретінде қарастырылады мұнда r – минималды бүтін. Nk < 2r массивтері 2r –ге нөлмен толықтырылады,спектр формасы өзгертілмейді. Dw қадамы ғана өзгертіледі спектр көрінісіне қатысты (Dw = 2p/2r < 2p/N), сигналдың бірдей көрінісіне қатысты кем болады жиілікті аумақта.Қазіргі уақытта да бар және БПФ алгоритмі басқа негіздемемен және олардың комбинацияларымен, сигналдың нөлдерімен 2r-ға дейін қосымшаны талап етпейді.
(8.1.7)ге сәйкес есептеулер ,оң жағымен түйіндес негізгі жиілікті диапазон (0, p),(-p,0) диапазонына сәйкес емес, ал (p,2p) диапазонына сәйкес,дискретті деректреде спектрдің периодтылығы,мәнге ие емес,яғни шығыс жиілікті диапазон БПФ-ы (0, 2p)-ге тең. Комплексті спектрдің есептеулерінің жалпы саны негізгі диапазонға шартты бастапқы сигналдың нүкте санына тең (нөлдік нүктелерге сай N=2r-ге қосымша сигналдарға ) Тез кері түрлену алгоритмі (ОБПФ) тура БПФ-тың алгоритміне тең.
БПФ-тың тура және керә алгоритмі қазіргі заманғы бағдарламалық қамтамасыз етуде анализдеу және цифрлы деректерді өңдеуде кеңінен қолданылады. БПФ жүзеге асыру мысалы 8.1.5 суретінде көрсетілген.
Рис. 8.1.5. Пример БПФ.
ДПФ-ты қолдану. ДПФ-ты қолданудағы негізгі аумақ – физикалық деректердің спектральді анализі.Осыған сай қызығушылықты гармониканың бөлек амплитудасы көрсетеді,оның фазасы емес, және спектр жиіліктен (спектр модулі) амплитудаға қатысты графигі көрсетілген.Көбінде амплитуда шкаласы децибилмен жіктеледі. Децибилдер- амплитудалық мәнге сәйкес логарифмдер. Мысалға , 20 дБ айырмашылығы амплитуданың 10 есе айырмашылығын білдіреді, 40 дБ айырмашылық -100 есеге.Амплитуданы 2 есе айырмашылығы 6 дБ-ге жуық айырмашылыққа ие.Жиілік шкаласы логарифмдік масштабпен жіктеледі.
Спектрді сигналдан есептеу басында, сигнал бөлігі қиылынып алады.Алдын-ала есептеу бөлігінің саны БПФ қолданысында екілік деңгей болуы керек,егер есептеу системасындағы бағдарламалық қамтамасыз етуінде БПФ-тың еркін сандық қатары қабілеттілігі туралы айтылмаған.Кері жағдайда сандық қатар нолдермен толықтырылады керек өлшемге дейін,спектр формасын өзгертпейді және спектр бойынша жиілкті рұқсат беру үлкеюіне қатысады.
Спектрді есептегенде келесі орынсыз эффекті орын алады.Сигнал телімінің Фурье қатарына жіктелуі бір период Т орнын алады,фундаментальді жиілік 1/Т орынының периодты қайталануына байланысты. Осыған байланысты период шегінің функциясы үзіліске немесе кенеттен көтерілуге ие болады, осыдан спектрді бұрмалауы жүзеге асады.Осы эффектті жою үшін салмақты терезелер қолданылады,гауссианға ұқсас,аумағы телім аумағына тең. Анализденген телім салмақты терезелерге көбейтіледі және спектрлердің бұрмалану деңгейінен жойылады.Салмақты терезелер методикасы сигналдарды цифрлі өңдеу курсында қарастыралады.
8.2.лаплас түрленуі
Лапластың дискретті түрленуі (ДПЛ), ДПФ сияқты, аргументті интегралді дискретизация түрленуі арқылы алынады (tk = kDt, wn = nDw):
Y(p) функциясын Лаплас функциясының бейнесі, ал y(t) – түпнұсқа дейді. При s = 0 болса Лаплас түрленуі біржақты Фурье түрленуіне айналады, ал каузальды сигналдар үшін - ПФ толық аналогы. Лаплас түрленуі функцияның спектральді анализі үшін қолданылады, фурье бейнесі жоқ Фурье интегралынан айырмашылығы болғандықтан:
Сурет. 8.2.1.Лаплас пен Фурье түрленуінің салыстырымы.
Казуальді сигналдың оң жақ интегралы Фурье түрленуін көрсетеді, y'(t) сигналдың экспоненциалды көбейткіші арқылы exp(-st) таңдауы s>0 –ге өшкен және соңғы энергия бойынша айналады.Барлық қасиеттер және Фурье түрленуінің теоремалары сәйкес аналогқа ие және Лаплас түрленуі.
Лаплас пен Фурье түрленуінің салыстырымы 8.2.1 суретінде көрсетіледі
8.3. Z – түрленудің сигналы [2,13,21].
Түрлену анықтамасы. Анализдің дискретті цифрлы реттілігі болып z-түрленуі деп аталады (z-transform).
s(t) үзіліссіз ерікті функция,дискреттелінген және есептеулермен көрсетілген sk = s(kDt), дискретті функция сияқты тең,деңгейлі полином ретінде қоюға болады z бойынша,ретті коэффициент бойынша sk мәні тең:
sk = s(kDt) Û TZ[s(kDt)] = sk zk = S(z). (8.3.1)
где z = s+jw = r×exp(-jj) - произвольная комплексная переменная. Полином S(z) называют z-образом или z-изображением функции s(kDt). Преобразование имеет смысл для области тех значений z, в которой ряд S(z) сходится, т.е. сумма ряда представляет собой аналитическую функцию переменной z, не имеющую полюсов и особых точек.
Впервые z-преобразование введено в употребление П.Лапласом в 1779 и повторно "открыто" В.Гуревичем в 1947 году с изменением символики на z-1. В настоящее время в технической литературе имеют место оба вида символики. На практическое использование преобразования это не влияет, т.к. смена знака только зеркально изменяет нумерацию членов полинома (относительно z0), числовое пространство которых в общем случае от -¥ до +¥. В дальнейшем в качестве основной будем использовать символику положительных степеней z, давая пояснения по особенностям отрицательной символики, если таковая имеется.
По заданному или полученному в результате анализа какой-либо системы z-полиному однозначно восстанавливается соответствующая этому полиному функция путем идентификации коэффициентов степеней при zk с k-отсчетами функции.
Смысл величины z в z-полиноме заключается в том, что она является оператором единичной задержки по координатам функции. Умножение z-образа сигнала s(k) на величину zn означает задержку сигнала на n интервалов: znS(z) Û s(k-n).
Z-образы с положительными степенями z соответствуют каузальным (физически реализуемым) процессам и системам, которые работают в реальном масштабе времени с текущими и "прошлыми" значениями сигналов. При обработке информации на ЭВМ каузальность сигналов не относится к числу ограничений и возможно использование отрицательных степеней z, соответствующих отсчетам сигналов "вперед", например, при синтезе симметричных операторов фильтров, что позволяет производить обработку информации без внесения в сигнал фазовых искажений. При использовании символики z-1 "прошлым" значениям соответствуют значения с отрицательными степенями z, "будущим – с положительными.
Основное достоинство z-преобразований заключается в простоте математических операций со степенными полиномами, что имеет немаловажное значение при расчетах цифровых фильтров и спектральном анализе.
Примеры z-преобразования часто встречающихся на практике дискретных сигналов.
Импульсы Кронекера. В общем случае, в произвольной точке числовой оси:
d(k-n) =1 при k=n, d(k-n) = 0 при k ≠ n.
Xd(z) = d(k-n) zk = zn.
Для импульса Кронекера в нулевой точке соответственно Xd(z) = z0 =1.
Функция Хевисайда (единичный скачок).
x(k) = 0 при k < 0, x(k) = 1 при k ³ 0.
X(z) = zk = zk.
Ряд сходится при |z| < 1, при этом его сумма равна:
X(z) = 1/(1-z), |z| < 1.
При использовании символики z-1:
X(z) = 1/(1-z-1) = z/(z-1), |z| > 1.
Экспоненциальная функция:
x(k) = 0 при k < 0, x(k) = ak при k ³ 0.
X(z) = x(k) zk = ak zk = (az)k.
Как и в предыдущем случае, ряд сходится при |az| > 1, т.е. при |z| < |a|, при этом:
X(z) = 1/(1-az), |z| > |a|.
Связь с преобразованиями Фурье и Лапласа. Запишем дискретный сигнал sk в виде суммы весовых импульсов Кронекера:
sk = s(kDt) = s(nDt) d(kDt-nDt).
Определим спектр сигнала по теореме запаздывания:
S(w) = s(kDt) exp(-jwkDt).
Выполним замену переменных, z = exp(-jwDt), и получим:
S(w) = s(kDt)×zk= S(z).
Отсюда следует, что дискретное преобразование Фурье является частным случаем z-преобразования при z = exp(-jwDt). Аналогичной подстановкой z = exp(-p) может осуществляться переход к дискретному преобразованию Лапласа. В общем виде:
S(w) = S(z), z = exp(-jwDt); S(p) = S(z), z = exp(-pDt). (8.3.2)
Обратное преобразование:
S(z) = S(w), w = ln z/jDt; S(z) = S(p), p = ln z/Dt. (8.3.3)
При отрицательной символике z связь между представлениями осуществляется соответственно подстановками z-1 = exp(jwDt) и z-1 = exp(p).
Свойства z-преобразования. Без углубления в теорию, можно констатировать, что все свойства ДПФ действительны и для z-преобразования. Отметим некоторые из них.
Линейность: Если S(k) = a·x(k)+b·y(k), то S(z) = aX(z)+bY(z). Соответственно, z-преобразование допустимо только для анализа линейных систем и сигналов, удовлетворяющих принципу суперпозиции.
Соответственно, умножение z-образа сигнала на множитель zn вызывает сдвиг сигнала на n тактов дискретизации.
Для z-преобразования действительны все известные теоремы о спектрах. В частности, свертка двух сигналов отображается в z-области произведением их z-образов, и наоборот:
s(k) * h(k) Û S(z)H(z), s(k)·h(k) Û S(z) * H(z).
При z = exp(-jwDt) z-преобразование представляет собой особую форму представления дискретных сигналов, при которой на полином S(z) можно ссылаться как на временную функцию (по значениям коэффициентов kDt), так и на функцию частотного спектра сигнала (по значениям аргумента w).
Рис. 8.3.1. Z - плоскость
Отображение z-преобразования выполняют на комплексной z-плоскости с Re z и Im z по осям координат (рис. 8.3.1). Спектральной оси частот w на z-плоскости соответствует окружность радиуса:
|z| = |exp(-jwDt)| = = 1.
Подстановка значения какой-либо частоты w в z = exp(-jwDt) отображается точкой на окружности. Частоте w = 0 соответствует точка Re z = 1 и Im z = 0 на правой стороне оси абсцисс. При повышении частоты точка смещается по окружности против часовой стрелки, и занимает крайнее левое положение на частоте Найквиста wN = p/Dt (Re z = -1, Im z = 0). Отрицательные частоты спектра отображаются аналогично по часовой стрелке на нижней полуокружности. Точки wN совпадают, а при дальнейшем повышении или понижении частоты значения начинают повторяться в полном соответствии с периодичностью спектра дискретной функции. Проход по полной окружности соответствует одному периоду спектра, а любая гармоника спектра сигнала задается на плоскости двумя точками, симметричными относительно оси абсцисс.
Z-преобразование позволяет производить разложение сигналов и функций, например передаточных функций фильтров, на короткие составляющие операции свертки, для чего достаточно приравнять z-полином к нулю, найти его корни ai, и переписать полином в виде произведения двучленов:
S(z) = a0(z-a1)(z-a2)...,
где а0- последний отсчет сигнала (коэффициент при старшей степени z).
Но произведению в z-области соответствует свертка в координатной области, и при обратном преобразовании двучлены (z-ai) превращаются в двухточечные диполи {-ai,1}, а сигнал длиной N представляется сверткой (N-1) диполей:
Корни полинома представлены на z-плоскости на рис. 8.3.1. Корни полинома комплексные и четыре двучлена в координатной области также будут комплексными. Но они являются сопряженными, и для получения вещественных функций следует перемножить сопряженные двучлены и получить биквадратные блоки: S(z) = (z2-1.4z+1.13)(z2-1.6z+1.28).
При переходе в координатную область: sk = {1.13, -1.4, 1} * {1.28, -1.6, 1}.
Таким образом, исходный сигнал разложен на свертку двух трехчленных сигналов (функций).
Аналитическая форма z-образов существует для z-преобразований, если возможно свертывание степенного ряда в аналитическое выражение. Выше, в примерах z-преобразования, уже приводилось приведение к аналитической форме z-образов функции Хевисайда и экспоненциальной функции.
Обратное z-преобразование в общем случае производится интегрированием по произвольному замкнутому контуру C, расположенному в области сходимости и окружающему все особые точки (нули и полюсы) z-образа:
sk = (1/2pj)
Способом, удобным для практического применения, является разложение рациональных S(z) на простые дроби. С учетом линейности преобразования:
S(z) = an/(1-bnz) Û an(bn)k = sk.
Пример.S(z) = 1/(1-5z+6z2) = 3/(1-3z)-3/(1-2z) Û 3×3k -3×2k = s(k).
При разложении функции S(z) по степеням z обратное z-преобразование не вызывает затруднений.
8.4. Дискретная свертка (конволюция) [5,17,21].
Свертка – основной процесс в цифровой обработке сигналов. Поэтому важно уметь эффективно ее вычислять.
Уравнение дискретной свертки двух функций (сигналов) может быть получено непосредственно из интегрального уравнения свертки при замене интегрирования суммированием мгновенных значений функций с шагом Dt:
y(kDt) = Dt h(nDt) s(kDt-nDt). (8.4.1)
При выполнении дискретной свертки мы имеем дело с цифровыми массивами, при этом шаг дискретизации для массивов по физическому аргументу свертки должен быть равным и принимается за 1, а в качестве аргумента используется нумерация отсчетов в массивах:
y(k) = h(n) s(k-n) º hn sk-n º yk. (8.4.1')
y(k) = h(n) * s(k-n) º s(k) * h(n) º sk * hn.
Техника свертки приведена на рис. 8.4.1. Для вычисления свертки массив одной из функций (sk- входного сигнала) располагается по ходу возрастания номеров. Массив второй функции (hn - более короткой, оператор свертки), строится параллельно первому массиву в обратном порядке (по ходу уменьшения номеров, в режиме обратного времени). Для вычисления yk значение h0 располагается против sk, все значения sk-n перемножаются с расположенными против них значениями hn и суммируются. Результаты суммирования являются выходным значением функции yk, после чего оператор hn сдвигается на один номер k вперед (или функция sk сдвигается ему навстречу) и вычисление повторяется для номера k+1 и т.д.
Рис. 8.4.1. Техника дискретной свертки.
В начальный момент свертки при вычислении значений yk оператор hn, построенный в режиме обратного времени, "зависает" для значений k-n при n>k против отсутствующих отсчетов входной функции. "Зависание" исключают либо заданием начальных условий - дополнительных отсчетов, чаще всего нулевых или равных первому отсчету входной функции, либо началом свертки с отсчета входной функции k = n с соответствующим сокращением интервала выходной функции. Для операторов со значениями -n (вперед по времени) такой же момент может наступать и в конце входного массива.
Пример.Уравнение свертки: yk = bn xk-n = bo xk + b1 xk-1 + b2 xk-2. Значения оператора bn:
Заметим: свертка функции оператора с единичным входным сигналом представляет собой повторение функции оператора свертки на выходе.
На рис. 8.4.2 приведен пример выполнения дискретной свертки каузальным (односторонним) и четным (симметричным, двусторонним) оператором одного и того же сигнала.
Рис. 8.4.2. Примеры выполнения дискретной свертки.
Прямое вычисление свертки требует K·N умножений, где K – длина исходного сигнала, а N – длина ядра свертки. Как длина сигнала, так и длина ядра свертки может достигать нескольких тысяч точек, и число умножений становится огромным.
Для дискретной свертки действительны все свойства и теоремы интегральной свертки. В частности, свертка функций в координатной области отображается произведением их спектров в частотной области, а умножение в координатной области эквивалентно свертке в частотной области. Это значит, что для выполнения свертки двух сигналов можно перевести их в частотную область, перемножить их спектры, и перевести результат обратно во временную область, т.е. действовать по следующей схеме:
s(k) Û S(w), h(n) Û H(w), Y(w) = S(w)×H(w), Y(w) Û y(k).
С появлением алгоритмов БПФ, позволяющих быстро вычислять преобразования Фурье, вычисление свертки через частотную область стало широко использоваться. При значительных размерах сигналов и длины ядра свертки такой подход позволяет в сотни раз
сократить время вычисления свертки.
Выполнение произведения спектров может производиться только при одинаковой их длине, и оператор h(n) перед ДПФ необходимо дополнять нулями до размера функции s(k).
Второй фактор, который следует принимать во внимание, это цикличность свертки при ее выполнении в спектральной области, обусловленная периодизацией дискретных функций. Перемножаемые спектры являются спектрами периодических функций, и результат на концевых интервалах может не совпадать с дискретной линейной сверткой, где условия продления интервалов (начальные условия) задаются, а не повторяют главный период.
Рис. 8.4.3. Результаты двух видов свертки.
На рис. 8.4.3 приведены результаты свертки сигнала sk, заданного на интервале k=(0-50), с функцией hn = a×exp(-a×n), a = 0.1. Свертка, выполненная через ДПФ, в левой части интервала резко отличается от линейной свертки. Характер искажения становится понятным, если дополнить главный интервал с левой стороны его периодическим продолжением (на рисунке показана часть левого бокового периода, свертка с которым заходит в главный период). Для операторов hn со значениями n, вперед по положению, аналогичные искажения появятся и в правой части главного периода. Для устранения таких искажений сигнальная функция должна продлеваться нулями на размер оператора h(n), что исключит наложение боковых периодов главной трассы функции.
При выполнении свертки через БПФ ощутимое повышение скорости вычислений появляется только при большой длине функций и операторов (например, M>1000, N>100). Следует также обращать внимание на разрядность результатов, т.к. перемножение чисел дает увеличение разрядности в 2 раза. При ограниченной разрядности числового представления с соответствующим округлением это может приводить к погрешностям суммирования.
В системах оперативной обработки данных часто возникает потребность вычислить свертку сигнала, поступающего на вход системы последовательными порциями (например, от датчиков скважинных приборов). В таких случаях применяется секционная свертка. Суть ее состоит в том, что каждая из этих частей сворачивается с ядром отдельно, а полученные части объединяются. Для объединения достаточно размещать их друг за другом с перекрытием в N-1 точку (N – длина ядра свертки), и производить суммирование в местах перекрытия.
Литература
2. Бендат Дж., Пирсол А. Прикладной анализ случайных данных. – М.: Мир, 1989. – 540 с.
5. Гольденберг Л.М. и др. Цифровая обработка сигналов: Учебное пособие для вузов. - М.: Радио и связь, 1990.- 256 с.
13. Канасевич Э.Р. Анализ временных последовательностей в геофизике. - М.: Недра, 1985.- 300 с.
17. Никитин А.А. Теоретические основы обработки геофизической информации: Учебник для вузов. - М.: Недра, 1986.- 342 с.
18. Оппенгейм А.В., Шафер Р.В. Цифровая обработка сигналов. – М.: Связь, 1979. – 416 с.
21. Рапопорт М.Б. Вычислительная техника в полевой геофизике: Учебник для вузов. - М.: Недра, 1993.- 350 с.
Главный сайт автора ~ Лекции по сигналам ~ Практикум
О замеченных опечатках, ошибках и предложениях по дополнению: davpro@yandex.ru.