当前位置:网站首页>Array signal processing simulation part IV -- Z-transform analysis array polynomial

Array signal processing simulation part IV -- Z-transform analysis array polynomial

2022-06-10 18:56:00 Master World

Z Transformation

    For linear equally spaced arrays , The beam pattern can be expressed by an array polynomial . The beam pattern is ψ \psi ψ Space can be written as B ψ ( ψ ) = e − j ( N − 1 2 ) ψ ( ∑ n = 0 N − 1 ω n e − j n ψ ) B_\psi(\psi)=e^{-j(\frac{N-1}{2})\psi}(\sum_{n=0}^{N-1}\omega_ne^{-jn\psi}) Bψ(ψ)=ej(2N1)ψ(n=0N1ωnejnψ)
    We define z = e j ψ z=e^{j\psi} z=ejψ
    You can write B z ( z ) = ∑ n = 0 N − 1 ω n z − n B_z(z)=\sum_{n=0}^{N-1}\omega_nz^{-n} Bz(z)=n=0N1ωnzn
    This expression is similar to z Transformation is similar , Put the real variable ψ \psi ψ Mapping to a complex variable with unit amplitude z, Variable ψ \psi ψ It's a complex variable z The aspect of . The beam pattern can be written as B ψ ( ψ ) = [ z − N − 1 2 B z ( z ) ] z = e j ψ B_\psi(\psi)=[z^{-\frac{N-1}{2}}B_z(z)]_{z=e^{j\psi}} Bψ(ψ)=[z2N1Bz(z)]z=ejψ

Real array weights

    For symmetric weighting , Yes ω ( n ) = ω ( N − 1 − n ) \omega(n)=\omega(N-1-n) ω(n)=ω(N1n)
   z Transformation for B z ( z ) = ∑ n = 0 N − 1 ω ( n ) z − n B_z(z)=\sum_{n=0}^{N-1}\omega(n)z^{-n} Bz(z)=n=0N1ω(n)zn
    Can define M = N − 1 2 M=\frac{N-1}{2} M=2N1
    And write B z ( z ) = z − M { ω ( M ) + ω ( M − 1 ) [ z + z − 1 ] + ω ( M − 2 ) [ z 2 + z − 2 ] + ⋯ + ω ( 0 ) [ z M + z − M ] } Bz(z)=z^{-M}\{\omega(M)+\omega(M-1)[z+z^{-1}]+\omega(M-2)[z^2+z^{-2}]+\cdots +\omega(0)[z^M+z^{-M}]\} Bz(z)=zM{ ω(M)+ω(M1)[z+z1]+ω(M2)[z2+z2]++ω(0)[zM+zM]}
    According to the symmetry of the coefficient B z ( z − 1 ) = z 2 M B z ( z ) B_z(z^{-1})=z^{2M}B_z(z) Bz(z1)=z2MBz(z)
There is no further derivation here , Through the analysis of , Finally we can launch , A group of four zeros of a polynomial , Zero pairs which are conjugate and reciprocal to each other , Now we will analyze some actual cases

Case study

Uniformly weighted array

B u i ( u ) = 1 N s i n ( π N d λ u ) s i n ( π d λ u ) , − 1 ≤ u ≤ 1 B_ui(u)=\frac{1}{N}\frac{sin(\frac{\pi N d}{\lambda}u)}{sin(\frac{\pi d}{\lambda}u)},-1\leq u \leq 1 Bui(u)=N1sin(λπdu)sin(λπNdu),1u1
An array of patterns appears in B u ( u ) B_u(u) Bu(u) The molecule of is 0 The denominator is not 0 when s i n ( π N d λ u ) = 0 sin(\frac{\pi Nd}{\lambda}u)=0 sin(λπNdu)=0
The position of zero point is u n = ± n N ⋅ λ d , n = 1 , 2 , ⋯   , N − 1 2 u_n = \pm\frac{n}{N}\cdot\frac{\lambda}{d},n=1,2,\cdots,\frac{N-1}{2} un=±Nndλ,n=1,2,,2N1
 Insert picture description here
We remember that the position of the first zero point determines the width of the main beam . therefore , We can study such technology , That is, the first zero point is constrained to be on a specific point , And adjust the position of other zeros to get an ideal pattern shape . Many commonly used patterns are developed in this way .

matlab Code

clear all;
close all;

N = 11; 
theta=2*pi*[0:0.01:1];

