阵列信号处理---均匀线阵和均匀加权线阵

均匀线阵

均匀线性阵列(ULA:Uniform Linear Array):有N个阵元位于z轴上且具有均匀间距d。

一般都把阵列的中心放在坐标系的原点。如下图

阵元的位置为

p z n = ( n − N − 1 2 ) d , n = 0 , 1 , … , N − 1 p_{z_n}=\big(n-\frac{N-1}{2}\big)d,n=0,1,…,N-1 pzn=(n2N1)dn=0,1,,N1

p x n = p y n = 0 p_{x_n}=p_{y_n}=0 pxn=pyn=0

则流形矢量 v k ( k ) v_k(k) vk(k)

v k ( k z ) = [ e j ( N − 1 2 ) k z d , e j ( N − 1 2 ) k z d , … , e j ( N − 1 2 ) k z d ] T v_k(k_z)=\big[e^{j(\frac{N-1}{2})}k_zd,e^{j(\frac{N-1}{2})}k_zd,…,e^{j(\frac{N-1}{2})}k_zd\big]^T vk(kz)=[ej(2N1)kzdej(2N1)kzdej(2N1)kzd]T

其中,

k z = − 2 π λ c o s θ k_z=-\frac{2\pi}{\lambda}cos\theta kz=λ2πcosθ

频率-波数响应函数

Υ ( ω , k ) = ω H v k ( k ) = ∑ n = 0 N − 1 ω n ∗ e − j ( n − N − 1 2 ) k z d \pmb{\Upsilon} (\omega,k)=\pmb{\omega} ^H\pmb{v}_{\pmb{k}}(k)=\sum_{n=0}^{N-1}\omega_n^*e^{-j(n-\frac{N-1}{2})k_zd} Υ(ω,k)=ωHvk(k)=n=0N1ωnej(n2N1)kzd

Ψ = − k z d = 2 π λ c o s θ d = 2 π λ u z d \Psi=-k_zd=\frac{2\pi}{\lambda}cos\theta d=\frac{2\pi}{\lambda}u_zd Ψ=kzd=λ2πcosθd=λ2πuzd

u z u_z uz为z轴的方向余弦, u z = c o s θ u_z = cos\theta uz=cosθ

则有,

Υ Ψ ( Ψ ) = e − j N − 1 2 Ψ ∑ n = 0 N − 1 ω n ∗ e − j n Ψ \pmb{\Upsilon}_{\Psi} (\Psi)=e^{-j\frac{N-1}{2}\Psi}\sum_{n=0}^{N-1}\omega_n^*e^{-jn\Psi} ΥΨ(Ψ)=ej2N1Ψn=0N1ωnejnΨ

Υ Ψ ( Ψ ) \pmb{\Upsilon}_{\Psi} (\Psi) ΥΨ(Ψ)为在 Ψ \Psi Ψ空间的频率-波束响应函数。

仅在区域 0 ≤ θ ≤ π 0 \le \theta \le \pi 0θπ − 1 ≤ u z ≤ 1 -1 \le u_z \le 1 1uz1代表传播的信号,因此可视区域为 − 2 π d λ ≤ Ψ ≤ 2 π d λ -\frac{2\pi d}{\lambda}\le \Psi \le \frac{2\pi d}{\lambda} λ2πdΨλ2πd − 2 π λ ≤ k z ≤ 2 π λ -\frac{2\pi }{\lambda}\le k_z \le \frac{2\pi }{\lambda} λ2πkzλ2π

定义

z = e j Ψ z=e^{j\Psi} z=ejΨ

则有

Υ z ( z ) = z − N − 1 2 ∑ n = 0 N − 1 ω n ∗ z n \pmb{\Upsilon}_z (z)=z^{-\frac{N-1}{2}}\sum_{n=0}^{N-1}\omega_n^*z^n Υz(z)=z2N1n=0N1ωnzn

θ \theta θ u u u空间下的阵列流形矢量如下:

[ v θ ( θ ) ] n = e j ( n − N − 1 2 ) 2 π d λ c o s θ , n = 0 , … , N − 1 [v_{\theta}(\theta)]_n=e^{j(n-\frac{N-1}{2})\frac{2\pi d}{\lambda}cos \theta},n=0,…,N-1 [vθ(θ)]n=ej(n2N1)λ2πdcosθn=0N1

