Главная  Микропроцессорные системы 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [ 64 ] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

5.3.1. алгоритмический этап

Учитывая специфику цифровой обработки, решение 5 уравнения (5.5) следует искать в множестве дискретных значений 5;=:/Д, где Д -интервал дискретизации измеряемого параметра 5, определяющий точность измерений, причем t„=:mK. Так как в этом случае равенство (5.5)

может выполняться не точно, то за искомое решение принимается значение =7д, минимизирующее отклонение ОТ нуля статистики

d/=S«;a,, (5.6)

где для сокращения записи введены обозначения ы,= =u{ti) и

«О- =4rs{t - з) t=l,-.i,, = [О «I; / = [О- «]• (5-7)

При известной форме сигнала весовые коэффициенты а,-/ могут быть рассчитаны заранее по формуле (5.7) и храниться в памяти вычислительного устройства. Для иллюстрации на рис. 5.10,г-е показаны совокупности коэффициентов Aj={aif; i=[0, п]} для трех значений: /=ш/2, О и ш.

Таким образом, рассматриваемый алгоритм сводится к поэлементному умножению принятого массива выборочных данных [/={«,; /=[0, л]} на массив известных весовых коэффициентов Л;-{а,/; i=[0, л]}, вычислению статистики (5.6) для различных значений / и определению такого /, при котором dj имеет наименьшее абсолютное значение. При этом в зависимости от требуемой точности измерений возможны три характерных случая.

1) Случай Д>Д< не представляет практического интереса, так как отражает неоправданное уменьшение интервала дискретизации Л/ полезного сигнала по сравнению

с допустимой инструментальной погрешностью Д.

2) Случай Д = Д;(т.е.от = /г) получил наибольшее распространение на практике, так как он приводит к наиболее простой аппаратной реализации рассматриваемого алгоритма, особенно при малом числе уровней кван-13* 195



тования входного сигнала. Здесь заметим, что при программной реализации указанное преимущество утрачивается и более интересным для практического применения становится следующий случай.

3) Случай использует интерполяцию полезного

сигнала в промежутках между выборочными значениями u(ti). Рассмотрим это более подробно.

Предложим для наглядности, что \ = Atlr (т.е. от = «г,

где г - некоторое целое число). В этом случае нецелесообразно искать значение / путем последовательного вычисления d,- по формуле (5.6) для всех / на интервале

[О, пг], поскольку для та-Sr=J*M j. кой процедуры требуется

Х 1 {nr-\-V) повторяющихся цик-

h I dft, лов вычисления, каждый из

" которых содержит (л+1) опе-

рацию умножения. Рис. 5.11. Принцип интер- Более экономной в вычис-

поляцин оценки лительном отношении явля-

ется двухэтапная (или в общем случае многоэтапная) процедура, основанная на последовательном уточнении оценки. На первом этапе определяется грубое значение §г=йД< с дискретностью Д<, а на втором - точная поправка \ч- /Д, вычисляемая путем минимизации cfj на интервале йг</<(й--1)г, т. е. в пределах одного грубого дискрета Ы- Результирующая оценка % -\А определяется как

Т==?,+$.-(Гг+/) д,.

Эта процедура выполняется за («-Ьг-Ь2) цикла вычисления di, т. е. заметно сокращает время расчета. Однако требуемый объем памяти здесь, так же как и в предыдущем случае, определяется размерностью массива {а,/} (т. е. количеством дискретов Д на интервале селекции

Тст) и равен Мп=пг-\-\.

В связи с этим на практике находит применение другая процедура уточнения оценки, которая основана на линейной интерполяции результатов грубого этапа. Сущность этой процедуры поясняется рис. 5.И, на котором



показана последовательность значений dj в окрестности /, где dj меняет знак. На первом этапе, так же как и в предыдущем случае, определяется грубое значение gг=*Д При этом запоминаются два значения дискретной функции dj, соответствующие /* и (/*+!), которые обозначены d*j и d*j+i. Уточняется оценка с помощью соотнощения

которое учитывает, что а*;0 и fif*/+iO. Таким образом, в данном случае этап уточнения сводится к нескольким арифметическим операциям и не требует существенного увеличения объема ПЗУ.

Далее ограничимся конкретизацией алгоритма обработки сигнала в случае Д = Д (т.е.т=/г). Этап уточнения оценки (для случая Д < Д) здесь рассматриваться

не будет, так как выбор рационального алгоритма для этого этапа является самостоятельной задачей исследования.

Схема программного алгоритма грубой оценки /*, реализующего процедуру вычислений статистики (5.6), представлена на рис. 5.12. В этом алгоритме учтено, что выражение (5.6) с учетом (5.7) может быть записано в следующей эквивалентной форме:

п n-j

fif.= 2 ЩЬ1.. = 2 Ч+jbk для всех / = [0,/г], (5.9) г=о *=-/

<«/2.«/2 при </г/2, ,0 при \k\>nl2.

Такая запись подчеркивает, что массив весовых коэффициентов Л„/2={аг,п/2; 1=[0, л]} (рис. 5.10,г) позволяет определить коэффициенты bk=bi-j для любых значений i= [О, п] (например, рис. 5.10,5, е иллюстрирует случай /=0 и ]=т=п).

Рассматриваемая программа начинается с ввода массива входных данных {щ; i= [О, л]} в ОЗУ. Для запоминания этого массива требуется (n-j-I) ячейка памяти. Значения весовых коэффициентов k=[-n/2, п/2]} хранятся в ПЗУ. Требуемый для этого объем памяти также равен (л+1). Индексация элементов массивов {Ui} и {bk} осуществляется с помощью операн-



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [ 64 ] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

0.0014