Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Определение акустических характеристик звукопоглащающих конструкций на основе измерений в интерферометрах с применением программного обеспечения PULSE

..pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
1.75 Mб
Скачать

3.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

Соседние файлы в папке книги