请帮忙看一下自己写的调频傅立叶变换的MATLAB程序

helloyjz 2016-05-27 12:50:03
先贴一下调频傅立叶变换的定义,信号s(t)为连续形式时,定义为 :
若s(t)的表达式满足 ,
则变成如下形式 ,
信号s(t)为离散形式时,则可表示成 ,
我按照离散形式编的MATLAB程序如下:

clear;
N=1024; %采样点数
fs=1; %采样频率(此时经调频傅立叶变换后的成像可观察到峰值,当采样频率扩大时,例如变为100时,最终得到的图像没有明显的峰值)
c=3e8;
f0=11.1e6; %LFM信号中心频率
w0=5.2e5; %LFM信号调频率
for n=1:N
s(n)=5*exp(complex(0,4*pi/c*(f0*(n/fs)+w0*(n/fs)^2))); %LFM信号表达式
end

f=f0-512*f0/1024:f0/502:f0+512*f0/1024; %中心频率搜索范围
p=w0-512*w0/1024:w0/502:w0+512*w0/1024; %调频率搜索范围


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%调频傅立叶变换%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mf_fft=zeros(length(f),length(p));
for i=1:length(f)
temp=zeros(length(p),1);
for k=1:N;
temp=temp+s(k)*exp(complex(0,-4*pi/c*(f(i)*(k/fs)+p'*(k/fs).^2)));
end
mf_fft(:,i)=temp;
end

%smf_fft=MF_fft(s,f1,w1);
figure,
mesh(abs(mf_fft));


下面的仿真结果图分别为fs=1和fs=100时的变换结果,其中前者可以得到变换后的峰值点,但是后者却得不到,该怎么修改才能使得后者的图像中也包含峰值点呢?

...全文
218 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
aysplzp 2017-11-26
  • 打赏
  • 举报
回复
为什么不用chirp呢?

3,422

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