声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2210|回复: 5

[综合讨论] 关于傅里叶反变换的的问题

[复制链接]
发表于 2016-4-25 22:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
在这还望各位大师赐教,谢谢各位了!

目前对已知函数进行傅里变换,可以得到其在频域的解析表达式。
现对频域的解析表达式进行采样,可以得到离散的频域序列(复数形式),分为正频率和负频率部分,
然后对其进行傅里叶反变换,得到时域的值,进行绘制,结果得到的时域值和源函数绘制的幅值相差很大,且差一个负号;

        按照严普强老师的《动态测试信号处理中时频域变换算法的讨论》中,傅里叶正变换中fft的离散结果和频域连续谱相差一个delt的系数,
对其频域离散值进行除以delt后,进行ifft处理,结果得到的时域图和函数表达式绘制的时域图幅值相差一个负系数????
小弟百思不得解,望各位告知原因!

图形如下:





代码如下:
clear;
clc;
n=40000;
t=linspace(0,4000*10^-9,n);
A=4.664/0.564;%修正系数
E0=3*10^4;%场强峰值
tao=3*10^-9;
t0=3*10^-9;
Et=E0*A.*(t-t0)./tao.*exp(-4.*pi.*(t-t0).^2/tao^2);

figure(1);
plot(t*10^9,Et);
axis([0 10 -E0 E0]);
grid on;


f=-1e10:1e6:1e10;
w=2*pi*f;
j=sqrt(-1);
Ef=E0*A*tao^2*j*w./(16.*pi).*exp(-j.*w.*t0).*exp(-(w.*tao./(4.*sqrt(pi))).^2);
figure(2);
semilogx(f,abs(Ef));
axis([-10*10^9 10*10^9 0 0.5*10^-4]);


figure(3);
N=100000;
n1=0:N-1;
fs=1/(10^-9);
f=fs*n1/N;
E0_fft=fft(Et,N);
semilogx(f(1:N/2),abs(E0_fft(1:N/2))./fs/10);
grid on;


figure(4);
shijian_t=(1:100000)*4*10^-10;
E0_ifft=ifft(Ef*10^10,100000);
e0=ifftshift(E0_ifft);
plot(shijian_t-(2*10^-5),e0);
grid on;



函数绘制的时域图

函数绘制的时域图

频域解析表达式绘制的频域图

频域解析表达式绘制的频域图

对函数进行fft得到的频域图

对函数进行fft得到的频域图

对频域进行采样ifft得到的时域图

对频域进行采样ifft得到的时域图

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2016-4-25 23:30 | 显示全部楼层
你是怎么对信号的傅氏解析表达式采样的,采样后能否满足得到实序列条件,为何不直接用DFT,你的变换系数delt是多少,解析式是连续时间信号,但一到计算机一编程上就是离散的,要考虑差别,不知道说的对不对,希望大家指正
 楼主| 发表于 2016-4-26 10:30 | 显示全部楼层
dufeng_dufeng 发表于 2016-4-25 23:30
你是怎么对信号的傅氏解析表达式采样的,采样后能否满足得到实序列条件,为何不直接用DFT,你的变换系数del ...

对傅氏解析表达式采样,是依照1/(N*delt),N是fft时,频域采样点数,delt是对时域的采样间隔。

fft部分:N=100000;
n1=0:N-1;
fs=1/delt;
f=fs*n1/N;
E0_fft=fft(Et,N);
semilogx(f(1:N/2),abs(E0_fft(1:N/2))./fs);%在这不明白好多人对fft的结果*2/N,来还原真实幅值,为什么?????
%在这对其进行乘以delt以后得到的频域完全与傅氏解析式绘制出的一样
grid on;

ifft部分:
shijian_t=(1:100000)*0.5*10^-10;
%%%在这不懂时间部分该如何表示
E0_ifft=ifft(Ef*fs,100000);
e0=ifftshift(E0_ifft);
plot(shijian_t-(2*10^-5),e0);
grid on;




附上源代码:
clear;
clc;
delt=0.5*10^-10;
n=120;
t=(0:n-1)*delt;
A=4.664/0.564;%修正系数
E0=3*10^4;%场强峰值
tao=3*10^-9;
t0=3*10^-9;
Et=E0*A.*(t-t0)./tao.*exp(-4.*pi.*(t-t0).^2/tao^2);

figure(1);
plot(t,Et);
% axis([0 10 -E0 E0]);
grid on;


f=0:2*10^5:2*10^10;
w=2*pi*f;
j=sqrt(-1);
Ef=E0*A*tao^2*j*w./(16.*pi).*exp(-j.*w.*t0).*exp(-(w.*tao./(4.*sqrt(pi))).^2);
figure(2);
semilogx(f,abs(Ef));
axis([-10*10^9 10*10^9 0 0.5*10^-4]);


figure(3);
N=100000;
n1=0:N-1;
fs=1/delt;
f=fs*n1/N;
E0_fft=fft(Et,N);
semilogx(f(1:N/2),abs(E0_fft(1:N/2))./fs);
grid on;


figure(4);
shijian_t=(1:100000)*0.5*10^-10;
E0_ifft=ifft(Ef*fs,100000);
e0=ifftshift(E0_ifft);
plot(shijian_t-(2*10^-5),e0);
grid on;


发表于 2016-4-26 14:19 | 显示全部楼层
谁来解释一下,我也没看明白
 楼主| 发表于 2016-4-26 15:33 | 显示全部楼层
sovereign 发表于 2016-4-26 14:19
谁来解释一下,我也没看明白

我的问题叙述的不够清楚??
发表于 2016-4-26 15:43 | 显示全部楼层
dongfangren 发表于 2016-4-26 15:33
我的问题叙述的不够清楚??

不是
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-5 05:54 , Processed in 0.068525 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表