[ v u ( u ) ] n = e j ( n − N − 1 2 ) 2 π d λ u , n = 0 , … , N − 1 [v_{u}(u)]_n=e^{j(n-\frac{N-1}{2})\frac{2\pi d}{\lambda}u},n=0,…,N-1 [vu(u)]n=ej(n2N1)λ2πdun=0N1

分别在三种不同的空间 θ 、 u 、 Ψ \theta、u、\Psi θuΨ下对应的波束方向图

B θ ( θ ) = ω H v θ ( θ ) = e − j ( N − 1 2 ) 2 π d λ c o s θ ∑ n = 0 N − 1 ω n ∗ e j n 2 π d λ c o s θ , 0 ≤ θ ≤ π B_\theta(\theta)=\omega ^H v_\theta(\theta)=e^{-j(\frac{N-1}{2})\frac{2\pi d}{\lambda}cos\theta}\sum_{n=0}^{N-1}\omega_n^*e^{jn\frac{2\pi d}{\lambda}cos\theta},0\le \theta \le \pi Bθ(θ)=ωHvθ(θ)=ej(2N1)λ2πdcosθn=0N1ωnejnλ2πdcosθ0θπ

B u ( u ) = ω H v u ( u ) = e − j ( N − 1 2 ) 2 π d λ u ∑ n = 0 N − 1 ω n ∗ e j n 2 π d λ u , − 1 ≤ u ≤ 1 B_u(u)=\omega ^H v_u(u)=e^{-j(\frac{N-1}{2})\frac{2\pi d}{\lambda}u}\sum_{n=0}^{N-1}\omega_n^*e^{jn\frac{2\pi d}{\lambda}u},-1\le u \le 1 Bu(u)=ωHvu(u)=ej(2N1)λ2πdun=0N1ωnejnλ2πdu1u1

B Ψ ( Ψ ) = ω H v Ψ ( Ψ ) = e − j ( N − 1 2 ) Ψ ∑ n = 0 N − 1 ω n ∗ e j n Ψ , − 2 π d λ ≤ Ψ ≤ 2 π d λ B_\Psi(\Psi)=\omega ^H v_\Psi(\Psi)=e^{-j(\frac{N-1}{2})\Psi}\sum_{n=0}^{N-1}\omega_n^*e^{jn\Psi},-\frac{2\pi d}{\lambda}\le \Psi \le \frac{2\pi d}{\lambda} BΨ(Ψ)=ωHvΨ(Ψ)=ej(2N1)Ψn=0N1ωnejnΨλ2πdΨλ2πd

对于均匀线阵,通常用 Ψ \Psi Ψ来表示阵列流形,

v Ψ ( Ψ ) = [ e − j ( N − 1 2 ) Ψ , e − j ( N − 3 2 ) Ψ , … , e j ( N − 3 2 ) Ψ , e j ( N − 1 2 ) Ψ ] v_\Psi(\Psi)=\big[e^{-j(\frac{N-1}{2})\Psi},e^{-j(\frac{N-3}{2})\Psi},…,e^{j(\frac{N-3}{2})\Psi},e^{j(\frac{N-1}{2})\Psi}\big] vΨ(Ψ)=[ej(2N1)Ψej(2N3)Ψej(2N3)Ψej(2N1)Ψ]

可以看到均匀阵列流形矢量具有共轭对称性,也可以写为如下形式:

v Ψ ( Ψ ) = e − j ( N − 1 2 ) Ψ [ 1 , e − j Ψ , … , e j ( N − 1 ) Ψ ] v_\Psi(\Psi)=e^{-j(\frac{N-1}{2})\Psi}\big[1,e^{-j\Psi},…,e^{j(N-1)\Psi}\big] vΨ(Ψ)=ej(2N1)Ψ[1ejΨej(N1)Ψ]

均匀加权线阵

考虑均匀加权的情况,此时

ω = 1 N 1 \omega=\frac{1}{N}\pmb{1} ω=N11

1 \pmb{1} 1 N ∗ 1 N*1 N1的单位向量

则在 Υ \pmb{\Upsilon} Υ空间的频率-波束函数如下

