0

我希望 LFO 是 6Hz 正弦波,它将原始信号的幅度修改 +/- 2db。

[y, Fs] = wavread('input.wav');
t = 0:1/Fs:(length(y)-1)/Fs;
y1 = y .* 1.584893.*sin(2*pi*6*t);
wavwrite(y1,Fs,'output.wav');

那会做需要做的吗?因为在我听完输出信号后,它听起来变形了。

4

1 回答 1

2

为了对信号应用正弦波幅度调制,您需要将信号乘以

1 + Am * sin(2 * pi * Fm * t)

其中Am是调制幅度(在您的情况下为 0.258925,对于 +/- 2 dB),Fm是调制频率(在您的情况下为 6 Hz)。

所以你的表达应该是:

y1 = y .* (1 + 0.258925 .* sin(2 * pi * 6 * t));
于 2012-06-05T14:07:52.347 回答