基于matlab模拟多普勒雷达的风力涡轮机

​✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

随着科学技术的发展进步,武器系统受到越来越多的电子干扰威胁,而计算机仿真具有安全,高效,经济等特点,已成为目前及未来雷达与电子对抗领域研究中的重要手段.

⛄ 部分代码

clear all;

% close all;

clc;

% switches of different modules

playAnimation='y';

runChenMethod='n';

runDopplerDelayMethod='n';generateRetuenSignal='y';generateFrames='y';

% if runDopplerDelayMethod==n, then 'generateRetuenSignal' and 'generateFrames'

% do not work.

%% wind turbine parameters

tower1_height=100;tower1_radius=4.5;

tower2_height=30 ;tower2_radius=4;

tower3_height=20 ;tower3_radius=3.5;

nacelle_x=20; nacelle_y=7.5; nacelle_z=8;

nacelle_bias_x=5;nacelle_bias_y=nacelle_y/2;

rotor_radius=4;rotorCneterBeyondTheNacelle=3;

blade_1_height=20;blade_1_radius=2.5;

blade_2_x=20;% 20(typical value)

blade_2_y=5;% 5

blade_2_z=1;% 1

blade_2_rotate=20/180*pi;%20 degree

blade_3_x=20;% 20

blade_3_y=4;% 4

blade_3_z=0.5;%0.5

blade_3_rotate=40/180*pi;%40 degree

blade_4_x=20;% 20

blade_4_y=2;% 2

blade_4_z=0.3;% 0.3

blade_4_rotate=60/180*pi;%60 degree

RotateSpeed=10;% rpm (rounds per min)

ModelParameters=[tower1_height , tower1_radius  , 0 , 0 ;        % bottom of the tower

                 tower2_height , tower2_radius  , 0 , 0 ;        % middle of the tower

                 tower3_height , tower3_radius  , 0 , 0 ;        % top of the tower

                 nacelle_x     , nacelle_y,     nacelle_z ,0 ;  % size of the nacelle

                 nacelle_bias_x, nacelle_bias_y , 0 , 0 ;        % tower Top At The Bottom Of TheNacelle

                 rotor_radius  , rotorCneterBeyondTheNacelle,0 ,0 ;

                 blade_1_height, blade_1_radius ,0 , 0 ;

                 blade_2_x     , blade_2_y      ,blade_2_z , blade_2_rotate;

                 blade_3_x     , blade_3_y      ,blade_3_z , blade_3_rotate;

                 blade_4_x     , blade_4_y      ,blade_4_z , blade_4_rotate;

                 RotateSpeed   , 0 , 0 , 0 ];

ModelParameters(1:7,:)=ModelParameters(1:7,:)/3;

ModelParameters(8:10,1:3)=ModelParameters(8:10,1:3)/3;

%% signal parameters

sample_rate=2.5e9; % samplin Frequency in Hz

startF = 4e9; % start frequency in Hz

endF=4.5e9; % stop frequency in Hz

carrierFrequency = (startF+endF)/2;

BandWidth=endF-startF; % bandwidth in Hz

c=3e8; % speed of light in m/s

Signal_duration=7e-7; % pulse repetition period in s

Pulse_duration=0.2*Signal_duration; % pulse width in s

Pulse_time=0:1/sample_rate:Signal_duration; % short time covering one PRP

% Signal=@(t) 1/sqrt(Pulse_duration)...

%     *RectangleWave(t,Pulse_duration)...

%     .*exp(1i*pi*BandWidth/Pulse_duration*t.^2)...

%     .*exp(1i*startF*2*pi*t);

Signal=@(t) RectangleWave(t,Pulse_duration)...

    .*exp(1i*pi*BandWidth/Pulse_duration*t.^2)...

    .*exp(1i*startF*2*pi*t);

%% long time parameters

startTime=0;

endTime=7;

LongSampleRate=1600;

longTimeParameters=[startTime,endTime,LongSampleRate];

dT=1/LongSampleRate;

%% radar location

radarLocation=[10,-20,2];

%% calculate position data

windTurbine_modelData = WindTurbineModel( ModelParameters,longTimeParameters );

%% play the animation

if playAnimation=='y'

    AXIS=[-12,15,-30,30,-5,85];

    [ animation ] = WindTurbine_animation( windTurbine_modelData,radarLocation,AXIS );

end

%% Chen method

if runChenMethod=='y'

    [ spectrogram,doppler,time ] = ChenMethod_forWindTurbine( windTurbine_modelData,radarLocation,longTimeParameters,carrierFrequency );

end

%% doppler-delay method

if runDopplerDelayMethod=='y'

    shortTimeParameters=[sample_rate,startF,endF,Signal_duration,Pulse_duration,c];

    controlFlag=[generateRetuenSignal,generateFrames];

    [DopplerDelayAnimation,spectrogram2,spectrogram_timeAxis,spectrogram_dopplerAxis,spectrogramCmplx]=Doppler_delayMethod_forWindTurbine...

        ( Signal,shortTimeParameters,longTimeParameters,...

        windTurbine_modelData,radarLocation,controlFlag);

    if (spectrogram2~=0)

        fig=figure('name','spectrum2');

        imagesc(spectrogram_timeAxis,spectrogram_dopplerAxis,fftshift(20*log10(spectrogram2)-max(max(20*log10(spectrogram2))),1));

        colormap('jet');

        colorbar;

        caxis([-45,0]);

        xlabel('time(s)');

        ylabel('doppler(Hz)');

        axis xy;

    end

end

⛄ 运行结果

⛄ 参考文献

[1] 李斌, 王磊, 张少华. 脉冲多普勒雷达Matlab建模与仿真[J]. 光电技术应用, 2020, 35(4):9.

[2] 焦广伦. 脉冲多普勒雷达探测的速度盲区仿真系统[J]. 电子测量技术, 2008, 31(9):4.

[3] 何佳旺魏立明. 基于MATLAB的风力发电模拟实验系统设计[J]. 日用电器, 2021, 000(007):39-42.

⛳️ 代码获取关注我

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

❤️ 关注我领取海量matlab电子书和数学建模资料

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值