Получилось. Может кому пригодится...
%% инициализация
clc;
clear all;
% центральная частота Гц
f = 90000;
% частота дискретизации Гц
fs = 360000;
% коэффициент децимации
td = 1;
% амплитуда сигнала
A = 1;
% период одного дискрета
ts = 1/fs;
% количество проходов участка моделирования
tm = 200;
% круговая частота
w=2*pi*f;
% начальное время (начальная фаза)
tmin = 0;
% конечное время
tmax = tm*ts;
% один минимальный шаг смещения
offset = 2*pi/32;
% множитель миним. шага смещения
step = -5;
% вариант коэффициентов КИХ фильтра
vf = 3;
% матрица коэффициентов 51 коэффициент (окно Чебышева 85-95 кГц)
kf1 = [0 116 0 -214 0 354 0 -540 0 772 0 -1042 0 1339 0 -1645 0 1939 ...
0 -2199 0 2403 0 -2533 0 2577 0 -2533 0 2403 0 -2199 0 1939 ...
0 -1645 0 1339 0 -1042 0 772 0 -540 0 354 0 -214 0 116 0];
% матрица коэффициентов 51 коэффициент (окно Хеминга 85-95 кГц)
kf2 = [0,95,0,-151,0,260,0,-431,0,666,0,-958,0,1292,0,-1644,0,1988, ...
0,-2295,0,2537,0,-2692,0,2746,0,-2692,0,2537,0,-2295,0,1988, ...
0,-1644,0,1292,0,-958,0,666,0,-431,0,260,0,-151,0,95,0];
% матрица коэффициентов 51 коэффициент (Equiripple 75-85-95-105 кГц)
kf3 = [0,-834,0,283,0,-202,0,8,0,307,0,-738,0,1260,0,-1836,0,2417, ...
0,-2947,0,3372,0,-3647,0,3742,0,-3647,0,3372,0,-2947,0, ...
2417,0,-1836,0,1260,0,-738,0,307,0,8,0,-202,0,283,0,-834,0];
if vf == 1
kf = kf1;
elseif vf == 2
kf = kf2;
elseif vf == 3
kf = kf3;
end
% количество коэффициентов
lkf =length(kf);
% матрица времени
t = linspace(tmin, tmin+tmax, fs*tmax+1);
% матрица сигналов (32 сигнала со смещ. step*offset*toff-offset)
xs = zeros(32,201);
for toff = 1:32
xs(toff,

= round(A*sin(w*t + step*offset*toff-offset));
xs(toff,1:80) = 0;
xs(toff, 140:201) = 0;
end
%% моделирование
zs = zeros(32,lkf);
zr = zeros(32,200);
zrf = zeros(32,200);
Xf = zeros(32,200);
for tm_mod = 1:td:tm
for tf = 1:32
% поэлементное умножение
if tm_mod < 150
zs = xs(tf,tm_mod/td:(tm_mod/td+50)).*kf;
end
% матрица выходных данных КИХ 90 кГц 32 канала
zr(tf, tm_mod/td) = round(sum(zs))*0.0001;
end
if tm_mod > td
zrf(:,tm_mod-1) = 1i*zr(:,tm_mod-1) + zr(:,tm_mod);
% fft complex 32 точки от двух соседних столбцов
Xf(:,tm_mod-1) = fft(zrf(:,tm_mod-1), 32);
end
end
% fft 32 точки от двух соседних столбцов
z = sqrt((real(Xf)).^2+(imag(Xf)).^2);
% координаты x y
x = zeros(32,200);
y = zeros(32,200);
for tm_mod = 1:1:32
x(tm_mod,

= tm_mod;
end
for tm_mod = 1:1:tm
y(:,tm_mod) = tm_mod;
end
%% графика
% выборки по сигналу xs
figure(1)
plot(xs(1,

, 'r');
hold on
stem(xs(1,

);
title('Дискретный сигнал'),
% графика элементов массива zr
figure(2)
plot(zr(1,

, 'r'), grid;
hold on
stem(zr(1,

);
title('Дискретный сигнал после КИХ фильтра'),
if step >= 0
nl = abs(step)+1;
else
nl = 32-abs(step)+1;
end
figure(3)
plot(z(nl,

, 'r'), grid;
hold on
stem(z(nl,

);
title('Пространственный БПФ луч nl'),
figure(4)
plot3(x, y, z), grid;
title('БПФ 32 точки'),
xlabel('Номер выхода БПФ'), ylabel('Дискретное время(выборки)'), zlabel('Амплитуда')