Files
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

28 lines
711 B
Matlab
Executable File

function [b, kn] = calcfir_srrc(fa, Tsym, a, N)
if mod(N,2) ~= 0
delay = (N-1)/2;
else
delay = N/2;
end
k = sqrt(2/Tsym);
k0 = 0.5*Tsym*fa;
kn = 1/k0;
for n=0:N-1,
phi = (n-delay)/fa;
if phi == 0.0
b(n+1) = -k * (pi*(a-1.0) - 4*a) /(pi*fa);
else
if abs(abs(8*a*phi/Tsym) - 1.0) < sqrt(eps)
b(n+1) = k / (2*pi*fa) * (pi*(a+1.0) * sin(pi*(a+1.0)/(4*a)) - 4*a * sin(pi*(a-1.0)/(4*a)) + pi*(a-1.0) * cos(pi*(a-1.0)/(4*a)));
else
term = 8*a*phi/Tsym;
b(n+1) = -4*a/fa * ( cos((1.0+a)*2*pi*phi/Tsym) + sin((1.0-a)*2*pi*phi/Tsym) / (8*a*phi/Tsym)) / (pi * sqrt(1.0/(2/Tsym)) * (term*term - 1.0));
end
end
b(n+1) = b(n+1) * k * k0;
end;