Equation for Amplitude difference between two tones

조회 수: 1 (최근 30일)
Parisa
Parisa 2020년 8월 10일
댓글: Parisa 2020년 8월 10일
Hi, I have an equation amp2=10^(-10/20) to find an amplitude that is -10 dB lower than a reference, what do I change in the formula to make it 20, 30, or 40 dB?

채택된 답변

Shae Morgan
Shae Morgan 2020년 8월 10일
편집: Shae Morgan 2020년 8월 10일
The equation for dB is 10*log10(Incident_intensity/reference_intensity).
When dealing with pressures (as we usually are in sound waves) the relationship between pressure and intensity adjusts that equation to 20*log10(incident_pressure/reference_pressure).
When solving for a certain dB difference you can manipulate the equation to result in your specific desired intensity
-10 dB = 20 * log10(x/ref) Where the ref is the average amplitude of the reference sound, and x is the intensity you're trying to find that is 10 dB less than that reference point.
when you solve for x - that equation looks like this
x = 10^(-10/20) * ref
where x = your amp2. My guess is your reference (ref) in your equation is = 1 so solving for amp2 gives you the amplitude that would be 10 dB lower than an amplitude of 1. To find any other difference, you need to know 1) what dB difference you need and 2) what the reference point is.
e.g., if you have two, 500 ms, 1000 Hz audio signals:
amp1=1;
amp2=1;
f=1000;
dur=.5;
fs=44100;
t= 0:1/fs:dur-1/fs;
sig1= amp1*sin(2*pi*f*t);
sig2=amp2*sin(2*pi*f*t);
if you want sig2 to be -10 dB relative to sig1, you need to adjust the amplitude relative to the rms amplitude of the first signal
ref_level=rms(sig1); %this is the amplitude you compare to
dB_difference=-10; %this number can be substituded for whatever dB change you want
amp2_10dB = 10^(dB_difference/20) * ref_level;
norm_sig2=sig2./rms(sig2); %normalize sig2
scaled_sig2=norm_sig2.*amp2_10dB;
%check
new_level=rms(scaled_sig2);
checkdB=20*log10(new_level/ref_level) %our original dB equation
should be -10 .

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Simulation, Tuning, and Visualization에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by