Υ Ψ ( Ψ ) = 1 N e − j N − 1 2 Ψ ∑ n = 0 N − 1 e − j n Ψ = 1 N e − j N − 1 2 Ψ [ 1 − e j N Ψ 1 − e j Ψ ] \pmb{\Upsilon}_{\Psi} (\Psi)=\frac{1}{N}e^{-j\frac{N-1}{2}\Psi}\sum_{n=0}^{N-1}e^{-jn\Psi}=\frac{1}{N}e^{-j\frac{N-1}{2}\Psi}\big[\frac{1-e^{jN\Psi}}{1-e^{j\Psi}}\big] ΥΨ(Ψ)=N1ej2N1Ψn=0N1ejnΨ=N1ej2N1Ψ[1ejΨ1ejNΨ]

或者

Υ Ψ ( Ψ ) = 1 N s i n ( N Ψ 2 ) s i n ( Ψ 2 ) , − ∞ < Ψ < ∞ \pmb{\Upsilon}_{\Psi} (\Psi)=\frac{1}{N}\frac{sin(N\frac{\Psi}{2})}{sin(\frac{\Psi}{2})},-\infty < \Psi < \infty ΥΨ(Ψ)=N1sin(2Ψ)sin(N2Ψ)<Ψ<

N N N为奇数时, Υ Ψ ( Ψ ) \pmb{\Upsilon}_{\Psi} (\Psi) ΥΨ(Ψ)是周期函数,周期为 2 π 2\pi 2π。如果 N N N为偶数时,波瓣在 − + 2 π 、 − + 6 π ^+_-2\pi、^+_-6\pi +2π+6π处的值为负值,周期为 4 π 4\pi 4π。对于任意的N值, ∣ Υ Ψ ( Ψ ) ∣ |\pmb{\Upsilon}_{\Psi} (\Psi)| ΥΨ(Ψ)的周期为 2 π 2\pi 2π

频率-波束函数在dB下的表示为:

Υ d B ( Ψ ) = 10 l o g 10 ∣ Υ Ψ ( Ψ ) ∣ 2 \pmb{\Upsilon}_{dB} (\Psi) = 10log_{10}|\pmb{\Upsilon}_{\Psi} (\Psi)|^2 ΥdB(Ψ)=10log10ΥΨ(Ψ)2

仿真:

N = 11 N=11 N=11时,单个周期 θ ∈ ( − π , 0 ) \theta \in (-\pi,0) θ(π,0)内,则 Ψ ∈ [ − 2 π d λ , 2 π d λ ] \Psi \in \big[-2\pi\frac{d}{\lambda},2\pi\frac{d}{\lambda}] Ψ[2πλd,2πλd]空间下的频率-波束响应函数图,阵元间距 d d d为半波长

仿真结果如下:

代码如下:

c = 3e8;
f0 = 77e9;
lambda = c / f0;
d = lambda / 2; %阵元间距为半波长

N = 11; %阵元个数
theta = -pi:0.0001:0; %theta域的可视区域为[-pi,0]
Uz = cos(theta); %u域的可视区域为[-1,1]

Psi = 2*pi*d*Uz/lambda; %Psi域的可视区域为[-2*pi*d/lambda,2*pi*d/lambda]
Upsilon = 1/N * sin(N*Psi/2) ./ sin(Psi/2); %Psi空间的频率-波束响应
Upsilon_dB = 10*log10(abs(Upsilon).^2); %db
figure('color','w');
subplot(121)
plot(Psi/pi,Upsilon);xlabel('\Psi/pi');ylabel('频率-波束响应函数');
title('单个周期频率-波束响应函数');
subplot(122)
plot(Psi/pi,Upsilon_dB);xlabel('\Psi/pi');ylabel('频率-波束响应函数(dB)');
title('单个周期频率-波束响应函数(dB)');ylim([-25,0]);

分别在 N = 10 N=10 N=10 N = 11 N=11 N=11下仿真,得到 Ψ ∈ [ − 10 π d λ , 10 π d λ ] \Psi \in \big[-10\pi\frac{d}{\lambda},10\pi\frac{d}{\lambda}] Ψ[10πλd,10πλd]空间下的频率-波束响应函数图,阵元间距 d d d为半波长

仿真结果如下:

代码如下:

c = 3e8;
f0 = 77e9;
lambda = c / f0;
d = lambda / 2;

