ورود

View Full Version : بدست آوردن اختلاف فاز از روی دو تا نمودار فاز wrap شده



ehsan_faal
شنبه 14 آذر 1394, 13:37 عصر
سلام به همگی.
بنده دو تا فایل تکست دارم که تو ستون اول محدوده فرکانسی و تو ستون دومشون فاز خروجی رو بر حسب درجه توی یکی از دستگاههای مخابراتی نشون میده.این فازها wrap شده هستند(بین ۱۸۰ و ۱۸۰−) و من باید نشون بدم که اختلاف این دو تا فاز ۹۰ درجه‌ست.
دو سال پیش که خیلی درگیر نوشتن کد همین دستگاه بودم نوشتم این قسمت کد فاز رو و به خوبی هم جواب میداد، امّا الان یه هفته‌اس که هر چی فکر میکنم چجوری باید جواب رو که قراره مثله این تصویر باشه رو بگیرم، که نتیجه‌ای نگرفتم هنوز.در ضممن من توی محیط اوکتاو کد میزنم.

تصویری که دو سال پیش گرفته بودم و متأسفانه الان کدش رو ندارم:

137250

کدی که الان استفاده کردم:


s31degw=load('/home/ehsan/Desktop/CST/s31.txt');
freq=s31degw(:,1);
s31degw=s31degw(:,2);
s41degw=load('/home/ehsan/Desktop/CST/s41.txt');
s41degw=s41degw(:,2);
s31deguw=(180/pi)*unwrap(s31degw*pi/180);
s41deguw=(180/pi)*unwrap(s41degw*pi/180);

subplot(211);
plot(freq,s31degw,'linewidth',2,'r');grid on;hold on;plot(freq,s41degw,'linewidth',2);
subplot(212);
plot(freq,s31deguw,'linewidth',2,'r');grid on;hold on;plot(freq,s41deguw,'linewidth',2);

phase1=abs(bsxfun(@minus,s31deguw,s41deguw));
phase2=mod(phase1,360);
figure
subplot(211)
plot(freq,phase1,'linewidth',2,'r');grid on;
subplot(212);
plot(freq,phase2,'linewidth',2,'r');grid on;

و نتایج این کد:
137251
و:
137252
و این هم دیتاهای ورودی:

S31 (http://s3.picofile.com/file/8226467292/s31.txt.html)

S41 (http://s6.picofile.com/file/8226467318/s41.txt.html)

rahnema1
شنبه 14 آذر 1394, 19:05 عصر
سلام
فکر کنم داده ها داده های قبلی نیست
من دستور زیر را زدم

load('s31.txt')
load('s41.txt')
x0 = s31(:,1);
x3=unwrap(s31(:,2)*pi/180);
x4=unwrap(s41(:,2)*pi/180);

در فرکانس 1 اختلاف فاز تقریبا 90 درجه هست

disp('phase difference in 1 GH:')
abs(x3-x4)(1)*180/pi

اما وقتی دو تا فاز را با هم می کشیم (مثل نمودار شما) مشاهده می کنیم که دو تا فاز به صورت در خط زاویه دار مشخص هستند:

figure,plot(x0,[x3 x4])

به معنای این هست که یکی از فازها ضرب در یک عددی می شه که فاز دیگه تولید بشه
اگه صرفا اختلاف فاز یکسان بود باید دو خط تقریبا منطبق می بودند
حالا می تونیم تقسیم کنیم تا بفهمیم ضرب در چه عددی می شه:

figure,plot(x0,x3 ./ x4)

که حول و حوش 1.5 هست