📄 dfrft.m
字号:
function Xp=dfrft(x, p, M, Ts)
% the realization of the FRFT's fast algorithm by Soo-Chang Pei
% x : the input sequence and its length is 2*N+1
% p : the frft's order
% M : 2*M+1 is the length of the output Xp and M>=N
% Ts : the sampling time interval
p = mod(p,4);
if p == 0
Xp = x;
end
L = length(x);
if p == 2
k = L : -1 : 1
Xp = x(k);
end
alpha = p*pi/2;
Ap = sqrt((-sin(alpha )+j*cos(alpha))/(2*M+1));
Us = 2*pi*abs(sin(alpha))/(Ts*(2*M+1));
N = (L-1)/2;
t = Ts*(-N:N);
u = Us*(-M:M);
chirp_t = exp(j/2*cot(alpha)*t.^2);
chirp_u = exp(j/2*cot(alpha)*u.^2);
if sin(alpha)>0
Xp = Ap*chirp_u.*fftshift(fft(x.*chirp_t));
else
Xp = Ap*chirp_u.*fftshift(ifft(x.*chirp_t))*L;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -