【问题标题】:amplification of audio signal音频信号放大
【发布时间】:2020-12-10 20:05:13
【问题描述】:
我正在尝试编写一个程序,该程序需要两个音频文件并尽可能地匹配另一个。因此,如果我要给程序两个音频文件,其中一个只是另一个的更安静的版本,程序应该放大更安静的一个以匹配另一个。我可以使用哪些功能来实现我正在寻找的东西?我使用了以下代码行,但它平衡了两个信号,但削减了更大的信号。我希望安静的等于响亮的
% creation of signals
N=1024;
n=0:N-1;
x=sin(2*pi*(2^-7).*n);
y=2*sin(2*pi*(2^-7).*n+pi/4);
% justify its power
x1=x/sqrt(mean(x.^2));
y1=y/sqrt(mean(y.^2));
【问题讨论】:
标签:
matlab
signal-processing
【解决方案1】:
您需要得到x 和y 的最大平均值的比率,对于x,这是0.5,对于y,这是1。实现此目的的方法:
N=1024;
n=0:N-1;
x=sin(2*pi*(2^-7).*n);
y=2*sin(2*pi*(2^-7).*n+pi/4);
% justify its power
x1=x./(sqrt(mean(x.^2)/(max(mean(x.^2),mean(y.^2)))));
y1=y./(sqrt(mean(y.^2)/(max(mean(x.^2),mean(y.^2)))));
figure()
plot(n,y)
hold on
plot(n,x1)
legend('y','x1')
xlabel('n');
结果如下图: