我有一个时变信号(时间,幅度)和测量的频率灵敏度(频率,幅度转换因子(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轴将有助于我,我认为......
谢谢