You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB中时轴混叠信号的移位对齐问题

问题分析

你遇到的两端幅值残留问题,核心原因是原始信号的瞬时频率远超奈奎斯特频率(Fa/2=2500Hz),导致采样后信号严重混叠。常规频域时移操作仅针对基带分量生效,无法匹配混叠而来的高频镜像分量的移位需求,最终造成时域两端的对齐偏差。

先验证信号带宽:对s1的相位求导得瞬时频率公式

f_inst = -2*V^2*(ta + time_delay)/(lambda*R);

代入参数计算,最大瞬时频率绝对值约为5972Hz,远大于2500Hz,采样后必然产生混叠。

解决方案

方案一:修正频域时移的相位因子(适配离散信号周期性)

放弃零填充操作(无法解决混叠),改用离散采样点的移位逻辑计算相位因子,适配FFT的周期性频率轴:

% 计算移位对应的采样点数
delta_n = time_delay * Fa; % 0.3065,小于1个采样点

% s1左移time_delay
S1 = fftshift(fft(s1));
% 用FFT原始索引计算相位因子,适配离散信号的周期性
S1 = S1 .* exp(-1j*2*pi*(0:N-1)/N * delta_n);
s1r = ifft(fftshift(S1));

% s2右移time_delay
S2 = fftshift(fft(s2));
S2 = S2 .* exp(1j*2*pi*(0:N-1)/N * delta_n);
s2r = ifft(fftshift(S2));

Result = s1r - s2r;

figure(1);
plot(ta, abs(Result)); 
xlabel("t(s)");
title('After Substraction');

方案二:时域亚采样插值移位(更贴合离散信号特性)

由于移位量小于1个采样点,直接用时域插值实现亚采样移位,避免频域混叠分量的干扰:

% s1左移time_delay:生成目标时间轴并插值
ta_target_s1 = ta - time_delay;
s1r = interp1(ta, s1, ta_target_s1, 'spline'); % 样条插值精度更高

% s2右移time_delay:生成目标时间轴并插值
ta_target_s2 = ta + time_delay;
s2r = interp1(ta, s2, ta_target_s2, 'spline');

Result = s1r - s2r;

figure(1);
plot(ta, abs(Result)); 
xlabel("t(s)");
title('After Substraction');

额外优化:加窗抑制两端残留

因为混叠无法完全消除,可通过加窗降低时域两端的残留幅值:

win = hamming(N); % 汉明窗
Result_win = Result .* win;
figure(2);
plot(ta, abs(Result_win));
xlabel("t(s)");
title('After Substraction with Hamming Window');

内容的提问来源于stack exchange,提问作者jason sheen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:26:02