• 【雷达通信】Matlab实现广义自适应多项式窗函数


    1 内容介绍

    我们提出了一种新的方法来设计和优化基于线性独立函数组合的窗口函数。这些组合可以使用不同的策略来执行,例如正弦/余弦之和、级数,或者方便地使用多项式展开。为了证明这种实现的灵活性,我们提出了广义自适应多项式 (GAP) 窗口函数,这是一种非线性多项式形式,其中所有当前窗口函数都可以被视为特殊情况。它的功能灵活性允许拟合扩展系数以优化时域或频域中的某些理想属性,例如主瓣宽度、旁瓣衰减和旁瓣衰减率。窗口优化可以通过迭代技术来执行,从一组模拟当前已知窗口函数的扩展系数开始,并考虑某个品质因数目标来优化这些系数。建议的 GAP 窗口已经实现,并获得了几组优化的系数。使用 GAP 的结果例证了该方法根据特定应用的要求获得具有优越性能的窗口函数的潜力。可以在该策略中应用其他优化算法以进一步改进窗口函数。使用 GAP 的结果例证了该方法根据特定应用的要求获得具有优越性能的窗口函数的潜力。可以在该策略中应用其他优化算法以进一步改进窗口函数。使用 GAP 的结果例证了该方法根据特定应用的要求获得具有优越性能的窗口函数的潜力。可以在该策略中应用其他优化算法以进一步改进窗口函数。

    2 仿真代码

    %   GAP  Generalized Adaptive Polynomial Window Function

    %

    %   M        (input)   order 

    %   w        (output)  returns an M-point GAP window.

    %   

    %   Authors: J.F. Justo, W. Beccaro

    %   Data:   2020

    %   IEEE Access 8, 187584 (2020).  DOI: 10.1109/ACCESS.2020.3030903

    %   J. F. Justo and W. Beccaro, "Generalized Adaptive Polynomial Window Function," 

    %   in IEEE Access, vol. 8, pp. 187584-187589, 2020, doi: 10.1109/ACCESS.2020.3030903.

    %

    clear all; clc; warning ('off','all');

    %% Initial conditions

    % Create a 64-point window. 

    M = 64;

    N = (0:1/(M-1):1)';

    %% GAP Algorithm mimic window functions

    % Computes a window function using traditional algorithm, e.g. nuttallwin()

    win_function_matlab = nuttallwin(M);

    % win_function_matlab = hann(M); % To mimic Hann window

    % win_function_matlab = tukeywin(M); % To mimic Tukey window

    % win_function_matlab = hamming(M); % % To mimic Hamming window

    % Display the result using wvtool

    wvtool(win_function_matlab);  

    % Fit Polynomial curve

    [xData, yData] = prepareCurveData(N, win_function_matlab);

    ft = fittype( '1 + a2*(x)^2 + a4*(x)^4 + a6*(x)^6 + a8*(x)^8 + a10*(x)^10 + a12*(x)^12 + a14*(x)^14 + a16*(x)^16 + a18*(x)^18  + a20*(x)^20', ...

    'independent', 'x', 'dependent', 'y' );

    opts = fitoptions( 'Normalize', 'on' );

    % Fit GAP model to data.

    [fitresult, gof] = fit(xData, yData, ft, opts);

    GAP_win_function = fitresult(N);

    % Display the result using wvtool to demonstrate how GAP can mimic window functions.

    wvtool(GAP_win_function);  

    %% Optimization traditional window functions using GAP algorithm  

    % Initial values of polynomial window previously calculated 

    GAP_coef = [fitresult.a2,fitresult.a4,fitresult.a6,fitresult.a8,fitresult.a10,...

        fitresult.a12,fitresult.a14,fitresult.a16,fitresult.a18, fitresult.a20];

    % Optimization using derivative-free method

    options = optimset('PlotFcns',{@optimplotfval});

    GAP_optimized_coef = fminsearch(@sidelobe_attenuation, [GAP_coef, M], options);

    % Display the result using wvtool to demonstrate GAP optimized window functions.

    GAP_optimized_win_function = gapwin('user', M, GAP_optimized_coef);

    wvtool(GAP_optimized_win_function);  ​

    3 运行结果

    4 参考文献

    [1] Justo, J. F. , and  W. Beccaro . "Generalized Adaptive Polynomial Window Function." IEEE Access 8(2020):187584-187589.

    博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

    部分理论引用网络文献,若有侵权联系博主删除。

     

  • 相关阅读:
    大数据与云计算——让我们进入数字化的新纪元
    LeetCode 面试题 03.04. 化栈为队
    HBase原理深入
    wsl2安装fsl
    CPDA|对招聘HR来说,会数据分析有多香?
    【C++ 科学计算】C++ 计算总平方和、残差平方和
    php中mcrypt_encrypt升级到openssl_encrypt
    java计算机毕业设计ssm智能水务管理系统
    Ubuntu22.04.1 LTS系统上实现KVM虚拟机显卡直通(AMD/NVIDIA+板载显卡)
    五种最流行的DNS攻击及防御对策
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126441945