книги / Определение акустических характеристик звукопоглащающих конструкций на основе измерений в интерферометрах с применением программного обеспечения PULSE
..pdf3.3. Определение акустических характеристик ЗПК методом передаточной функции на основе двух микрофонов
Вданном разделе приведен пример программного кода
вMATLAB для определения акустических характеристик ЗПК по формулам, приведенным в «1.4. Метод передаточной функции на основе двух микрофонов». Программа состоит из двух функций:
1) main_tfm – главная функция пользователя, в которой выполнена реализация метода передаточной функции и из которой вызывается функция вычисления взаимных спектров сигналов;
2) fft_cross – функция пользователя, в которой вычисляются взаимные спектры сигналов.
Для использования функции вычисления взаимных спектров сигналов необходимо в папку с файлом главной функции main_tfm.m скопировать файл fft_cross.m (см. подраздел 3.2. «Перевод записанных сигналов в частотную область»).
Результатом работы программы будет построение графиков акустических характеристик испытанного образца ЗПК (рис. 75).
Рис. 75. Импеданс и коэффициент звукопоглощения образца однослойной локально-реагирующей ЗПК, определенные методом передаточной функции на основе двух микрофонов
71
|
Файл main_tfm.m |
|
close all |
|
|
clear all |
|
|
%------------------------------------------------------- |
|
|
% |
|
ЗАДАНИЕ ИСХОДНЫХ ДАННЫХ |
%------------------------------------------------------- |
|
|
c = 343; |
%скорость звука [м/с] |
|
z1 = |
0.0375; |
%координата микрофона, ближнего к ЗПК |
z2 = |
z1+0.02; |
%координата микрофона, дальнего от ЗПК |
n_ref = 2; |
%номер опорного микрофона |
|
Fmax |
= 6400; |
%верхний предел частотного диапазона |
Overlap = 0; |
%коэффициент перекрытия |
|
dt = |
6.1035E-05; %шаг по времени [с] |
|
df = |
8; |
%шаг, с которым делать fft [Гц] |
%------------------------------------------------------- |
|
|
% |
|
ОСНОВНАЯ ПРОГРАММА |
%------------------------------------------------------- |
|
|
load('2mic2_29'); %загрузка файла с сигналами |
||
%--- |
Считываем сигналы с микрофонов |
|
Signal(:,1) = Channel_1_Data(:,1); |
||
Signal(:,2) = Channel_2_Data(:,1); |
||
%--- |
Кросс-спектры |
|
Gxy = fft_cross(Signal,n_ref,dt,df,Overlap); |
||
%--- |
Передаточная функция |
|
if n_ref==1 |
|
|
H12 |
= Gxy(:,2)./Gxy(:,1); %если опорный микрофон 1 |
|
else |
|
|
H12 |
= Gxy(:,1)./Gxy(:,2); %если опорный микрофон 2 |
|
end |
|
|
N = length(H12); |
%число точек в спектре |
|
f = 0:df:(N-1)*df; %массив частот |
||
kv = |
2*pi*f'/c; |
%волновые числа |
%--- |
Коэффициент отражения |
R = ((H12-exp(-1i*kv*(z1- z2))).*exp(2i*kv*z1))./(exp(1i*kv*(z1-z2))-H12);
%--- Импеданс
Z = (1+R)./(1-R);
%--- Коэффициент звукопоглощения alpha = 1 - abs(R).^2;
72
% |
------------------------------------------------------- |
|
% |
ПОСТРОЕНИЕ |
ГРАФИКОВ |
%------------------------------------------------------- |
|
|
%--- |
Графики действительной и |
мнимой части импеданса |
Zr = real(Z); |
|
|
Zi = imag(Z); |
|
|
set (figure, 'Position', |
[300 400 300 200]); |
|
hold on; |
|
|
grid on; |
|
|
plot(f/1000,Zr,'r'); |
|
|
plot(f/1000,Zi,'b'); |
|
|
axis([500/1000 Fmax/1000 |
-6 6]); |
|
%--- |
График коэффициента |
звукопоглощения |
set (figure, 'Position', |
[620 400 300 200]); |
|
plot(f/1000,alpha,'b'); |
|
|
axis([500/1000 Fmax/1000 |
0 1]); |
|
grid on; |
|
3.4. Определение акустических характеристик ЗПК методом модальной декомпозиции на основе четырех микрофонов
В данном разделе приведен пример программного кода в MATLAB для определения акустических характеристик ЗПК по формулам, приведенным в «1.5. Метод модальной декомпозиции звукового поля». Программа состоит из трех функций:
1)main_mdm – главная функция пользователя, в которой выполнена реализация метода модальной декомпозиции и из которой вызывается функция вычисления взаимных спектров сигналов;
2)fft_auto – функция пользователя, в которой вычисляются автоспектры сигналов;
3)fft_cross – функция пользователя, в которой вычисляются взаимные спектры сигналов.
Для использования функции вычисления взаимных спектров сигналов необходимо в папку с файлом главной функции main_mdm.m скопировать файлы fft_auto.m, fft_cross.m (см. подраз-
дел 3.2. «Перевод записанных сигналов в частотную область»).
73
Результатом работы программы будет построение сглаженных кривых акустических характеристик образца ЗПК, определенных методом модальной декомпозиции на основе измерений по 4 микрофонам (рис. 76).
Рис. 76. Импеданс и коэффициент звукопоглощения образца однослойной локально-реагирующей ЗПК, определенные методом модальной декомпозиции на основе четырех микрофонов
|
|
Файл main_mdm.m |
|
close all |
|
||
clear all |
|
||
%------------------------------------------------------- |
|
|
|
% |
|
|
ЗАДАНИЕ ИСХОДНЫХ ДАННЫХ |
%------------------------------------------------------- |
|
|
|
c = 343; |
%скорость звука [м/с] |
||
R = 0.025; |
%радиус канала [м] |
||
z1 |
= |
0.058; |
%расстояние от ЗПК до микрофона 1 |
z2 |
= |
z1+0.0165; |
%расстояние от ЗПК до микрофона 2 |
z3 |
= |
z2+0.0165; |
%расстояние от ЗПК до микрофона 3 |
z4 |
= |
z3+0.0165; |
%расстояние от ЗПК до микрофона 4 |
n_ref = 1; |
%номер опорного микрофона |
||
Fmax |
= 6400; |
%верхний предел частотного диапазона |
|
Overlap = 0.667; |
%коэффициент перекрытия |
||
dt = |
6.1035E-05; |
%шаг по времени [с] |
|
df = |
4; |
%шаг, с которым делать fft [Гц] |
74
% |
------------------------------------------------------- |
% |
ОСНОВНАЯ ПРОГРАММА |
%------------------------------------------------------- |
|
load('7mic_41'); %загрузка файла с сигналами
%--- Считываем сигналы с микрофонов
Signal(:,1) = Channel_1_Data(:,1); Signal(:,2) = Channel_2_Data(:,1); Signal(:,3) = Channel_3_Data(:,1); Signal(:,4) = Channel_4_Data(:,1);
%--- Вычисляем авто- и кросс-спектры на основе fft
Gxx = fft_auto(Signal,dt,df,Overlap);
Gxy = fft_cross(Signal,n_ref,dt,df,Overlap); %--- Давление на микрофонах
p = sqrt(abs(Gxx)).*exp(1i*angle(Gxy)); %--- Решение системы линейных уравнений
N = length(p(:,1));
for j = 1:N %цикл по частотам f(j) = (j-1)*df;
kv = 2*pi*f(j)/c; kr00 = 0/R;
kr10 = 1.841/R;
kz00 = sqrt(kv^2-kr00^2); kz10 = sqrt(kv^2-kr10^2); Be00 = besselj(0,kr00*R); Be10 = besselj(1,kr10*R); %--- Коэффициенты матрицы
a11 = Be00*exp(1i*kz00*z1); a12 = Be00*exp(-1i*kz00*z1);
a13 = Be10*exp(1i*kz10*z1); a14 = Be10*exp(-1i*kz10*z1);
a21 = Be00*exp(1i*kz00*z2); a22 = Be00*exp(-1i*kz00*z2);
a23 = Be10*exp(1i*kz10*z2); a24 = Be10*exp(-1i*kz10*z2);
a31 = Be00*exp(1i*kz00*z3); a32 = Be00*exp(-1i*kz00*z3);
a33 = Be10*exp(1i*kz10*z3); a34 = Be10*exp(-1i*kz10*z3);
a41 = Be00*exp(1i*kz00*z4); a42 = Be00*exp(-1i*kz00*z4);
a43 = Be10*exp(1i*kz10*z4); a44 = Be10*exp(-1i*kz10*z4); A = [a11 a12 a13 a14; a21 a22 a23 a24; ...
a31 a32 a33 a34; a41 a42 a43 a44]; %--- Коэффициенты вектор-столбца
B = [p(j,1); p(j,2); p(j,3); p(j,4)];
%--- Решение системы уравнений для текущей частоты
X = A\B;
%--- Коэффициент отражения по нулевой моде
R00(j) = X(2)/X(1); end
75
%--- |
Импеданс |
Z = (1+R00)./(1-R00); |
|
%--- |
Коэффициент звукопоглощения |
alpha = 1 - abs(R00).^2; |
|
%------------------------------------------------------- |
|
% |
СГЛАЖИВАНИЕ |
%------------------------------------------------------- |
|
Zi(1:400) = smooth(imag(Z(1:400)),20);
Zr(1:400) = smooth(real(Z(1:400)),20);
Al(1:400) = smooth(alpha(1:400),20);
ds = 50; |
|
|
Zi(400:N-ds) |
= smooth(imag(Z(400:N-ds)),ds); |
|
Zr(400:N-ds) |
= smooth(real(Z(400:N-ds)),ds); |
|
Al(400:N-ds) |
= smooth(alpha(400:N-ds),ds*2); |
|
Zi(N-ds:N) = |
smooth(imag(Z(N-ds:N)),1); |
|
Zr(N-ds:N) = |
smooth(real(Z(N-ds:N)),1); |
|
Al(N-ds:N) = |
smooth(alpha(N-ds:N),1); |
|
% |
------------------------------------------------------- |
|
% |
|
ПОСТРОЕНИЕ ГРАФИКОВ |
%------------------------------------------------------- |
|
|
%--- |
Графики |
действительной и мнимой части импеданса |
set (figure, |
'Position', [300 400 300 200]); |
hold |
on; |
|
grid |
on; |
|
plot(f/1000,Zr,'r'); |
|
|
plot(f/1000,Zi,'b'); |
|
|
axis([500/1000 Fmax/1000 |
-6 6]); |
|
%--- |
График коэффициента |
звукопоглощения |
set (figure, 'Position', |
[620 400 300 200]); |
|
plot(f/1000,Al,'b'); |
|
|
axis([500/1000 Fmax/1000 |
0 1]); |
|
grid |
on; |
|
3.5.Определение акустических характеристик ЗПК по измерениям в интерферометре
скасательным падением волн
Рассмотрим программную реализацию в MATLAB определения импеданса ЗПК на основе результатов измерений образца в интерферометре с касательным падением волн. Математические основы используемого для этого подхода изложены в подразделе 1.5
76
«Метод модальной декомпозиции звукового поля». Программа состоит из трех функций:
1)main_pm – главная функция пользователя, в которой выполнена реализация нахождения волновых чисел методом Прони
сопределением импеданса ЗПК и из которой вызываются другие функции;
2)fft_auto – функция пользователя, в которой вычисляются автоспектры сигналов.
3)fft_cross – функция пользователя, в которой вычисляются взаимные спектры сигналов.
Для использования функций вычисления автоспектров и взаимных спектров сигналов необходимо в папку с файлом главной функции main_pm.m скопировать файлы fft_auto.m и fft_cross.m (см. подраздел 3.2. «Перевод записанных сигналов в частотную область»).
В результате работы программы в окно команд MATLAB выводятся числовые значения импеданса.
Файл main_pm.m
close all clear all
% |
------------------------------------------------------- |
% |
ЗАДАНИЕ ИСХОДНЫХ ДАННЫХ 1 |
%------------------------------------------------------- |
|
%1) Имя файла с исходными сигналами в формате *.mat name ='noise_130dB';
%2) Номер опорного сигнала, относительно которого
%вычисляется фаза
n_ref = 1;
%3) Число сигналов n_mic = 18;
%4) Шаг по времени [с] в записанных в PULSE сигналах dt = 6.1035*1e-05;
%5) Шаг, с которым делать fft [Гц]
df = 1;
% 6) Перекрытие выборок в долях от 0 до 1 в fft
Overlap = 0.667;
77
% |
------------------------------------------------------- |
|
|
|
|
|
% |
|
ЗАДАНИЕ ИСХОДНЫХ ДАННЫХ 2 |
||||
%------------------------------------------------------- |
|
|
|
|
|
|
%--- |
Координаты микрофонов |
|
|
|||
z = [0.2 0.22 |
0.24 |
0.26 |
0.28 |
0.3 0.32 0.34 0.36 ... |
||
|
0.38 0.4 |
0.42 |
0.44 |
0.46 |
0.48 |
0.50 0.52 0.54]; |
%--- |
Частоты , на которых проводим поиск импеданса |
|||||
f = [500 630 800 1000 1250 1600 2000 2500 3150]; |
H = 0.04; %высота канала [м] |
|
|
T = |
18.79; %температура среды |
в эксперименте [C] |
c = |
sqrt(1.4*287*(237.15+T)); |
%скорость звука [м/с] |
%------------------------------------------------------- |
|
% |
ОСНОВНАЯ ПРОГРАММА |
%------------------------------------------------------- |
|
Data |
= load(name); %загрузка файла с сигналом |
%--- |
Считываем сигналы |
for i = 1:n_mic
Signal(:,i) = getfield(Data, ['Channel_' int2str(i) ...
'_Data']); end
%--- Вычисляем авто- и кросс-спектры на основе fft
Gxx = fft_auto(Signal,dt,df,Overlap);
Gxy = fft_cross(Signal,n_ref,dt,df,Overlap);
%--- |
Вычисляем амплитуды и фазы на |
микрофонах |
||
Ampl |
= |
sqrt(abs(Gxx)); |
%амплитуда |
[Па] |
Faza |
= |
angle(Gxy); |
%фаза [рад] |
|
p = Ampl.*exp(1i*Faza); %давление на микрофоне [Па]
% |
------------------------------------------------------- |
% |
МЕТОД ПРОНИ |
%------------------------------------------------------- |
|
N = n_mic/2; %число учитываемых мод |
|
%--- |
Формирование матрицы S и вектора P |
for i = 1:length(f) %цикл по частотам for j=1:N
n = f(i)/df+1;
S(j,1:N) = p(n,N+j-1:-1:j); P(j,1) = p(n,N+j);
end
78
%--- Решение системы линейных алгебраических уравнений
D = S\-P;
%--- Нахождение корней полинома coeff(1) = 1;
coeff(2:N+1) = -D(1:N); Qn = roots(coeff);
%--- Определение волновых чисел kz = -1i*log(Qn);
kv = 2*pi*f(i)/c;
ky = sqrt(kv*kv-kz.^2);
%--- Определение импеданса
Z(:,i) = 1i*kv./(ky.*tan(ky*H));
end
Z %вывод значений импеданса в окно команд MATLAB
79
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1.Ingard U. On the theory and design of acoustic resonators // Journal of the Acoustical Society of America. – 1953. – Vol. 25, no 6. – P. 1037–1061.
2.Melling Т.H. The acoustic impedance of perforates at mediumand high sound pressure levels // Journal of Sound and Vibrations. – 1973. – Vol. 29, no. 1. – P. 1–65.
3.Guess A.W. Calculation of perforated plate liner parameters from specified acoustic resistance and reactance // Journal of Sound and Vibrations. – 1975. – Vol. 40, no. 1. – P. 119–137.
4.Hersh A.S., Walker B.E., Celano J.W. Semi-empirical Helmholtz resonator impedance model // AIAA Paper. – 1999. – No. 1825.
5.Boden H. Experimental investigation of harmonic interaction effects for perforates // AIAA Paper. – 2005. – No. 2896.
6.Соболев А.Ф. Полуэмпирическая теория однослойных сотовых звукопоглощающих конструкций с лицевой перфорированной панелью // Акустический журнал. – 2007. – Т. 53, № 6. – С. 861–872.
7.Yu J., Ruiz M., Kwan H.W. Validation of Goodrich perforate liner impedance model using NASA Langley test data // AIAA Paper. – 2008. – No. 2930.
8.Комкин А.И., Миронов М.А., Быков А.И. Поглощение звука резонатором Гельмгольца // Акустический журнал. – 2017. – Т. 63, № 4. – С. 356–363.
9. Schultz T., Liu F., Cattafesta L., Sheplak M., Jones M. A comparison study of normal-incidence acoustic impedance measurements of a perforate liner // AIAA Paper. – 2009. – No. 3301.
10.Ипатов М.С., Остроумов М.Н., Соболев А.Ф. Четырехмикрофонный метод определения импеданса образцов звукопоглощающих конструкций на интерферометре при нормальном падении звука // Труды ЦАГИ. – 2014. – Вып. 2739. – С. 58–68.
11.Сравнительный анализ акустических интерферометров на основе расчетно-экспериментальных исследований образцов
80