N = [10,11]; %阵元个数
Psi = -10*pi*d/lambda:0.0001:10*pi*d/lambda; %Psi域的可视区域为[-2*pi*d/lambda,2*pi*d/lambda],对可视区域周期化
figure('color','w');
for i = 1:1:length(N)
    Upsilon = 1/N(i) * sin(N(i)*Psi/2) ./ sin(Psi/2); %Psi空间的频率-波束响应
    Upsilon_dB = 10*log10(abs(Upsilon).^2); %db
    subplot(2,2,i);
    plot(Psi/pi,Upsilon);xlabel('\Psi/pi');ylabel('频率-波束响应函数');
    title(['阵元数为',num2str(N(i)),'的频率-波束响应函数']);
    subplot(2,2,i+2)
    plot(Psi/pi,Upsilon_dB);xlabel('\Psi/pi');ylabel('频率-波束响应函数(dB)');
    title(['阵元数为',num2str(N(i)),'的频率-波束响应函数(dB)']);ylim([-25,0]);
end

k z k_z kz来表示频率-波数响应:

Υ ( ω : k z ) = 1 N s i n ( N k z d 2 ) s i n ( k z d 2 ) , − ∞ < Ψ < ∞ \pmb{\Upsilon} (\omega : k_z)=\frac{1}{N}\frac{sin(Nk_z\frac{d}{2})}{sin(k_z\frac{d}{2})},-\infty < \Psi < \infty Υ(ω:kz)=N1sin(kz2d)sin(Nkz2d)<Ψ<

Υ ( ω : k z ) \pmb{\Upsilon} (\omega : k_z) Υ(ω:kz)是周期函数,周期为 2 π / d 2\pi/d 2π/d

在三种不同的空间 θ 、 u 、 Ψ \theta、u、\Psi θuΨ下对应的波束方向图

B θ ( θ ) = 1 N s i n ( N 2 2 π λ c o s θ d ) s i n ( 1 2 2 π λ c o s θ d ) , 0 ≤ θ ≤ π B_\theta(\theta)=\frac{1}{N}\frac{sin(\frac{N}{2}\frac{2\pi}{\lambda}cos\theta d)}{sin(\frac{1}{2}\frac{2\pi}{\lambda}cos\theta d)},0\le \theta \le \pi Bθ(θ)=N1sin(21λ2πcosθd)sin(2Nλ2πcosθd)0θπ

B u ( u ) = = 1 N s i n ( π N d λ u ) s i n ( π d λ u ) , − 1 ≤ u ≤ 1 B_u(u)==\frac{1}{N}\frac{sin(\frac{\pi N d}{\lambda} u)}{sin(\frac{\pi d}{\lambda} u)},-1\le u \le 1 Bu(u)==N1sin(λπdu)sin(λπNdu)1u1

B Ψ ( Ψ ) = 1 N s i n ( N Ψ 2 ) s i n ( Ψ 2 ) , − 2 π d λ ≤ Ψ ≤ 2 π d λ B_\Psi(\Psi)=\frac{1}{N}\frac{sin(N\frac{\Psi}{2})}{sin(\frac{\Psi}{2})},-\frac{2\pi d}{\lambda}\le \Psi \le \frac{2\pi d}{\lambda} BΨ(Ψ)=N1sin(2Ψ)sin(N2Ψ)λ2πdΨλ2πd

θ \theta θ空间下,绘制极坐标系下的波束方向图

仿真结果如下:

c = 3e8;
f0 = 77e9;
lambda = c / f0;
d = lambda / 2; %阵元间距为半波长

N = 11; %阵元个数
theta = -pi:0.0001:pi; %theta域的可视区域为[-pi,0]

B_theta = 1/N * sin(N/2*2*pi/lambda*cos(theta)*d) ./ sin(1/2*2*pi/lambda*cos(theta)*d); %theta空间的频率-波束响应
B_theta_dB = 10*log10(abs(B_theta)); %db
B_theta_dB(B_theta_dB<-35) = -35; %将小于35db的置为35db
figure('color','w');
polarplot(theta,B_theta_dB);
pax = gca;pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'left';
rlim([-35 0])
title('\theta空间极坐标波束方向图');

分别在空间 k z 、 Υ 、 u 、 θ k_z、\Upsilon、u、\theta kzΥuθ下,绘制频率波束响应函数

仿真如下:

代码如下:

c = 3e8;
f0 = 77e9;
lambda = c / f0;
d = lambda / 2; %阵元间距为半波长

