24小时热门版块排行榜    

CyRhmU.jpeg
查看: 736  |  回复: 4

yjz001

新虫 (初入文坛)

[求助] 对不同取值范围的信号序列做分数阶傅立叶变换(frft)是否要相应的改变frft程序???已有1人参与

以下是frft的matlab程序代码,当线性调频(LFM)信号表达式是for n=-255:255; x(n+256)=exp(j*fi+j*2*pi*f0*n/fs+j*pi*k*((n/fs)*(n/fs)));  end 时信号序列的取值范围是-255到255,可用下面的程序进行frft估计调频率和频率,而若将n的取值范围改成0到510时,需不需要改动下面的程序?若需要改动,该怎么修改?(我之前觉得只需要改shft的表达式,即改成shft=(0:N)+1,但结果貌似不正确),请懂的朋友帮忙解惑一下~~
CODE:
function Faf = frft(f, a)
% The fast Fractional Fourier Transform快速分数傅里叶变换
% input: f = samples of the signal
%        a = fractional power分数幂
% output: Faf = fast Fractional Fourier transform
error(nargchk(2, 2, nargin));
f = f(:);
N = length(f);
shft =  rem((0:N-1)+fix(N/2),N)+1;
sN = sqrt(N);
a = mod(a,4);
% do special cases
if (a==0), Faf = f; return; end;
if (a==2), Faf = flipud(f); return; end;
if (a==1), Faf(shft,1) = fft(f(shft))/sN; return; end
if (a==3), Faf(shft,1) = ifft(f(shft))*sN; return; end
% reduce to interval 0.5 < a < 1.5
if (a>2.0), a = a-2; f = flipud(f); end
if (a>1.5), a = a-1; f(shft,1) = fft(f(shft))/sN; end
if (a<0.5), a = a+1; f(shft,1) = ifft(f(shft))*sN; end
% the general case for 0.5 < a < 1.5
alpha = a*pi/2;
tana2 = tan(alpha/2);
sina = sin(alpha);
f = [zeros(N-1,1) ; interp(f) ; zeros(N-1,1)];
% chirp premultiplication
chrp = exp(-i*pi/N*tana2/4*(-2*N+2:2*N-2)'.^2);
f = chrp.*f;
% chirp convolution
c = pi/N/sina/4;
Faf = fconv(exp(i*c*(-(4*N-4):4*N-4)'.^2),f);
Faf = Faf(4*N-3:8*N-7)*sqrt(c/pi);
% chirp post multiplication
Faf = chrp.*Faf;
% normalizing constant
Faf = exp(-i*(1-a)*pi/4)*Faf(N:2:end-N+1);

function xint=interp(x)
% sinc interpolation
N = length(x);
y = zeros(2*N-1,1);
y(1:2:2*N-1) = x;
xint = fconv(y(1:2*N-1), sinc([-(2*N-3):(2*N-3)]'/2));
xint = xint(2*N-2:end-2*N+3);

function z = fconv(x,y)
% convolution by fft
N = length([x(:);y(:)])-1;
P = 2^nextpow2(N);
z = ifft( fft(x,P) .* fft(y,P));
z = z(1:N);

回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yjz001

新虫 (初入文坛)

没有人懂分数阶傅立叶变化的吗??有的话也好,可以讨论讨论也好啊
2楼2016-01-10 22:30:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木下雨

新虫 (初入文坛)

【答案】应助回帖

求讨论,这个算法在最佳聚焦峰值上的值不等于公式里算出来的值,有没有谁知道为什么?
3楼2016-03-11 19:35:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

忠乎

新虫 (初入文坛)

楼主有二维的嘛,我想用来处理图像啊,求助

发自小木虫Android客户端
4楼2017-04-12 14:28:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

半夏星辰

新虫 (初入文坛)

5楼2017-11-21 00:27:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yjz001 的主题更新
信息提示
请填处理意见