8.Radiator

Introduction

Computer radiators are heat exchangers used to transfer the heat generated by an electronic or a mechanical device from the inside of case to outside for the purpose of cooling.

Most radiators transfer the bulk of their heat via convection instead of thermal radiation.

Types

There are two main types of computer radiators: Air-cooling radiator and Water-cooling radiator.
在这里插入图片描述

Air-cooling radiator

在这里插入图片描述

Water-cooling radiator

1. Air-cooling radiator

There are 3 types of air-cooling radiator: Extruded aluminum radiator, Copper core radiator, and Tower fin radiator.

在这里插入图片描述

Extruded aluminum radiator(挤铝散热器)

在这里插入图片描述

Copper core radiator(铜芯散热器)

在这里插入图片描述

Tower fin radiator(塔式鳍片散热器)

2. Water-cooling radiator

There are two types of water-cooling radiators: Integrated water-cooling radiator and Split water-cooling radiator.

在这里插入图片描述

Integrated water-cooling radiator(一体式水冷散热器)

在这里插入图片描述

Split water-cooling radiator(分体式水冷散热器)
clear all; close all; fs = 153.6e6; c = physconst('LightSpeed'); M=256; fc = c*M; landa=c/fc; prf=fs/1000; pri=1/prf; Np = 300; RangeMax=c/2/prf; % VelMax=prf/2*landa/2; DutyCycle=0.02; Rresolution=c/2/(fs); Numtgts = 5; tgtpos = zeros(3,Numtgts); tgtvel = zeros(3,Numtgts); tgtpos(1,:) = [1 400 500 600 700];% tgtvel(1,:) = [110 0 -90 -80 60];% tgtrcs = db2pow(10)*[1 1 1 1 1]; %tgtpos(1,:) = [1 300 200 100 900]; %tgtvel(1,:) = [110 0 -90 -80 60]; tgtmotion = phased.Platform(tgtpos,tgtvel); target = phased.RadarTarget('PropagationSpeed',c,'OperatingFrequency',fc, ... 'MeanRCS',tgtrcs); radarpos = [0;0;0]; radarvel = [0;0;0]; radarmotion = phased.Platform(radarpos,radarvel); txantenna = phased.IsotropicAntennaElement; rxantenna = clone(txantenna); bw = fs/2; waveform = phased.LinearFMWaveform('SampleRate',fs, ... 'PRF',prf,'OutputFormat','Pulses','NumPulses',1,'SweepBandwidth',fs/2, ... 'DurationSpecification','Duty cycle','DutyCycle',DutyCycle); sig = waveform(); Nr = length(sig); bwrms = bandwidth(waveform)/sqrt(12); rngrms = c/bwrms; peakpower = 10; txgain = 36.0; transmitter = phased.Transmitter( ... 'PeakPower',peakpower, ... 'Gain',txgain, ... 'InUseOutputPort',true); radiator = phased.Radiator( ... 'Sensor',txantenna,... 'PropagationSpeed',c,... 'OperatingFrequency',fc); channel = phased.FreeSpace( ... 'SampleRate',fs, ... 'PropagationSpeed',c, ... 'OperatingFrequency',fc, ... 'TwoWayPropagation',true); collector = phased.Collector( ... 'Sensor',rxantenna, ... 'PropagationSpeed',c, ... 'OperatingFrequency',fc); rxgain = 42.0; noisefig = 1; receiver = phased.ReceiverPreamp( ... 'SampleRate',fs, ... 'Gain',rxgain, ... 'NoiseFigure',noisefig); dt = pri; cube = zeros(Nr,Np); for n = 1:Np [sensorpos,sensorvel] = radarmotion(dt); [tgtpos,tgtvel] = tgtmotion(dt); [tgtrng,tgtang] = rangeangle(tgtpos,sensorpos); sig = waveform(); [txsig,txstatus] = transmitter(sig); txsig = radiator(txsig,tgtang); txsig = channel(txsig,sensorpos,tgtpos,sensorvel,tgtvel); tgtsig = target(txsig); rxcol = collector(tgtsig,tgtang); rxsig = receiver(rxcol); cube(:,n) = rxsig; end save fmcwmatlab2018data;代码解析
09-30
pd = 0.9; % Probability of detection pfa = 1e-6; % Probability of false alarm max_range = 20000; % Maximum unambiguous range tgt_rcs = 1.5; % Required target radar cross section int_pulsenum = 10; % Number of pulses to integrate fs = 22.5e6; waveform = phased.LinearFMWaveform(... 'SampleRate',fs,... % 采样率 'PRF',prf,... % 脉冲重复频率 'PulseWidth',10e-6,... % 脉冲宽度 'SweepBandwidth',7.5e6,... % 扫频带宽 (新增参数) 'SweepDirection','Up',... % 扫频方向 (向上/向下) 'SweepInterval','Positive'); % 扫频区间 fc = radiator.OperatingFrequency; % Operating frequency (Hz) v = radiator.PropagationSpeed; % Wave propagation speed (m/s) lambda = v/fc; % Wavelength (m) % waveform.SampleRate = 20e6; % Sampling frequency (Hz) % waveform.PulseWidth = 10e-6; %脉宽10us % 发射机参数配置 transmitter = phased.Transmitter(... 'PeakPower', peak_power, ... 'Gain', 30, ... % 发射增益 30 dB 'LossFactor', 0, ... % 损耗因子 0 dB 'InUseOutputPort', true, ... % 输出发射状态 'CoherentOnTransmit', true); % 相干发射模式 % 接收机参数配置 receiver = phased.ReceiverPreamp(... 'SampleRate', fs, ... % 采样率 'Gain', 30, ... % 接收增益 25 dB 'NoiseFigure', 3, ... % 噪声系数 3 dB 'ReferenceTemperature', 290, ... % 参考温度 290 K 'SampleRate', fs, ... % 采样率 'EnableInputPort', true, ... % 启用使能输入端口 'SeedSource', 'Property', ... % 固定随机种子 'Seed', 2023); % 随机种子值 waveform.PRF = 7500; % Pulse repetition frequency (Hz)waveform.PRF radiator = phased.Radiator(... 'Sensor', ura, ... % 天线阵列对象 'OperatingFrequency', fc, ... % 工作频率 (Hz) 'PropagationSpeed', 3e8, ... % 传播速度 (m/s) 'CombineRadiatedSignals', true); % 是否合并输出信号 collector = phased.Collector(... 'Sensor', ura, ... % 天线阵列对象 'OperatingFrequency', fc, ... % 工作频率 (Hz) 'PropagationSpeed', 3e8, ... % 传播速度 (m/s) 'Wavefront', 'Plane'); % 波前类型 ura = phased.URA('Element',antenna,... 'Size',[25 25],'ElementSpacing',[lambda/2, lambda/2]); % Configure the antenna elements such that they only transmit forward ura.Element.BackBaffled = true; % Visualize the response pattern. pattern(ura,fc,'PropagationSpeed',physconst('LightSpeed'),... 'Type','powerdb'); radiator.Sensor = ura; collector.Sensor = ura; % We need to set the WeightsInputPort property to true to enable it to % accept transmit beamforming weights radiator.WeightsInputPort = true; % Calculate the array gain arraygain = phased.ArrayGain('SensorArray',ura,'PropagationSpeed',v); ag1 = arraygain(fc,[0;0]); ag=10*log10(25*25); % Calculate the peak power snr_min = albersheim(pd, pfa, int_pulsenum); peak_power = ((4*pi)^3*noisepow(1/waveform.PulseWidth)*max_range^4*... db2pow(snr_min))/(db2pow(2*(transmitter.Gain+ag))*tgt_rcs*lambda^2)%transmitter.Gain+ag % Set the peak power of the transmitter transmitter.PeakPower = peak_power/625; initialAz = 60; endAz = -60; volumnAz = initialAz - endAz; % Calculate 3-dB beamwidth theta = 0.886*lambda/(406*lambda/2) scanstep = -4; scangrid = initialAz+scanstep/2:scanstep:endAz; numscans = length(scangrid); pulsenum = int_pulsenum*numscans; % Calculate revisit time revisitTime = pulsenum/prf tgtpos = [[13532.63*cosd(2);13532.63*sind(2); 30],[18020.66*cosd(2); 18020.66*sind(2); 30]]; tgtvel = [[-100; 50; 0],[60; 80; 0]]; tgtmotion = phased.Platform('InitialPosition',tgtpos,'Velocity',tgtvel); tgtrcs = [1.6 2.2]; target = phased.RadarTarget('MeanRCS',tgtrcs,'OperatingFrequency',fc); % Calculate the range, angle, and speed of the targets [tgtrng,tgtang] = rangeangle(tgtmotion.InitialPosition,... sensormotion.InitialPosition); numtargets = length(target.MeanRCS); % Calculate the range, angle, and speed of the targets [tgtrng,tgtang] = rangeangle(tgtmotion.InitialPosition,... sensormotion.InitialPosition); numtargets = length(target.MeanRCS); % 创建导向矢量和波束形成器 steeringvec = phased.SteeringVector('SensorArray',ura,... 'PropagationSpeed',v);%计算不同方向上的相位偏移权重 %创建接收端的波束形成器 beamformer = phased.PhaseShiftBeamformer('SensorArray',ura,... 'OperatingFrequency',fc,'PropagationSpeed',v,... 'DirectionSource','Input port');% % 定义传播信道 channel = phased.FreeSpace(... 'SampleRate',fs,... 'TwoWayPropagation',true,... 'OperatingFrequency',fc); fast_time_grid = unigrid(0, 1/fs, 1/prf, '[)'); % 预分配接收信号矩阵 rxpulses = zeros(numel(fast_time_grid),pulsenum);%作用:预分配内存存储接收到的脉冲信号 for m = 1:pulsenum % 更新平台和目标位置 [sensorpos,sensorvel] = sensormotion(1/prf); %调用运动模型函数更新雷达平台和目标位置/速度 [tgtpos,tgtvel] = tgtmotion(1/prf); %时间步长 = 1/PRF(脉冲重复间隔) % 计算目标相对参数 [tgtrng,tgtang] = rangeangle(tgtpos,sensorpos); %计算目标相对雷达的距离角度[方位角; 俯仰角] % 计算当前扫描角度和波束权重 scanid = floor((m-1)/int_pulsenum) + 1; sv = steeringvec(fc,scangrid(scanid)); w = conj(sv); % 生成和发射脉冲 pulse = waveform(); [txsig,txstatus] = transmitter(pulse); txsig = radiator(txsig,tgtang,w); txsig = channel(txsig,sensorpos,tgtpos,sensorvel,tgtvel); % 信号传播和目标反射 tgtsig = target(txsig); % 接收和处理回波信号 rxsig = collector(tgtsig,tgtang); rxsig = receiver(rxsig,~(txstatus>0)); rxpulses(:,m) = 625*beamformer(rxsig,[scangrid(scanid);0]); end 报错:无法执行赋值,因为左侧的大小为 751×1,右侧的大小为 3000×1。 出错 untitled2 (第 145 行) rxpulses(:,m) = 625*beamformer(rxsig,[scangrid(scanid);0]);
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值