學(xué)個(gè)Antenna:Matlab天線工具箱知多少(二)
學(xué)個(gè)Antenna是以天線仿真和調(diào)試為主,理論原理為輔的干貨天線技術(shù)專欄,包括天線入門知識(shí)以及各類天線的原理簡(jiǎn)介、仿真軟件建模、設(shè)計(jì)、調(diào)試過程及思路。如有想看到的內(nèi)容或技術(shù)問題,可以在文尾寫下留言。
摘要:
上節(jié)推文學(xué)個(gè)Antenna:Matlab天線工具箱知多少(一)初步了解了MATLAB天線工具箱,并對(duì)天線單元和陣列快速評(píng)估的程序化開發(fā)進(jìn)行了入門講解。這次先對(duì)弗里斯傳輸公式進(jìn)行仿真、對(duì)比驗(yàn)證,然后介紹天線覆蓋3D地形圖的可視化。
本文使用的軟件為MATLAB 2019a版本,文中編寫的程序在低版本環(huán)境下可能會(huì)與提供的仿真結(jié)果有一定偏差!
弗里斯傳輸公式仿真驗(yàn)證
建立起自由空間損耗模型,考慮到自由空間的衰減和收發(fā)天線的增益:
結(jié)合弗里斯傳輸公式,不難得出二元陣的隔離度S21理論上可近似為:
上述公式的詳細(xì)推導(dǎo)這里就不做過多贅述。
左右滑動(dòng)上述公式可看完整版
1 clear;clc; 2 %設(shè)置頻率:Hz 3 fre=2*1e9; 4 %創(chuàng)建天線單元種類 5 subobject=design(dipole,fre); 6 subobject.Load.Impedance=100; 7 %設(shè)置線陣 8 arrayobject=design(linearArray('Element',subobject),fre,subobject); 9 %設(shè)置單元數(shù)量 10 arrayobject.NumElements=2; 11 %設(shè)置單元激勵(lì)相差 12 arrayobject.PhaseShift=[0 0]; 13 %設(shè)置單元激勵(lì)幅度 14 arrayobject.AmplitudeTaper=[1 1]; 15 show(arrayobject); 16 dist=0.05:0.05:0.5; 17 str1=[]; 18 S21_singleFre=zeros(1,length(dist)); 19 for num=1:length(dist) 20 %設(shè)置單元間隔 21 arrayobject.ElementSpacing=dist(num); 22 S_data=sparameters(arrayobject,0.5*fre:0.01*1e9:1.5*fre); 23 str1=[str1,strcat("單元間距(mm):",num2str(arrayobject.ElementSpacing*1000))]; 24 rfplot(S_data,2,1);hold on;legend(str1); 25 temp=S_data.Parameters; 26 S21_singleFre(num)=20*log10(abs(temp(2,1,101))); 27 End 28 hold off; 29 %弗里斯傳輸公式理論計(jì)算 30 %distance:km freq:MHz 31 distance=dist/1e3; 32 freq=fre/1e6; 33 Gt=2.15;Gr=2.15; 34 Loss_dB=-32.44-20*log10(distance)-20*log10(freq)+Gt+Gr; 35 36 figure(2);plot(dist,S21_singleFre,'b','linewidth',3);set(gca,'linewidth',3); 37 xlabel('單元間距(m)');ylabel('S_{21}(dB)'); 38 hold on;plot(dist, Loss_dB,'--b','linewidth',3); 39 legend('Matlab理論計(jì)算','弗里斯傳輸公式理論計(jì)算'); |
MATLAB快速仿真與理論值對(duì)比
點(diǎn)擊任意小圖,即可放大觀看
Matlab和弗里斯傳輸公式理論計(jì)算值差了有將近6dB,誤差還是比較大的!
單元間隔250mm時(shí),S21(dB)分別為:
Matlab計(jì)算值:-27.798
弗里斯傳輸公式理論計(jì)算:-22.1194
為了驗(yàn)證理論值的正確性,按照MATLAB里的偶極子參數(shù),重新在CST里面建模仿真,兩者單元性能還是比較一致的!
點(diǎn)擊任意小圖,即可放大觀看
接下來在CST中建立二元陣,單元間距設(shè)定為50mm,150mm,250mm,350mm,此時(shí)弗里斯傳輸公式理論計(jì)算的S21(dB)分別為
-8.2920,-17.8344,-22.2714 -25.1940
可以明顯看出,CST的仿真結(jié)果與弗里斯傳輸公式理論計(jì)算值吻合度較高。單元間距越遠(yuǎn),天線之間的耦合越弱,越符合理論計(jì)算值。這也充分說明了MATLAB在定量計(jì)算中與CST、HFSS等專業(yè)電磁仿真軟件是不可比擬的,適合于做定性分析驗(yàn)證。
3D地形圖可視化覆蓋范圍
當(dāng)用于通信的天線經(jīng)過性能調(diào)試、優(yōu)化、加工、組裝、測(cè)試等一系列步驟后,我們就需要對(duì)天線的擺放(比如最大波束指向方位,下傾角等),多天線的蜂窩式布局等進(jìn)行空間上的評(píng)估,這時(shí)就需要建立射頻傳播模型。簡(jiǎn)單的評(píng)估可以采用最為理想的自由空間損耗模型:弗里斯傳輸公式。
復(fù)雜一點(diǎn)的則會(huì)考慮天氣效應(yīng)的傳播模型計(jì)算覆蓋范圍,以及使用Longley-Rice或TIREM™(Terrain Integrated Rough Earth Model,地形整合粗糙地表模型)傳播模型,考慮地球繞射與反射。
整個(gè)評(píng)估目前已經(jīng)整合到MATLAB的天線工具箱了,強(qiáng)大的coverage函數(shù)
1 coverage(txs,rxs,propmodel)
2 % 可支持的傳播模型,可用于評(píng)估不同情況下的路徑衰減
3 'freespace' — Free space propagation model
4 'rain' — Rain propagation model
5 'gas' — Gas propagation model
6 'fog' — Fog propagation model
7 'close-in' — Close-in propagation model
8 'longley-rice' — Longley-Rice propagation model
9 'tirem' — Tirem propagation model
10 'raytracing' — Ray tracing propagation model that uses the image method
11 % terrain is enabled,則默認(rèn)的傳播模型是'longley-rice'
12 % terrain is disabled,則默認(rèn)的傳播模型是'freespace'
13 % 目前筆者安裝的MATLAB2019a版本下,terrain為'None'的時(shí)候運(yùn)行OK,否則報(bào)錯(cuò)
|
下面的GIF可大致預(yù)覽下簡(jiǎn)單的3D地形圖可視化覆蓋范圍,長(zhǎng)按識(shí)別二維碼則可看高清視頻。
長(zhǎng)按識(shí)別二維碼,看高清視頻
詳細(xì)代碼如下,僅供參考:
1 clear;clc; 2 % Lattitude:緯度,Longitude:經(jīng)度 3 % 定義發(fā)射位置 4 fq = 6e9; % 6GHz 5 tx = txsite('Name','深圳市萬象城', ... 6 'Latitude',22.515238, ... 7 'Longitude',113.945419, ... 8 'Antenna',design(dipole,fq), ...% 定義天線 9 'AntennaHeight',60, ... % 長(zhǎng)度單位:m 10 'TransmitterFrequency',fq, ... % 頻率單位:Hz 11 'TransmitterPower',100); % 功率單位:Watts 12 % 定義接收位置 13 rxNames = {... 14 '深圳世界之窗','深圳北站','深圳站','深圳市蛇口人民醫(yī)院', ... 15 '深圳灣公園','深圳西站','深圳西麗地鐵站','深圳人才公園'}; 16 rxLocations = [... 17 22.53457 113.97301; ... % 深圳世界之窗 18 22.60939 114.02938; ... % 深圳北站 19 22.53237 114.11509; ... % 深圳站 20 22.49664 113.92208; ... % 深圳市蛇口人民醫(yī)院 21 22.48344 113.93309; ... % 深圳灣公園 22 22.52787 113.90773; ... % 深圳西站 23 22.58120 113.95213; ... % 深圳西麗地鐵站 24 22.51099 113.94854]; % 深圳人才公園 25 % 定義接收靈敏度 26 rxSensitivity = -80; % Units: dBm 27 rxs = rxsite('Name',rxNames, ... 28 'Latitude',rxLocations(:,1), ... 29 'Longitude',rxLocations(:,2), ... 30 'Antenna',design(dipole,tx.TransmitterFrequency), ... 31 'ReceiverSensitivity',rxSensitivity); % Units: dBm 32 % 加上此句不會(huì)報(bào)錯(cuò) 33 viewer = siteviewer("Terrain", "none"); 34 % 可視化Tx,Rx 35 show(tx) 36 show(rxs) 37 % 可視化Tx,Rx,顯示當(dāng)前天線下的信號(hào)強(qiáng)度覆蓋情況 38 % coverage(tx,'freespace', ... 39 % 'SignalStrengths',rxSensitivity) 40 % link(rxs,tx,'freespace') 41 coverage(tx,'rain','SignalStrengths', rxSensitivity) 42 link(rxs,tx,'rain') 44 % 替換偶極子天線為強(qiáng)方向性的八木天線 45 yagiAnt = design(yagiUda,tx.TransmitterFrequency); 46 % Tilt antenna to direct radiation in XY-plane 47 yagiAnt.Tilt = 90; 48 yagiAnt.TiltAxis = 'y'; 50 f = figure; 51 % 繪制定向性方向圖 52 patternAzimuth(yagiAnt,tx.TransmitterFrequency) 53 % 更新發(fā)射天線 54 tx.Antenna = yagiAnt; 55 % 將天線主瓣對(duì)準(zhǔn)rxs(1)位置 56 tx.AntennaAngle = angle(tx, rxs(1)); 58 % 可視化視圖更新,'rain' propagation model 59 % 傳播模型詳解:https://www.mathworks.com/help/antenna/ref/propagationmodel.html 60 % 查看接收靈敏度下的覆蓋范圍,圖中綠色范圍即為可覆蓋范圍 61 coverage(tx,'rain','SignalStrengths',rxSensitivity) 62 link(rxs,tx,'rain') 64 % 定義信號(hào)強(qiáng)度:從接收靈敏度開始到自定義的功率值(dB) 65 sigStrengths = rxSensitivity:5:-50; 67 % 可視化覆蓋范圍更新 68 % 查看不同位置下的信號(hào)接收強(qiáng)度色彩圖 69 coverage(tx,'rain','SignalStrengths',sigStrengths) |
可視化覆蓋范圍示意圖
資源分享
后續(xù)的仿真資料鏈接在下面的總文件夾進(jìn)行更新
識(shí)別或掃碼二維碼
下載仿真模型文件
END
*本文圖片來自MATLAB 2019a和官網(wǎng),致謝Markdown Nice提供的公式排版服務(wù)
*歡迎左側(cè)一鍵轉(zhuǎn)發(fā)至朋友圈,同時(shí)右側(cè)在看與點(diǎn)贊
以上便是要給大家分享的內(nèi)容,希望對(duì)大家有所幫助~~大家持續(xù)關(guān)注“微波射頻網(wǎng)”,后續(xù)精彩不斷~
本期原創(chuàng)工程師:94巨蟹座少年
本文為MWRF.NET原創(chuàng)文章,未經(jīng)允許不得轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)聯(lián)系market#mwrf.net(#換成@)