Die Auswirkung eines gleichmäßigen Abstands der linearen Array-Elemente auf das Strahlmuster - Mikrofon-Array-Serien (5)

Lesen Sie den Originaltext und gehen Sie zu meiner Wissensspalte:
https://www.zhihu.com/column/c_1287066237843951616


Nach dem letzten Artikel wird dieser Artikel weiter lernen, einschließlich des Inhalts:

Beispiel 3.5 Der Einfluss des gleichmäßigen linearen Arrays "Array-Elementabstand" auf das Strahlmuster


Verwenden Sie das in der folgenden Abbildung gezeigte Koordinatensystem:

Abbildung 1 Einheitliches lineares Array-Koordinatensystem

Nehmen wir für dieses Koordinatensystem  M. ein lineares Array an, das aus einem gleichmäßig verteilten Array-Element besteht, und wenn der Abstand zwischen den Array-Elementen gleich ist d , beträgt  die Gesamtlänge des linearen Arrays  L = Md . Bei der Berechnung der Länge des linearen Arrays werden hier die Array-Elemente an beiden Enden nach außen erweitert  d / 2 , und das einheitliche lineare Array entspricht der räumlichen Abtastung des ursprünglichen kontinuierlichen Arrays.

Beispiel 3.5 Die Auswirkung eines gleichmäßigen linearen Array-Elementabstands auf das Strahlmuster

In diesem Fall wird der Einfluss des Abstands zwischen den Array-Elementen auf die Strahlantwort untersucht, wenn die Gesamtlänge des Online-Arrays konstant ist.

Stellen Sie sich ein L = 5 \ Lambda lineares Array mit einer Länge von vor  , vorausgesetzt, die Anzahl der  M = 5,10,30, Array-Elemente ist der Abstand zwischen den Array-Elementen  d = \ Lambda, \ Lambda / 2, \ Lambda / 6 . Unter der Annahme, dass die gewünschten Strahlbetrachtungsrichtungen jeweils \ theta_o = 0 ^ \ circ, 90 ^ \ circ, die Strahlantworten sind,  die unter Verwendung der obigen Formel berechnet wurden, sind sie in den 2 bzw. 3 gezeigt. Aufgrund der Symmetrie der Strahlantwort muss nur \ theta \ in \ left [-90 ^ \ circ, 90 ^ \ circ \ right] das Strahlmuster innerhalb des Bereichs angezeigt werden  .

Aus der Figur ist ersichtlich, dass die Hauptkeule des erhaltenen Strahls unter verschiedenen Abständen der Anordnungselemente und verschiedenen erwarteten Beobachtungsrichtungen fast mit der Hauptkeule des kontinuierlichen linearen Arrays zusammenfällt. Außerhalb der Hauptkeule nähert sich die Strahlantwort allmählich dem kontinuierlichen linearen Array, wenn der Abstand zwischen den Array-Elementen abnimmt. Für  d = \ lambda / 6 das gleichmäßige lineare Array mit kleinem Abstand liegt die Strahlantwort sehr nahe an der des kontinuierlichen linearen Arrays.

Es ist zu sehen, dass für  d = \ lambda die gleichmäßige lineare Anordnung mit großer Teilung,  \ theta_o = 0 ^ \ circ wenn die  \ theta = \ pm90 ^ \ circ Amplitude und Richtung der Strahlhauptkeulenantwort dieselbe Höhe haben, die als Gitterkeule bezeichnet wird, wie  \ theta_o = 90 ^ \ circ wenn in  \ theta = 90 ^ \ circ der  0 ^ \ circ Gitterkeule die Richtung erscheint. Für  d = \ lambda / 2 eine einheitliche lineare Anordnung nur dann,  \ theta_o = 90 ^ \ circ wenn die  \ theta = -90 ^ \ circ Auftrittsrichtung der Gitterkeulen.

Wenn die Gitterkeulen erscheinen, ist die Strahlausgangsleistung des gleichen Intensitätssignals, das aus der Gitterkeulenrichtung einfällt, genau die gleiche wie die Strahlausgangsleistung, die aus der Hauptkeulenrichtung erzeugt wird, was bedeutet, dass die Signaleinfallsrichtung nicht basierend auf der Strahlausgabe unterschieden werden kann. Daher müssen wir beim Entwerfen des Basisarrays und des Balkens Gitterkeulen vermeiden.

Figur 2

Bild 3

Der Code wird wie folgt implementiert:

c=340;       %声速
f=100;      %频率
theta_angle=-90:0.1:90;
theta=theta_angle*pi/180;
theta_d = 0*pi/180; %入射角度
M=5;         %麦克风数量
space=c/f;  %麦克风间距
B=sin((M*pi*f*space*(sin(theta)-sin(theta_d)))/c)./(M*sin((pi*f*space*(sin(theta)-sin(theta_d)))/c));
B_db=20*log10(B);
limit_dB = -60;
index = B_db < limit_dB;
B_db(index) = limit_dB; 
plot(theta_angle, B_db, '.','linewidth',1.5);
hold on;
M=10;         %麦克风数量
space=c/f/2;  %麦克风间距
B=sin((M*pi*f*space*(sin(theta)-sin(theta_d)))/c)./(M*sin((pi*f*space*(sin(theta)-sin(theta_d)))/c));
B_db=20*log10(B);
%limit_dB = -50;
index = B_db < limit_dB;
B_db(index) = limit_dB; 
plot(theta_angle, B_db, '-.','linewidth',1.5);
hold on;
M=30;         %麦克风数量
space=c/f/6;  %麦克风间距
B=sin((M*pi*f*space*(sin(theta)-sin(theta_d)))/c)./(M*sin((pi*f*space*(sin(theta)-sin(theta_d)))/c));
B_db=20*log10(B);
index = B_db < limit_dB;
B_db(index) = limit_dB; 
plot(theta_angle, B_db, 'linewidth',1.5);
grid on;
legend('d=\lambda','d=\lambda/2','d=\lambda/6');
xlabel('\theta/(\circ)');ylabel('20lg|B(\theta)|/dB');
xlim([-90 90]);ylim([-60 0]);
title('\theta_o=0^\circ');

Nachschlagewerke:

"Optimierung der Array-Signalverarbeitung"

Ich denke du magst

Origin blog.csdn.net/weixin_40571814/article/details/109250642
Empfohlen
Rangfolge