w = 1/N*ones(N,1);
z = roots(w);
figure
plot(real(z),imag(z),'o');
hold on;
plot(cos(theta),sin(theta),'-'); 
plot(1.5*[-1,1],0*[1,1],'-')
plot(0*[1,1],1.5*[-1,1],'-')
hold off;
set(gca,'YTick',[-1.5 -1 -0.5 0 0.5 1 1.5])
axis square
grid on;
xlabel('{\it x}','Fontsize',14)
ylabel('\it y','Fontsize',14)

cosine,cosine square

 Insert picture description here
The beam pattern corresponding to the two zero point patterns has been mentioned in the previous article and will not be mentioned here .

matlab Code

clear all
close all

N=11; 
n=conj(-(N-1)/2:(N-1)/2)';

w2=cos(pi*n/N);
w3=w2.*w2;
z2=roots(w2);
z3=roots(w3);

% ---------------- Zero Plot.
figure
%%%%%%%%%%%% plot 1
subplot(1,2,1);
plot(real(z2),imag(z2),'o');
axis([-1.2 1.2 -1.2 1.2])
axis('square')
grid on;
title('Cosine','Fontsize',14);
xlabel('Real','Fontsize',14)
ylabel('Imaginary','Fontsize',14)
theta=2*pi*[0:0.01:1];
hold on
plot(cos(theta),sin(theta),'--'); 
plot([-0.9 -0.65],[0.03 0.17])
text(-0.6,0.2,'2 zeros','Fontsize',12)
hold off

%%%%%%%%%%% plot 2
subplot(1,2,2);
plot(real(z3),imag(z3),'o');
grid on;
axis([-1.2 1.2 -1.2 1.2])
axis('square')
title('Cosine-squared','Fontsize',14);
xlabel('Real','Fontsize',14)
ylabel('Imaginary','Fontsize',14)
theta=2*pi*[0:0.01:1];
hold on
plot(cos(theta),sin(theta),'--'); 
text(-1.2,-1.7,(['Another zero is at (',num2str(real(z3(1))),', ',num2str(imag(z3(1))),')']),'Fontsize',12)
%text(1.6,-0.5,(['another zero at :']));
%text(1.7,-1,(['( ',num2str(real(z3(1))),' , ',num2str(imag(z3(1))),' )']))
hold off

Hamming,Blackman-Harris

Hamming Window weight ω ( n ) = 0.54 + 0.46 c o s ( 2 π n ~ N ) \omega(n) = 0.54+0.46cos(\frac{2\pi \tilde n}{N}) ω(n)=0.54+0.46cos(N2πn~)
Blackman-Harris A weight ω ( n ) = 0.42 + 0.5 c o s ( 2 π n ~ N ) + 0.08 c o s ( 4 π n ~ N ) \omega(n) = 0.42+0.5cos(\frac{2\pi \tilde n}{N})+0.08cos(\frac{4\pi \tilde n}{N}) ω(n)=0.42+0.5cos(N2πn~)+0.08cos(N4πn~)
 Insert picture description here

matlab Code

N=11; 
n=conj(-(N-1)/2:(N-1)/2)';

w2=0.42+0.5*cos(2*pi*n/N)+0.08*cos(4*pi*n/N);
w3=0.54+0.46*cos(2*pi*n/N);
z2=roots(w2);
z3=roots(w3);

% ---------------- Zero Plot.
figure
%%%%%%%%%%%%	plot 1
subplot(1,2,1);
plot(real(z2),imag(z2),'o');
axis([-1.2 1.2 -1.2 1.2])
axis('square')
grid on;
title('blackman','Fontsize',14);
xlabel('Real','Fontsize',14)
ylabel('Imaginary','Fontsize',14)
theta=2*pi*[0:0.01:1];
hold on
plot(cos(theta),sin(theta),'--'); 
plot([-0.9 -0.65],[0.03 0.17])
text(-0.6,0.2,'2 zeros','Fontsize',12)
hold off

%%%%%%%%%%%	plot 2
subplot(1,2,2);
plot(real(z3),imag(z3),'o');
grid on;
axis([-1.2 1.2 -1.2 1.2])
axis('square')
title('Hamming','Fontsize',14);
xlabel('Real','Fontsize',14)
ylabel('Imaginary','Fontsize',14)
theta=2*pi*[0:0.01:1];
hold on
plot(cos(theta),sin(theta),'--'); 
text(-1.2,-1.7,(['Another zero is at (',num2str(real(z3(1))),', ',num2str(imag(z3(1))),')']),'Fontsize',12)
%text(1.6,-0.5,(['another zero at :']));
%text(1.7,-1,(['( ',num2str(real(z3(1))),' , ',num2str(imag(z3(1))),' )']))
hold off
原网站

版权声明
本文为[Master World]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/161/202206101806204821.html