کلیدستان

نسخه‌ی کامل: رسم الگوی سه بعدی تشعشع آنتن ها در متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام
از دوستان کسی تشعشع 3d آنتن ها رو تو متلب کشیده
من یه روش از سایت اصلی متلب گرفتم ولی متوجه نمیشم


clear all
close all 
AntennaGain = 14; % typical gain for below angles
hangle3db = 70; 
vangle3db = 15;
[phi theta] = meshgrid(-180:180,-90:90);
Zin = - (12*(phi/hangle3db).^2 + 12*(theta/vangle3db).^2);
Zin = Zin + AntennaGain; % total gain
mnz = min(min(Zin));
mxz = max(max(Zin)); 
shape = Zin;
[x y z] = sph2cart(phi*pi/180,theta*pi/180,shape); surf(x,y,z,'EdgeColor','none') 
daspect([1 1 1])
 
سلام.
براتون توضیحاتی می دهم، فقط در همین ابتدا تذکر بدهم که منبع کدها، لینک زیر می باشد :

http://www.piers.org/TEAZJU/EMCourse/8_3.../index.htm

ابتدا m-file ای که پیوست این ارسال شده است را دانلود کنید و در یکی از مسیرهای تعریف شده برای نرم افزار متلب قرار بدهید (تا آن را شناسایی کند).
این تابع، الگوی تابش (pattern) برای آرایه ای از آنتن های dipole را رسم می کند (Dipole Array). ولی فعلا به نوع آنتن کاری نداریم و هدف من این است که شرح بدهم که برای انواع آنتن ها، چگونه عمل کنیم.
بعد از قرار دادن m-file مربوط به تابع مورد نظر، در یک m-file جداگانه، کد زیر را اجرا کنید :

کد:
clear all
close all
clc

N = 4;
d = 1;
alpha = pi/2;
dparray3(N,d,alpha)

نتیجه اجرای کد متلب بالا :


خوب حالا به سراغ کدهای تابع می رویم تا ببینیم که به چه صورت عمل کرده است. ابتدا باید میزان تشعشع آنتن را بر اساس فرمول های ارائه شده برای آنتن، به دست آوریم (تنها این بخش از کدها برای آنتن های مختلف، متفاوت است). ما با این بخش از کدها کاری نداریم، چون بستگی به نوع آنتن و فرمول های آنتن دارد. فقط نکته مهم این است که مختصات را در دستگاه مختصات کروی به دست آورده است. یعنی بر اساس phi و theta و R . که دو تای اول، جهت را مشخص می کنند و سومی، متناسب با شدت تابش آنتن در آن جهت است. ابتدا دو مورد اول را به این صورت تعیین کرده است (زاویه هستند) :

کد:
phi = (-2*pi):pi/150:(pi/2);
theta = 0:pi/150:pi;

و همچنین خط زیر (برای شبکه بندی کردن آنها تا بتوانیم برای هر زوج مقدار مختلف از phi و teta ، مقدار R متناظر را از فرمول ها به دست آوریم) :

کد:
[phi2,theta2] = meshgrid(phi,theta);

سپس مقادیر R را برای همه جهت ها به دست آورده است (بر اساس فرمول های آنتن مورد نظر که در اینجا، یک آرایه آنتنی است).
اکنون برای رسم کردن، باید مختصات کروی را به مختصات کارتزین تبدیل کنیم که برای آن، کد زیر نوشته شده است (چون دستور مورد نظرمان برای رسم کردن الگوی تابش، نقاط را بر اساس مختصات کارتزین دریافت می کند) :

کد:
[XX,YY,ZZ] = sph2cart(phi2,pi/2-theta2,R);

در آخر هم با دستور surf ، الگوی تابش را رسم کرده است :

کد:
surf(XX,YY,ZZ);

