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

简介: 基于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电子书和数学建模资料


相关文章
|
2月前
|
机器学习/深度学习 编解码 算法
【雷达通信】智能超表面(RIS)辅助双功能雷达和通信波束形成设计(Matlab代码实现)
【雷达通信】智能超表面(RIS)辅助双功能雷达和通信波束形成设计(Matlab代码实现)
111 0
|
2月前
|
机器学习/深度学习 编解码 算法
对三种雷达信号调制类型的识别及MATLAB实现
对三种雷达信号调制类型的识别及MATLAB实现
|
3月前
|
数据可视化 Serverless 计算机视觉
合成孔径雷达,非线性调频信号的MATLAB程序,NLFM信号
合成孔径雷达,非线性调频信号的MATLAB程序,NLFM信号
66 0
|
4月前
|
算法 5G 数据安全/隐私保护
基于FD-MIMO技术的雷达通信一体化系统波形设计matlab模拟与仿真
本项目研究基于FD-MIMO雷达的波形设计与优化,旨在提升雷达检测性能和通信传输能力。通过遗传算法优化波束成形向量,在CRLB约束下最大化信噪比,解决非凸优化问题。相比传统MIMO雷达,FD-MIMO可通过距离-角度联合依赖的波束模式区分同一角度但不同距离的目标。代码基于Matlab 2022a/2024b开发,包含详细中文注释及操作视频,展示算法运行效果(无水印)。系统模型涉及双功能发射机、雷达接收阵列及多目标通信场景,考虑多径效应和莱斯平坦衰落信道特性。
雷达模糊函数及MATLAB仿真(三)
雷达模糊函数及MATLAB仿真
492 0
雷达模糊函数及MATLAB仿真(二)
雷达模糊函数及MATLAB仿真
443 0
雷达模糊函数及MATLAB仿真(一)
雷达模糊函数及MATLAB仿真
491 0
|
Web App开发 编解码 资源调度
雷达波形及MATLAB仿真
雷达波形及MATLAB仿真
126 0
|
计算机视觉
雷达检测及MATLAB仿真(二)
雷达检测及MATLAB仿真
182 0

热门文章

最新文章