zoukankan      html  css  js  c++  java
  • 切比雪夫低副瓣阵列设计 MATLAB

    相控阵天线中,直线阵列作为重要的一种,有着极为广泛的应用。切比雪夫低副瓣阵列设计是一种典型的设计方法。

    切比雪夫方法主要是实现低副瓣、窄波束:

    其产生的核心如下:

    我的理解:因为能量守恒,所有副瓣都一样的时候,能量会更多的集中在副瓣中,

    主瓣最大增益也不会改变,这样就可以使主瓣窄,副瓣电平降低。G=4πS/λ2

    结合切比雪夫函数,可以得到:

     

     

     

     

    当具体应用时,解决方案如下:

     

    话不多说,其Matlab中的程序如下:

    % 2019-11
    % 切比雪夫低副瓣阵列馈电设计_1.0 (端射阵)
    
    close all
    clear all
    digits(3);
    
    % 参数设置
    lamda = 1; % 波长
    d = lamda * 0.6; % d为阵元间距
    theta0 = (120/180)*pi; % 扫描角度
    theta = 0: 0.01 : pi; % Θ为方向角
    u = pi*d*(cos(theta)-cos(theta0))/lamda; 
    %T = Chebyshev; % T为切比雪夫恒等式系数矩阵
    N = 10; % N为直线阵的阵元数量,M为一侧的单元数(对称)
    R0dB = 26; % R0dB为副瓣电平
    
    if (mod(N,2)==0)
    M = N / 2;
    parity = 0; % parity为奇偶性,0为偶数
    else
    M = (N+1)/2;
    parity = 1;
    end
    
    % 导入切比雪夫多项式
    syms x; 
    T = [
    1;
    x;
    2*x^2-1;
    4*x^3-3*x;
    8*x^4-8*x^2+1;
    16*x^5-20*x^3+5*x;
    32*x^6-48*x^4+18*x^2-1;
    64*x^7-112*x^5+56*x^3-7*x;
    128*x^8-256*x^6+160*x^4-32*x^2+1;
    256*x^9-576*x^7+432*x^5-120*x^3+9*x;
    512*x^10-1280*x^8+1120*x^6-400*x^4+50*x^2-1
    ];
    
    
    % 换算副瓣电平R0
    R0 = 10 ^ (R0dB / 20);
    
    % 计算x0
    x0 = ((R0 + sqrt(R0^2 -1))^(1/(N-1)) + (R0 - sqrt(R0^2 -1))^(1/(N-1))) * 1/2;
    
    % 定义馈电幅度矩阵I
    I = sym('I', [1 M]);
    
    % 计算展开的方向图表达式
    S = T(2) * I(1);
    
    for k = 2 : M
    S = S + T(2*k) * I(k);
    end
    
    %collect(S,x)
    %vpa(S)
    
    S_po = coeffs(S,x); % 含电流的方向图多项式系数
    T_po = sym2poly(T(N)); % 标准的方向图多项式系数(反向了)
    T_PO = zeros(1,M); 
    for k = 1 : M
    T_PO(k) = T_po(2*k-1);
    S_po(k) = S_po(k)/x0^(2*k-1);
    end
    % T_PO
    % vpa(S_po)
    
    % 系数比较求出电流大小
    eq = sym('eq',[M 1]); % 系数比较恒等式
    for k = 1 : M
    eq(k) = S_po(k) == T_PO(M+1-k);
    end
    
    vpa(eq)
    I_st = solve(eq);
    I_ce = struct2cell(I_st);
    i = zeros(M,1); % 最终的电流矩阵
    for k = 1 : M
    i(k) = I_ce{k,1};
    i(k) = i(k);
    end
    for k = 2 : M
    i(k) = i(k)/i(1); % 电流归一化
    end
    i(1) = 1; i
    i=[1;0.89;0.706;0.485;0.357]; % 用来检验的数据
    
    % 计算最终的阵因子
    S_all = zeros(1,length(theta));
    for k = 1 : M
    S_all = S_all + i(k)*cos((2*k-1)*u);
    end
    SS = S_all;
    
    % 画图 —— 直角坐标系
    S_max = max(S_all); % 归一化处理
    S_all = 20*log10(abs(S_all/S_max)); % 取分贝值
    figure('NumberTitle', 'off', 'Name', 'S Parameter (dB) - Cartesian');
    theta_ = theta * 180 / pi;
    plot(theta_,S_all,'k','LineWidth',1.5);
    grid off
    xlabel('	heta (°)','FontSize',13);
    ylabel('|S| dB','FontSize',12);
    axis([0 182 -50 2]);
    box on
    
    % 画图 —— 极坐标系
    figure('NumberTitle', 'off', 'Name', 'S Parameter (dB) - Polar');
    S_pol = SS / max(SS);
    polarplot(theta,S_all,'k','LineWidth',1.5);
    thetalim([0 180]);
    rmin = min(S_all);
    rmax = max(S_all);
    rlim([-50 rmax]);
    

      

    上述测试的N=10的10个阵列,侧射阵(θ=0),副瓣电平SLL=26dB,结果如下:

     

     经过比较,结果较为标准。

    更改一下theta0的值,改为120读,即偏离法相30度:

     

     时间不早了,谢谢大家~~~

  • 相关阅读:
    hadoop安装前的准备
    记录一次Qt5程序无法运行的解决过程
    C#里的Thread.Join与Control.Invoke死锁情况
    qbxt7月笔记
    zhxのDP讲
    有n*m的方格图
    最长上升子序列相关问题笔记
    qbxt游记(清北澡堂划水记
    DAZの七下道法(持续更新
    模板
  • 原文地址:https://www.cnblogs.com/olivermahout/p/11784999.html
Copyright © 2011-2022 走看看