انجمن سایت کلیدستان



رسم الگوی سه بعدی تشعشع آنتن ها در متلبزمان کنونی: ۱۳۹۵/۰۹/۲۱، ۰۲:۴۷ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: charli
آخرین ارسال: firenze
پاسخ 3
بازدید 2869

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رسم الگوی سه بعدی تشعشع آنتن ها در متلب

رسم الگوی سه بعدی تشعشع آنتن ها در متلب

#1
با سلام
از دوستان کسی تشعشع 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])
 
پاسخ

رسم الگوی سه بعدی تشعشع آنتن ها در متلب

#2
سلام.
براتون توضیحاتی می دهم، فقط در همین ابتدا تذکر بدهم که منبع کدها، لینک زیر می باشد :

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 باید ساختار فیزیکی آنتن رسم شود، ولی در متلب، داشتن فرمول های مربوط به تابش، کفایت می کند).



فایل‌های پیوست

دانلود dparray3.m

نام فایل dparray3.m
نوع فایل .m
دفعات دانلود 234
اندازه 1.87 KB
ارسال کننده فایل admin
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

رسم الگوی سه بعدی تشعشع آنتن ها در متلب

#3
(۱۳۹۳/۰۸/۱۴, ۰۳:۳۵ ب.ظ)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 باید ساختار فیزیکی آنتن رسم شود، ولی در متلب، داشتن فرمول های مربوط به تابش، کفایت می کند).

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


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)