N = 10; %阵元个数
%theta、kz、Upsilon、u、空间下绘制波束方向图
figure('color','w');
% theta空间
theta = -pi:0.001:pi; %theta域
B_theta = 1/N * sin(N/2*2*pi/lambda*cos(theta)*d) ./ sin(1/2*2*pi/lambda*cos(theta)*d); %theta空间的频率-波束响应
subplot(4,1,1)
plot(theta,abs(B_theta));
title('\theta空间波束方向图');
xlim([-pi,pi]);ylim([0,1])
set(gca, 'XTick', [-pi -pi/2 0 pi/2 pi])
set(gca,'xtickLabel',{180, 90, 0 -90 -180})

% u空间
u = -1:0.001:3; %u域 u = cos(theta)
B_u = 1/N * sin(N/2*2*pi/lambda*u*d) ./ sin(1/2*2*pi/lambda*u*d); %u空间的频率-波束响应
subplot(4,1,2)
plot(u,abs(B_u));
title('u空间波束方向图');
xlim([-1,3]);ylim([0,1])
set(gca, 'XTick', [-1 0 1 2 3])

% kz域 kz=2*pi/lambda*u
kz = 2*pi/lambda*u;
B_kz = 1/N * sin(N/2*kz*d) ./ sin(1/2*kz*d); %kz空间的频率-波束响应
subplot(4,1,3)
plot(kz*lambda/2,abs(B_kz)); 
title('kz空间波束方向图');
xlim([-pi,3*pi]);ylim([0,1])
set(gca, 'XTick', [-pi 0 pi 2*pi 3*pi]) 
set(gca,'xtickLabel',{'-π/d',0,'π/d','2π/d','3π/d'})
% Psi域 Psi = kz*d
Psi = kz * d;
B_psi = 1/N * sin(N/2*Psi) ./ sin(1/2*Psi); %Psi空间的频率-波束响应
subplot(4,1,4)
plot(Psi,abs(B_psi)); 
title('\Psi空间波束方向图');
xlim([-pi,3*pi]);ylim([0,1])
set(gca, 'XTick', [-pi 0 pi 2*pi 3*pi]) 
set(gca,'xtickLabel',{'-π',0,'π','2π','3π'})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/214000.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hdoop学习笔记(HDP)-Part.08 部署Ambari集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

unity学习笔记17

一、动画组件 Animation Animation组件是一种更传统的动画系统&#xff0c;它使用关键帧动画。你可以通过手动录制物体在时间轴上的变换来创建动画。 一些重要的属性&#xff1a; 1. 动画&#xff08;Animation&#xff09;&#xff1a; 类型&#xff1a; Animation组件允许…

冗余链路和生成树协议

文章目录 冗余链路生成树协议 冗余链路 背景&#xff1a;在许多交换机或者交换机设备组成的网络环境中&#xff0c;通常都使用一些备份连接&#xff0c;来提高网络的健全。在金融网中A和B之间不止一条线路&#xff0c;保证网络的安全性能。备份连接也叫做冗余链路 冗余链路带…

7.24 SpringBoot项目实战【审核评论】

文章目录 前言一、编写控制器二、编写服务层三、Postman测试前言 我们在 上文 7.23 已经实现了 评论 功能,本文我们继续SpringBoot项目实战 审核评论 功能。逻辑如下: 一是判断管理员权限,关于角色权限校验 在 7.5 和 7.6 分别基于 拦截器Interceptor 和 切面AOP 都实现过…

还搞不懂什么是参数,超参数吗?三分钟快速了解参数与超参数的概念和区别!!!

文章目录 前言一、参数是什么&#xff1f;二、超参数是什么三&#xff0c;常使用的超参数有哪些 前言 参数是模型中可被学习和调整的参数&#xff0c;通过训练数据进行学习和优化&#xff1b; 而超参数则是手动设置的参数&#xff0c;用于控制模型的行为和性能&#xff0c;超…

【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现

目录 Ⅰ. 实践说明 0x00 计数器(Counter) 0x01 异步计数器(Asynchronous Counter)

Spring MVC数据绑定的几种方法(一)

这篇文章包含spring mvc的默认数据类型绑定和简单数据类型绑定。内容来自实验。 准备&#xff1a; &#xff08;1&#xff09;在IDEA环境中从archetye创建webapp类型的maven项目exp6。 &#xff08;2&#xff09;在src\main目录下创建并标注java源代码文件夹和resources资源文…

AGI智能新时代,大模型为软件开发带来范式变革

