将估计的传递函数应用于信号以模拟通道

发布于 2024-10-28 23:05:11 字数 435 浏览 4 评论 0原文

我正在尝试从一些样本模拟音频传输通道:我有原始录音和失真录制的录音。我使用 tfestimate() 来获得传递函数估计。但现在我对如何应用它来创建模拟失真有点困惑。我试图做的是:

res = tfestimate(...)                     % get TF from clean and noisy record.
c = abs(ifft(res));                       % convert to time domain
out = conv(signal, c);                    % filter
wavwrite(out, 16000, 16, '/tmp/out.wav'); % dump

但我对结果不满意,它听起来很不同。

有没有更好的方法将传递函数估计“res”应用于输入“信号”?

I'm trying to simulate an audio transmission channel from some samples: I have original recordings and the ones recorded with distortion. I'm using tfestimate() in order to obtain a transfer function estimate. But now I'm a little bit confused about how to apply it to create simulated distortion. What I tried to do is:

res = tfestimate(...)                     % get TF from clean and noisy record.
c = abs(ifft(res));                       % convert to time domain
out = conv(signal, c);                    % filter
wavwrite(out, 16000, 16, '/tmp/out.wav'); % dump

but I'm not happy with the result, it just sounds very differently.

is there a better way to apply the transfer function estimate "res" to the input "signal"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一绘本一梦想 2024-11-04 23:05:11

需要澄清的是,你的“原始录音和失真录音”是同时录制的,对吧?并且失真过程不会添加噪声?

与其使用 tfestimate 计算频域中的传递函数,然后尝试对其求逆,不如计算将原始录音转换为失真版本的 FIR 维纳滤波器更为直接。

或者,您可以尝试拟合 tfestimate 返回的传递函数,然后将其转换为时域滤波器。函数invfreqs是一个很好的起点;它将 ZPK 模型拟合到测量的频率响应。

Just to be clear, your "original recordings and the ones recorded with distortion" were recorded at the same time, right? And the distortion process does not add noise?

Instead of computing the transfer function in the frequency domain with tfestimate and then trying to invert it, it would be more direct to compute the FIR Wiener filter that turns the original recording into the distorted version.

Alternatively, you could try to fit the transfer function returned by tfestimate and then turn it into a time-domain filter. The function invfreqs is a good place to start; it will fit a ZPK model to the measured frequency response.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文