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

news2025/1/16 16:11:21

均匀线阵

均匀线性阵列(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.coloradmin.cn/o/1281040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UCore-OS实验Lab0

实验内容&#xff1a;搭建ucore-os的实验环境 实验准备内容&#xff1a;vmware虚拟机&#xff0c;ubuntu22.04镜像&#xff0c;qemu7.0.0源码 ucore代码地址 GitHub - chyyuu/os_kernel_lab at x86-32 实验步骤&#xff1a; 在vmware中安装ubuntu&#xff0c;因为我个人喜欢…

如何保持高能量

精力管理 精力管理对于平衡多项任务和保持热情至关重要。 通过自我积极反馈循环系统培养积极的内心声音。 培养仪式和习惯来控制内心的声音并保持能量。 学习语言带来正能量和宝贵的技能 保持高能量需要自我赋权和体力充电。 经常锻炼有很多好处&#xff0c;包括改善健康…

作业飞翔的鸟

首先创建一个新的Java项目命名为“飞翔的鸟”&#xff0c;并在src中创建一个包命名为“com.qiku.bird"&#xff0c;在这个包内分别创建4个类命名为“Bird”、“BirdGame”、“Column”、“Ground”&#xff0c;并向需要的图片素材导入到包内。 package com.qiku.bird;impo…

[ Linux Audio 篇 ] 音频开发入门基础知识

在短视频兴起的背景下&#xff0c;音视频开发越来越受到重视。接下来将为大家介绍音频开发者入门知识&#xff0c;帮助读者快速了解这个领域。 轻柔的音乐、程序员有节奏感的键盘声、嗡嗡的发动机、刺耳的手提钻……这些声音是如何产生的呢&#xff1f;又是如何传到我们耳中的…

基于Java SSM框架+Vue实现旅游资源网站项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架Vue实现旅游资源网站演示 摘要 本论文主要论述了如何使用JAVA语言开发一个旅游资源网站 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述旅游…

IP数据报首部检验和计算方法

图源&#xff1a;360百科 计算首部检验和的步骤&#xff1a;&#xff08;用二进制计算&#xff09; 将IP数据报的首部按照每16位&#xff08;2个字节&#xff09;一组进行分组&#xff0c;这样固定首部能够得到9个这样的16位二进制数&#xff1a; 版本首部长度区分服务&#…

JVM之内存区域(二)

JVM内存区域 JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA 堆、方法区】、直接内存。 线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束 而 创建/销毁(在 Hotspot VM 内, 每个线程都与操作系统的本地线程直接映射…

Python必备工具shelve与dbm全面解析!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 当涉及存储大量数据并且需要高效访问时&#xff0c;Python开发人员常常寻找适当的工具。shelve和dbm模块是Python中用于本地持久化存储数据的两个强大工具。它们允许开发人员以键值对的形式存储数据&#xff0c;…

vue发送请求携带token,拼接url地址下载文件

封装请求 &#xff0c;该请求为普通的get请求 该请求返回值为&#xff1a; 请求成功之后拼接URL地址下载文件 代码块 downTemplateRequest(activeKeys.value).then((res) > {let url http://47.169.168.99:18888/media/${res.data.name};var elink document.createElemen…

vscode问题:此扩展在此工作区中被禁用,因为其被定义为在远程扩展主机中运行

mac按shiftcommandp windows按ctrlshiftP&#xff1a; 将当前项目文件夹添加进去就ok了。

ADC欠采样以及应用案例

欠采样与其优劣 ADC&#xff08;Analog-to-Digital Converter&#xff09;的欠采样是指在信号的采样过程中&#xff0c;采样频率低于被采样信号的最高频率的情况。这意味着采样率不足以捕捉到信号的完整信息&#xff0c;而是以较低的频率对信号进行采样。 欠采样在某些特定情…

python之pyqt专栏11-事件(QEvent)

QApplication.exec() 在main.py中&#xff0c;实例化app对象&#xff0c;然后在 sys.exit(app.exec())中调用app.exec()&#xff0c; if __name__ __main__:# 实例化应用app QApplication(sys.argv)# 实例化MyMainFormmyw MyMainForm()myw.show()# 启动应用程序的事件循环并…

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

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

c语言-归并排序

目录 1、归并排序基本思想 2、归并排序的实现&#xff08;递归法&#xff09; 2.1 代码实现递归法归并排序 3、归并排序的实现&#xff08;非递归法&#xff09; 3.1 修正边界问题 3.2 代码实现非递归法归并排序 结语&#xff1a; 前言&#xff1a; 归并排序是一种把数…

go并发编程(中)

目录 一、并发安全性 1.1 变量并发安全性 1.2 容器并发安全性 二、多路复用 三、协程常见的面试题 3.1交替打印奇数偶数 一、并发安全性 1.1 变量并发安全性 这个和C中并发安全是一样的&#xff0c;主要是多个线程对临界资源的同时访问&#xff0c;最经典的就是 n操作…

MQ - 消息系统

消息系统 1、消息系统的演变 在大型系统中&#xff0c;会需要和很多子系统做交互&#xff0c;也需要消息传递&#xff0c;在诸如此类系统中&#xff0c;你会找到源系统&#xff08;消息发送方&#xff09;和 目的系统&#xff08;消息接收方&#xff09;。为了在这样的消息系…

Java 连接数据库

数据库&#xff1a;存储数据&#xff08;集中管理&#xff09; 目的&#xff1a; 文件中的数据能够放在数据库中集中管理 管理方法&#xff1a;一个项目一个库&#xff0c;每个库中包含最小化数据的表 开发&#xff1a; 节省存储空间&#xff0c;节省运行空间&#xff0c;采…

【富文本编辑器】原生JS使用WangEditor和vue上传图片前后端demo

【富文本编辑器】原生JS使用WangEditor上传图片前后端demo 第一步 HTML 第二步 初始化WangEditor与图片上传回调函数 第三步 后端返回数据体封装 第四步 后端接口上传图片&#xff0c;并返回图片地址 最近&#xff0c;我遇到了这样一个问题&#xff1a;因为我们的项目是基于…

SDGAN:一种用于低剂量CT图像重建的新型空间可变形生成对抗性网络

SDGAN: A novel spatial deformable generative adversarial network for low-dose CT image reconstruction SDGAN&#xff1a;一种用于低剂量CT图像重建的新型空间可变形生成对抗性网络背景贡献实验方法The conformer-based generatorThe dual-scale discriminatorThe spatia…

C/S与B/S的区别

B/S与C/S理解 C/S结构B/S结构问题数据放在服务器端与客户端的利弊 C/S结构 客户端&#xff1a;用户安装的软件 服务端&#xff1a;统一管理数据库的主机中的软件 叫做服务端。 B/S结构 用户通过浏览器实现&#xff08;往往表示业务逻辑在前端进行实现&#xff0c;主要业务逻…