【问题标题】:Applying LFO on a signal in Matlab在 Matlab 中对信号应用 LFO
【发布时间】:2012-06-09 11:20:16
【问题描述】:

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

这会做需要做的事情吗?因为我听了输出信号后它听起来很变形。

【问题讨论】:

  • 顺便说一句,您可以使用db()进行分贝转换。

标签: matlab audio signal-processing audio-processing


【解决方案1】:

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

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-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多