在Matlab中对信号应用LFO

时间:2012-06-05 12:30:07

标签: matlab audio signal-processing audio-processing

我希望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');

是要做必要的事情吗?听完输出信号后听起来很糟糕。

1 个答案:

答案 0 :(得分: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));