作业帮 > 综合 > 作业

FFT 和matlab 采样点数和傅里叶变换所需点数关系?下面程序中的两个为什么

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/29 12:27:40
FFT 和matlab 采样点数和傅里叶变换所需点数关系?下面程序中的两个为什么
clear;
close all;
T=10e-6;
B=30e6;
Rmin=8500;Rmax=11500;
R=[9000,10000,10200];
RCS=[1 1 1 ];
C=3e8;
K=B/T;
Rwid=Rmax-Rmin;
Twid=2*Rwid/C;
Fs=5*B;Ts=1/Fs;
Nwid=ceil(Twid/Ts);
t=linspace(2*Rmin/C,2*Rmax/C,Nwid);
M=length(R);
td=ones(M,1)*t-2*R'/C*ones(1,Nwid);
SNR=[1,0.1,0.01,0.001,10,100,1000];
for i=1:1:7
Srt1=RCS*(exp(1i*pi*K*td.^2).*(abs(td)
采样点数N0与计算FFT所需点数N关系?
N是为大于N0的2的幂次方数吗?
另外,N/2-N0/2
FFT 和matlab 采样点数和傅里叶变换所需点数关系?下面程序中的两个为什么
采样点数越多,fft计算精度越高,但计算量增大,故要选择合适的采样点数.当采样点数等于2次幂数时,可用快速傅里叶变换法,极大提高运算速度,所以一般设定采样点数为2次幂数,实际采样数量不够时,自动以0填补.
因为fft变换结果是对称的,故画图时,去掉了一般数据(第二个算式).
不过我认为上述程序有问题.
再问: 程序应该没问题。 不过还是没理解了。。。

突然又想起来了Nfft=2^nextpow2(Nwid+Nwid-1);是不是应该该做Nfft=2^nextpow2(Nwid+Nchirp-1);
再答: Srw=fft(Srt,Nfft);
Srw1=fft(Srt1,Nfft);

运行到上面两句时可以暂停一下,看看 Srt中的样本数

K>> size(Srt)
ans =

1 3000

而fft长度设置:
K>> Nfft
Nfft =

8192

样本只有3000个,没必要做8192点的fft

而应该用4096比较合适....
K>> Nfft=2^nextpow2(3000)
Nfft =

4096

这一句不知为何?
Nfft=2^nextpow2(Nwid+Nwid-1);
再问: 非常感谢。因为它是目标回波信号,除了发射信号的时宽外,还有目标长度相应的时间段,在做频域变换时,需要对接收信号和匹配函数同时补零。然后取Nwidd段的数据。