ifft java_在Matlab中的fft / ifft反卷积

我有一个时变信号(时间,幅度)和测量的频率灵敏度(频率,幅度转换因子(Mf)) .

我知道如果我使用时间信号的中心频率为我的信号选择幅度转换因子(例如0.0312),我得到最大值 . 转换后的振幅值为1.4383 .

我已经编写了一些代码来解卷时变信号和已知灵敏度(即所有频率) .

其中Pt是输出/转换幅度,Mf是幅度转换因子数据,fft(a)是时变信号(a)的fft .

我采用了fft(a)的真实部分:

xdft = fft(a);

xdft = xdft(1:length(x)/2+1); % only retaining the positive frequencies

freq = Fs*(0:(L/2))/L;

其中Fs是采样频率,L是信号长度 .

convS = real(xdft).*Mf;

假设Mf是幅度=真实(我没有阶段信息) . 我也插入

Mf=interp1(freq_Mf,Mf_in,freq,'cubic');

所以在与频率相同的审讯点 .

然后我使用以下方法在时域中重建信号:

fftRespI=complex(real(convS),imag(xdft));

pt = ifft(fftRespI,L,'symmetric')

我在哪里使用fft(a)的虚部 .

重建的信号形状看起来是正确的,但信号的幅度不是 .

如果我为f = 0..N MHz设置Mf = 0.0312的所有值,我期望最大值 . 转换幅度值~1.4383(类似于我使用中心频率),但我得到13.0560 .

如何校准振幅轴?即如何正确地将fft(a)乘以Mf?

一些改进的理解abs(幅度)和实际FFT的y轴将有助于我,我认为......

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值