git-svn-id: http://moon:8086/svn/matlab/trunk@153 801c6759-fa7c-4059-a304-17956f83a07c
26 lines
528 B
Matlab
Executable File
26 lines
528 B
Matlab
Executable File
% [h] =fir_rc(Fa,Tsym,Alpha,N)
|
|
function [b,k,delay] =fir_rc(fa,Tsym,Alpha,N)
|
|
|
|
if rem(N,2),
|
|
delay = (N-1)/2;
|
|
else
|
|
delay = N/2;
|
|
end
|
|
|
|
n = ((0:N-1)-delay)/fa;
|
|
|
|
ind1 = find(abs(abs(4.*Alpha.*n./Tsym) - 1.0) > sqrt(eps));
|
|
if ~isempty(ind1),
|
|
nind = n(ind1);
|
|
b(ind1) = sinc(2.*nind./Tsym)./fa ...
|
|
.* cos(2.*pi.*Alpha.*nind./Tsym) ...
|
|
./ (1.0 - (4.*Alpha.*nind./Tsym).^2);
|
|
end
|
|
|
|
ind = 1:length(n);
|
|
ind(ind1) = [];
|
|
b(ind) = Alpha ./ (2.*fa) .* sin(pi ./ (2.*Alpha));
|
|
|
|
b = 2.*b./Tsym;
|
|
k=0.5*fa*Tsym;
|