我目前正在使用一些声学传播模型。我在其中 2 个模型中注意到的一个特征是,在报告时域结果之前,模型的输出通常乘以频域中的 Hann 窗口。
我一直在努力理解这背后的想法,因为我只熟悉在时域中应用的窗口函数。
提供一些背景......这些模型由(据我了解)操作:
- 模拟理论矩形光谱(所有频率的相位值相等)。
- 然后,模型计算声音在环境中传播时的每个频率的损失。
- 通常会返回频域和时域图,以便以直观的方式查看结果(每频率的 dB 损失)。
我假设要将其转换回时域(以显示光谱色散的影响),汉恩窗以某种方式使该信号可见,否则平坦的相位值将导致无意义的时域信号。
- 任何人都可以简要描述将平面(矩形)光谱与相同大小的 Hann 窗口相乘的 DSP 理论吗?
下面我展示了一些相关的matlab代码。这段代码(据我所知)对信号(phs)进行频移,将频域乘以汉恩窗(hanwin),然后转换回时域fft。结果tlpressd用于在结果图中绘制每时间的 dB 传播损耗。循环项只是贯穿环境的所有输出范围。
hanwin=hanning(nf+1);
hanwin=fftshift(hanwin(1:nf)/sum(hanwin(1:nf)));
phs=2*pi*cfreq*time;
if optout == 1
for irng=1:nrout,
pressd(irng,:)=fftshift(fft(pressd(irng,:).*hanwin')).*exp(-j*phs);
timeout(irng,:)=time+rngout(1,irng)/(c0/1000.);
end
% pressd = complex pressure field, row = range; col = time
tlpressd=-20*log10(max(abs(pressd),1.e-20));
笔记
仅供参考,上面的代码来自Kevin Smith 的 “Monterey-Miami Parabolic Equation”传播模型。它将生成的模型的绿色函数解决方案转换为几种视觉表示之一(时间与频率,或频率与深度等)
提供更多上下文(可能还有更多混乱)。如果我用我选择的任何时域信号替换变量hanwin,则代码块的末尾提供了该信号与模型计算的传播效应的卷积(即它模拟了传播对所提供信号的影响)。很明显,我正在将 Hann 窗口与我的模型输出进行卷积......但我不知道这背后的信号理论是什么。