Files
matlab/common/radio/decim_eval.m
T
jens 579c1544b1 - added
git-svn-id: http://moon:8086/svn/matlab/trunk@157 801c6759-fa7c-4059-a304-17956f83a07c
2022-06-16 06:16:47 +00:00

31 lines
601 B
Matlab
Executable File

function y2 = decim_eval(N, M)
x = [1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0];
x = randn(1, 1000);
x = 1:20;
w = FIRCalcLowpass(0.5, N);
w = 1:N;
y = filter(w, 1, x)';
y_dec = y(1:M:lge(y))
y_dec2 = decim(w, M, N, x)'
y2 = y_dec2 - y_dec;
function [y] = decim(w, M, N, x)
Nout = lge(x(1:M:lge(x)));
for k=0:M-1
nz = fix(k/M) + (k > 0);
d = (M-k) * (k > 0);
xp = [zeros(1, nz) x(d+1:M:lge(x))]
% xp = [zeros(1, k) x];
% xp = xp(1:M:lge(x))
wp = w(k+1:M:N);
yp = filter(wp, 1, xp);
summer(k+1, :) = yp(1:Nout);
end;
y = sum(summer, 1);
return;