本发明属于无线通信,具体是一种基于zynq的波束控制算法实现方法。
背景技术:
1、波束控制算法是一种利用信号处理技术,在传输和接收无线电信号时对主要方向上的功率进行最大化或最小化的算法。其目的是提高通信系统中信号强度及质量,降低能耗和多路径干扰。常见的波束控制算法包括最小均方误差(lms)算法、卡尔曼滤波(kf)算法、最大似然(ml)估计算法等。
2、在相控阵天线技术中,控制芯片(常用fpga)需要完成波束解算算法,根据输入的整机波束指向指令,计算出天线阵列中每个通道的幅度和相位值,并根据计算出的幅度相位值控制相控阵天线幅相芯片,进而形成所需的空间波束。
3、当前常规波束解算算法中的角度预处理、角度修正、坐标系转换、通道幅相遍历计算等过程均用fpga完成所有算法,并且在通道幅相遍历计算过程中需要流水线设计,以发挥fpga并行计算的优势,进而满足波束切换时间要求。
4、例如中国专利,公告号为:cn113259033b,该发明公开了一种基于fpga的动态毫米波通信场景中高速波束控制方法,包括以下步骤:在通信系统的接收端通过全码本扫描进行波束的初始化,建立起初始通信波束;建立波束控制模块与基带处理fpga间的数据通信,用于触发波束跟踪过程并进行波束测量;建立波束训练状态机实现波束跟踪算法模型;通过spi高速串口传输天线控制信息实现波束控制模块对天线的控制;每次波束训练结束后进行波束质量的判断,如果判定为波束选择失败则需要进行波束恢复;波束训练结束后选定最佳传输波束进行数据传输,并等待下一个周期的训练触发信号。本发明通过定义spi高速模式写入协议控制天线,实现了微秒级别的波束切换间隔。
5、但是在实际使用时,由于所有计算过程均在fpga中实现。fpga虽具有并行处理的优势,但仅在“全通道遍历计算”这一步有优势,其他步骤均是一次性过程,无优势;由于fpga的芯片特点和定点计算特点,在完成复杂数学算法运算时,与arm等处理器相比,其开发难度更难,开发周期更长,占用芯片内部资源更多等劣势。
6、而zynq是一款由赛灵思推出的器件系列,它采用了基于armcortex-a9处理器的xilinxfpga架构。这种设计充分结合了高性能的处理和可编程逻辑技术,可以使工程师更加轻松地开发复杂的系统级应用。zynq芯片集成了处理器子系统(ps)和编程逻辑资源(pl),并且具有高速外设接口、存储控制器等功能。zynq的优势在于具有低功耗、高性能、灵活性强、易于使用和低成本等特点,广泛应用于通信、工业控制、汽车电子、视频图像处理等领域。所以本发明提出一种基于zynq的波束控制算法实现方法。
技术实现思路
1、本发明提出了一种基于zynq的波束控制算法实现方法,降低开发难度、缩减开发周期、释放pl硬件资源的同时保证算法实现时间指标。
2、为了实现上述目的,本发明的技术方案如下:一种基于zynq的波束控制算法实现方法,
3、步骤一:将ps的输出端与pl的输入端采用axi接口连接,ps与pl连接形成zynq。
4、步骤二:ps对外部通信指令进行接收并解析和预计算。
5、步骤三:将ps解析的信息通过axi接口传输至pl。
6、步骤四:pl进行遍历计算,并且采用流水线设计。
7、采用上述方案后实现了以下有益效果:主要含义为借助ps和pl之间的axi接口实现两者之间快速、稳定的数据交互,从而实现高效信息处理。
8、具体来说,步骤一中的axi接口连接方式可以使得ps和pl之间的数据传输更加简便可靠;步骤二中,ps可以根据内部算法和外部通信指令解析并处理各类信息,这些信息可以基于axi接口通过对应的总线协议被有效地传递给pl;步骤三中,通过axi接口,pl可以直接获取到ps产生的各项控制信号、计算结果以及状态更新等信息,以此作为自身计算、控制和反馈的参考,提高处理效率和准确度;步骤四中的流水线设计可以实现多阶段并行处理,即将数据分成若干阶段,让每个阶段都独立、并列地执行不同的计算任务,从而进一步提高了整个系统的处理速度和性能表现。
9、本发明的步骤流程可以降低系统延迟,最大限度地提高系统响应速度:可以避免由于数据传输繁琐等原因导致的数据误差和丢失问题;可以利用pl的高计算性能,提高系统的并行处理效率和处理能力。
10、总之,基于zynq的波束控制算法实现方法,可以降低开发难度、缩减开发周期、释放pl硬件资源的同时保证算法实现时间指标。
11、进一步,步骤二中的ps进行的解析为:角度预处理、坐标系转换和角度修正。
12、原理及有益效果:ps对外部通信指令进行角度预处理、坐标系转换和角度修正的解析,其具体原理为,在接收到外部通信指令后,ps首先对数据进行角度预处理,识别出目标物体在原始坐标系中的方位角和俯仰角等关键参数。然后,利用坐标系转换模型将原始数据从传感器产生的运动坐标系转换到固定坐标系或其他需要的坐标系中,以消除运动带来的影响,获得更准确的目标位置信息。最后,利用角度修正算法对目标的方位角和俯仰角等参数进行调整和微调,提高控制信号和数据处理的精度和稳定性。
13、ps的这种预处理和解析方式可以提高数据处理效率与信号分析精度;同时可以缩短数据解析和处理时间,减小计算误差,提高系统性能与稳定性,进而提升装备的可靠性和实用性。
14、进一步,坐标系转换为:
15、s=acosd(cosd(a)*cosd(b));
16、p=atand(tand(b)/sind(a));
17、其中:a为方位角,b为俯仰角;s为离轴角,p为旋转角,d表示括号中a、b的单位为度。
18、原理及有益效果:坐标系转换中,s和p分别为离轴角和旋转角,用于描述从一个直角坐标系到另一个直角坐标系的转换关系。
19、设a和b分别为原始坐标系中的方位角和俯仰角,s和p则为目标坐标系中的离轴角和旋转角。具体来说,s表示目标坐标系相对于原始坐标系沿着离轴方向(即与原始坐标系垂直方向)的旋转角度,而p则表示绕着该轴转动后相对于原始坐标系的旋转角度。
20、这种坐标系的转换方式可以依据具体的数学模型和坐标系的特征对数据进行准确的处理和估算,从而提高传感器控制精度、定位精度和导航精度等重要技术指标;可以缩短数据处理时间,减小计算误差,提高系统性能与稳定性,进而提升装备的可靠性和实用性;可以适应不同物理量之间的变换和转换,方便用户在实际应用中进行量化处理和比较分析,从而发挥更大的应用价值。
21、进一步,角度修正采用二维线性插值。
22、原理及有益效果:角度修正采用二维线性插值,即给定一组角度修正参数(通常包括俯仰角和方位角)的情况下,根据输入的实际俯仰角和方位角对目标点处的修正值进行预测。二维线性插值算法的基本原理是通过双线性插值对四个角度修正参数之间的关系进行估算,并根据目标点周围的控制点位置和权重计算出目标点修正参数的近似值。
23、二维线性插值的优势在于它能够更加精确地估算不同位置上的修正值,并减少由于采样误差和数据不足导致的装备控制精度不高的情况。相比于传统的插值算法,二维线性插值更符合实际物理过程,可以更好地处理接近连续的控制参数,同时还可以在估算过程中对周围数据进行平滑处理,提高了算法的可靠性和稳定性。
24、r_ab=u-floor(u/1.28)*1.28;
25、r_ac=v-floor(v/1.28)*1.28;
26、u_itab=u_b_in*r_ab+u_a_in*(1.28-r_ab);
27、u_itcd=u_d_in*r_ab+u_c_in*(1.28-r_ab);
28、u_it=u_itcd*r_ac+u_itab*(1.28-r_ac);
29、u_out=u_it/1.28/1.28
30、u_fpga=(u_out+u)*1.28
31、v_itab=v_b_in*r_ab+v_a_in*(1.28-r_ab);
32、v_itcd=v_d_in*r_ab+v_c_in*(1.28-r_ab);
33、v_it=v_itcd*r_ac+v_itab*(1.28-r_ac);
34、v_out=v_it/1.28/1.28
35、v_fpga=(v_out+v)*1.28
36、其中u、v为外部指令输入的方位、俯仰角,u_a_in、u_b_in、u_c_in、u_d_in、v_a_in、v_b_in、v_c_in、v_d_in为二维线性插值所需的4对参数。
37、原理二维线性插值的计算方法,主要用于在给定四个控制点的情况下,根据输入的方位角和俯仰角对相邻位置的数值进行估算。具体来说,通过对输入方位角和俯仰角进行归一化和截取处理,将其转换为在1.28×1.28的正方形区域内的坐标r_ab和r_ac。然后根据已知的4对参数进行双线性插值,得到目标点处的近似数值。
38、其中,双线性插值的原理是在确定目标点所在的矩形区域后,对该区域内的四个顶点按照一定的权重进行加权平均,从而得到目标点的近似值。上述计算方法主要应用于图像处理、数值分析等领域,在对局部区域进行变换或估算时非常有用。
39、上述算法可以大幅提高计算速度和效率,并且可以通过调节u_fpga和v_fpga系数来适应不同的应用场景和精度需求;同时还能大幅降低计算成本和能耗,进而实现更加高效的算法实现和应用。
40、进一步,步骤四中的遍历计算为:
41、c(dx,dy)=-2π(dx*sinθ*cosφ+dy*sinθ*sinφ)/λ
42、ux=mux_f*sinθ*cosφ
43、vx=mux_f*sinθ*sinφ
44、mux_f=-(360/c)*f*2^22/128=-1.2*f*2^15
45、其中c为光速=300*10^9mm/s,其中c为光速=300*10^9mm/s,(dx,dy)为天线单元在直角坐标系中的物理坐标值,单位为mm,θ,φ分别为天线球坐标系下的离轴角和旋转角参数,λ为信号波长,f为信号频率,单位为ghz;ux,vx,mux_f三个变量是计算过程的中间变量。
46、原理及有益效果:上述算法是遍历计算的一种实现方式,用于计算在特定方向上接收到或发射的电磁波信号的相位偏移。
47、具体来说,算法通过计算入射信号在两个正交方向上的分量(即dx、dy)的加权和,并根据入射角度进行相位调整,从而得到对应位置的相位偏移值。
48、其中,mux_f是一个常量系数,与频率f有关,其值可以通过给定的参数计算得到。随着频率的变化,mux_f也会相应的变化,进而影响到最终的相位偏移结果。因此,上述算法的好处是可以根据不同的频率设置不同的mux_f值,从而实现对不同频带的天线进行灵活设计和优化。
49、另外,算法中的360/c值与波长λ有关,可以将其理解为单位波长相位偏移量。因此,算法中的分母c表示了光速导致的一个相位增量,其值越大,则单位距离所对应的相位差就越小,因而可以实现更加精细的相位控制和调节,提高接收或发射信号的准确性和灵敏度。
50、进一步,步骤一中ps输入端接口与外部指令接口连接。
51、原理及有益效果:ps输入端接口和外部指令接口连接可以提供更加灵活的控制和操作方式;还可以使得zynq可以轻松地集成到各种应用中,并方便快速地进行功能扩展或性能优化。
52、ps输入端接口可以连接各种输入设备,如usb、以太网、sd卡、hdmi等,并通过arm处理器进行处理和控制。而外部指令接口则可以使用外部硬件模块直接向ps发送指令,从而实现对系统级应用的动态调整和优化,无需重新编程fpga逻辑,这大大提高了开发效率。
53、进一步,步骤一中pl输出端接口与幅相芯片控制接口连接。
54、原理及有益效果:pl输出端接口与幅相芯片控制接口连接可以将fpga逻辑的输出信号与模拟电路进行连接和处理;通过pl输出端接口可以快速完成数字控制信号转换为模拟控制信号的过程,从而提高了系统的响应速度;利用pl的可编程性,可以减少使用额外的模拟控制器等硬件,从而降低系统成本。