من خودم در دوران دانشجویی، از  نرم افزار HFSS استفاده می کردم که خودش تشعشع سه بعدی رو رسم می کرد. اما متلب آزادی عمل بسیار زیادی به محقق می دهد (البته در HFSS باید ساختار فیزیکی آنتن رسم شود، ولی در متلب، داشتن فرمول های مربوط به تابش، کفایت می کند).

(۱۳۹۳/۰۸/۱۴, ۰۳:۳۵ ب.ظ)admin نوشته: [ -> ]سلام.
براتون توضیحاتی می دهم، فقط در همین ابتدا تذکر بدهم که منبع کدها، لینک زیر می باشد :

http://www.piers.org/TEAZJU/EMCourse/8_3.../index.htm

ابتدا m-file ای که پیوست این ارسال شده است را دانلود کنید و در یکی از مسیرهای تعریف شده برای نرم افزار متلب قرار بدهید (تا آن را شناسایی کند).
این تابع، الگوی تابش (pattern) برای آرایه ای از آنتن های dipole را رسم می کند (Dipole Array). ولی فعلا به نوع آنتن کاری نداریم و هدف من این است که شرح بدهم که برای انواع آنتن ها، چگونه عمل کنیم.
بعد از قرار دادن m-file مربوط به تابع مورد نظر، در یک m-file جداگانه، کد زیر را اجرا کنید :

کد:
clear all
close all
clc

N = 4;
d = 1;
alpha = pi/2;
dparray3(N,d,alpha)

نتیجه اجرای کد متلب بالا :





خوب حالا به سراغ کدهای تابع می رویم تا ببینیم که به چه صورت عمل کرده است. ابتدا باید میزان تشعشع آنتن را بر اساس فرمول های ارائه شده برای آنتن، به دست آوریم (تنها این بخش از کدها برای آنتن های مختلف، متفاوت است). ما با این بخش از کدها کاری نداریم، چون بستگی به نوع آنتن و فرمول های آنتن دارد. فقط نکته مهم این است که مختصات را در دستگاه مختصات کروی به دست آورده است. یعنی بر اساس phi و theta و R . که دو تای اول، جهت را مشخص می کنند و سومی، متناسب با شدت تابش آنتن در آن جهت است. ابتدا دو مورد اول را به این صورت تعیین کرده است (زاویه هستند) :

کد:
phi = (-2*pi):pi/150:(pi/2);
theta = 0:pi/150:pi;

و همچنین خط زیر (برای شبکه بندی کردن آنها تا بتوانیم برای هر زوج مقدار مختلف از phi و teta ، مقدار R متناظر را از فرمول ها به دست آوریم) :

کد:
[phi2,theta2] = meshgrid(phi,theta);

سپس مقادیر R را برای همه جهت ها به دست آورده است (بر اساس فرمول های آنتن مورد نظر که در اینجا، یک آرایه آنتنی است).
اکنون برای رسم کردن، باید مختصات کروی را به مختصات کارتزین تبدیل کنیم که برای آن، کد زیر نوشته شده است (چون دستور مورد نظرمان برای رسم کردن الگوی تابش، نقاط را بر اساس مختصات کارتزین دریافت می کند) :

کد:
[XX,YY,ZZ] = sph2cart(phi2,pi/2-theta2,R);

در آخر هم با دستور surf ، الگوی تابش را رسم کرده است :

کد:
surf(XX,YY,ZZ);

من خودم در دوران دانشجویی، از  نرم افزار HFSS استفاده می کردم که خودش تشعشع سه بعدی رو رسم می کرد. اما متلب آزادی عمل بسیار زیادی به محقق می دهد (البته در HFSS باید ساختار فیزیکی آنتن رسم شود، ولی در متلب، داشتن فرمول های مربوط به تابش، کفایت می کند).

با سلام 
من توضیحات شما در زمینه رسم پترن خوندم اما متوجه نمیشم در صورت تغییر نوع آنتن کد چه تغییری باید داشته باشه. هدف من مقایسه دو آنتن بوتای و هورن است. می توانید در زمینه تغییر کد راهنماییم کنید؟