导语 | 人工智能作为新一轮科技革命和产业变革的重要驱动力量&#xff0c;尤其是在当下新一轮 AI 大模型、生成式 AI 浪潮背景下&#xff0c;重视通用人工智能&#xff08;AGI&#xff09;成为行业的共识。在当前&#xff0c; AGI 技术背后的逻辑究竟是怎样的&#xff1f;技术创…

uni-app一些目录结构、方法、生命周期、打包、微信小程序登录与支付

1、关于uniapp的目录结构 跟普通vue项目目录结构差不多&#xff0c;多了几个核心文件&#xff0c;manifest.json是配置应用名称、appid、logo、版本等打包信息用的&#xff0c;pages.json的作用是配置页面路径、页面窗口样式、tabBar、navigationBar等页面类信息 2、页面适配方…

Shell循环:expect(一)

一、名词解释&#xff1a; 我们通过Shell可以实现简单的控制流功能&#xff0c;如&#xff1a;循环、判断等。但是对于需要交互的场合则必须通过人工来干预&#xff0c;有时候我们可能会需要实现和交互程序如ssh服务器等进行交互的功能。而Expect就使用来实现这种功能的工具。E…

Wireshark 协议插件Lua开发 -数据包内嵌协议的解释

概述 因为公司项目涉及的协议打包&#xff0c;协议包内又嵌了一层IP包的奇葩套娃结构&#xff0c;为了方便抓包调试&#xff0c;利用Wireshark的协议插件开发功能&#xff0c;写了一个插件&#xff0c;博文记录以备忘。 环境信息 Wireshark 4.0.3 协议结构体套娃图 插件安装…

openEuler学习04-ssl升级到openssl-1.1.1w

当前环境ssl的版本是 1.1.1f &#xff0c;计划升级到openssl-1.1.1w [roottest ~]# more /etc/os-release NAME"openEuler" VERSION"20.03 (LTS-SP3)" ID"openEuler" VERSION_ID"20.03" PRETTY_NAME"openEuler 20.03 (LTS-SP3)&q…

带头双向循环链表:一种高效的数据结构

&#x1f493; 博客主页&#xff1a;江池俊的博客⏩ 收录专栏&#xff1a;数据结构探索&#x1f449;专栏推荐&#xff1a;✅cpolar ✅C语言进阶之路&#x1f4bb;代码仓库&#xff1a;江池俊的代码仓库&#x1f525;编译环境&#xff1a;Visual Studio 2022&#x1f389;欢迎大…

qt-C++笔记之addItem(), addWidget(), addLayout()

qt-C笔记之addItem(), addWidget(), addLayout() code review! 文章目录 qt-C笔记之addItem(), addWidget(), addLayout()0.《官方文档》相关示例截图1.ChatGPT解释2.《Qt 5.12实战》相关示例截图《Qt 5.12实战》&#xff1a;5.6 组合框 3.addWidget()4.addWidget()和addChil…

抓取检测(Grasp Dection)

抓取检测 抓取检测被定义为能够识别任何给定图像中物体的抓取点或抓取姿势。抓取策略应确保对新物体的稳定性、任务兼容性和适应性&#xff0c;抓取质量可通过物体上接触点的位置和手的配置来测量。为了掌握一个新的对象&#xff0c;完成以下任务&#xff0c;有分析方法和经验…

基于SSM的职业高中智慧作业试题系统设计

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;JSP 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 一、…

绘制彩色正多边形-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第10讲。 绘制彩色正多边形…

Golang语言基础之切片

概述 数组的长度是固定的并且数组长度属于类型的一部分&#xff0c;所以数组有很多的局限性 func arraySum(x [3]int) int{sum : 0for _, v : range x{sum sum v}return sum } 这个求和函数只能接受 [3]int 类型&#xff0c;其他的都不支持。 切片 切片&#xff08;Slic…

一文彻底弄懂动态规划【DP】

动态规划是一种重要的算法&#xff0c;它能解决很多看似复杂的问题&#xff0c;关键在于找到问题的子问题结构&#xff0c;并根据子问题的解决方式来解决原问题。首先要了解的是动态规划的基本思想&#xff1a; 动态规划的基本思想是&#xff1a;将一个复杂的问题分解为一系列…

Qt将打印信息输出到文件

将打印信息&#xff08;qDebug、qInfo、qWarning、qCritial等&#xff09;输出到指定文件来以实现简单的日志功能。 #include "mainwindow.h" #include <QApplication> #include <QLoggingCategory> #include <QMutex> #include <QDateTime>…
最新文章