Программа 17

Программа 17.1

100 'ПРОГРАММА РАСЧЁТА СПЕЦИАЛЬНОГО ФИЛЬТРА
110 'Данная программа позволяет преобразовать 1024 отсчёта исходной
120 'импульсной характеристики (ИХ) (Рис. 17.1а) в (M + 1) отсчёт
130 'результирующей ИХ (Рис. 17.1в), т.е. получить весовые коэффициенты.
140 '
150 DIM REX[1023] 'REX[ ] – массив отсчётов исходной ИХ
160 DIM T[1023] 'T[ ] – буфер временного хранения данных
170 '
180 PI = 3.14159265
190 M% = 40 'Параметр, определяющий порядок фильтра (41 порядок)
200 '
210 GOSUB XXXX 'Некоторая подпрограмма загрузки отсчётов ИХ в REX[ ]
220 '
230 FOR I% = 0 TO 1023 'Сдвиг (циклический) ИХ на M/2 отсчётов вправо
240 INDEX% = I% + M%/2
250 IF INDEX% > 1023 THEN INDEX% = INDEX%-1024
260 T[INDEX%] = REX[I%]
270 NEXT I%
280 '
290 FOR I% = 0 TO 1023
300 REX[I%] = T[I%]
310 NEXT I%
320 ' 'Усечение ИХ и формирование оконной функцией
330 FOR I% = 0 TO 1023
340 IF I% <= M% THEN REX[I%] = REX[I%] * (0.54 - 0.46 * COS(2*PI*I%/M%))
350 IF I% > M% THEN REX[I%] = 0
360 NEXT I%
370 ' 'Результирующая ИХ размещается в REX[0]…REX[40]
380 END