Tag Archives: MatLab

დავალება: ქსელის ვექტორული მაანალიზებლის (VNA) მოდელი


agilent-vnaახალი დავალება მივიღე უნივერსიტეტში. კლასის მიზანია სიღრმისეულად ვისწავლოთ სხვადასხვა გაზომვების ჩატარების პრინციპი. ამასთან ერთად ხშირად საჭიროა ავაგოთ ამა თუ იმ გაზომვის რიცხვითი მოდელი.

ამჯერად დავალებაა: შევქმნათ 1-პორტიანი ქსელის ვექტორული მაანალიზებლის მოდელი (1-port VNA)

აქ შედის შემდეგი ასპექტები:

  • VNA სტრუქტურის მოდელი
  • ხმაურის ფაქტორების ჩართვა და ზემოქმედების დადგენა
  • SOL დაკალიბრება და მაანალიზებლის სისტემატური ცდომილების აღმოფხვრა
  • DUT-ს იმპედანსის გაზომვის მოდელი და დინამიური დიაპაზონი (dynamic range)
  • ცდომილება დაკალიბრების შემდგომა და მისი ზემოქმედება გაზომვაზე

ჯერ-ჯერობით აზრზე არ ვარ როგორ უნდა მოხდეს ამის მოდელირება. MATLAB + Spice სავარაუდოდ. თუმცა ხალხი ამბობს მარტივიაო 🙂

ამის შესახებ ვწერ იმის გამო, რომ მგონია რომ ეს კარგი გამოცდილება იქნება და მინდა სხვებსაც გავუზიარო.

რამეს რომ გავარკვევ, აქ დავწერ 😉

გრაფიკთა მიმდევრობის avi ვიდეო-ფაილად შენახვა MATLAB-ში


სალამი ყველას 🙂

დავწერე პატარა აღწერამ თუ როგორ ხდება ეს. უფრო ჩემთვის, არ დამავიწყდეს. იმედია ვინმესაც გამოადგება 😉

% ======================================
% File: ani2avi
% Date: 1.Nov.2012
% Purpose: Saving a sequence of plots into avi file
%
% Author: Giorgi Maghlakelidze
% ======================================
clc; clear all; close all
% ===[ Example ] =======================
t = 0:1/30:2*pi; % Time in seconds
sint = sin(t); % Sine as a function of time
% ======================================
filename = 'movie.avi'; % Set movie filename
movie = avifile(filename,'FPS',30); % Create a avifile object called 'movie' with 30 fps
fig = figure; % Record the handle of figure
for i = 1:length(t)
plot(t, sint); % Plot the general path
hold on % Allow drawing of other objects
plot(t(i), sint(i), 'or') % Plot state of sin function at current time
hold off % This means the next plot replace current one
axis([t(1) t(end) -1 1]); % Fix the boundaries of view, so that it doesn't change from graph to graph
F = getframe(fig); % Record current drawing, use 'getframe(gca)' to record only central area
movie = addframe(movie,F); % Add saved frame to the movie
end
movie = close(movie) % Once all the frames are recorded, finalize the file and print info
view raw gistfile1.matlab hosted with ❤ by GitHub

გავუშვათ Matlab 7 უბუნტუზე


ელექტრონიკის მიმართულებაზე, ხშირად ვიყენებთ მატრიცულ ლაბორატორიებს, შემოკლებით – MatLab… რისთვის? – ვადგენთ გრაფიკებს, ჰისტოგრამებს, ვახორციელებთ რთულ გათვლებს, მოდელირებასა და მონაცემების მრავალი სახის დამუშავებას. რატომ მეშვიდე ვერსია? – მივიღეთ ასეთი პასუხი: “ყველაზე კარგი ვერსიაა, რადგან ზედმეტად გადატვირთული არ არის და სწავლისთვის ძალზედ გამოსადებია”. ამას სავსებით ვეთანხმები – მშვენიერი ვერსიაა და სწრაფად მუშაობს. შემდეგი ვერსიები, მაგ. უახლესი, იწონის 4.6 გბაიტს, ხოლო ამის მინიმალური პაკეტი – 700 მბაიტს(!), სრული – 2100 მბაიტს. განსხვავება აშკარაა…

ეს პროგრამა შექმნილია Windows XP გარემოსთვის, ამიტომ დიდი შეფერხებების გარეშე შეგვიძლია მისი ამუშავება Ubuntu კომპიუტერზე ამუშავება. ყველაზე “ნაღდი” არის WINE ბიბლიოთეკების გამოყენება. პროგრამის დაყენებაც კი საჭირო არ არის.

დაიმახსოვრეთ, რომ ქვემოთ მოცემული ხერხის გამოყენებისთვის საჭიროა რომ თქვენ შეძენილი გქონდეთ ლიცენზირებული MatLab7.

თუ ავიღებთ სადმე დაყენებულ მატლაბს და გავუშვებთ გამშვებ ფაილს {მატლაბი}/bin/win32/MATLAB.exe,  მიიღებთ შემდეგ შეცდომას:

ამის გამოსასწორებლად: ფაილში {მატლაბი}/bin/win32/license.dat მდებარე HOSTID=DISK_SERIAL_NUM= წარწერის გასწვრივ მდგომი მნიშვნელობა[ხისტი დისკის სერიული ნომერი] ჩასვით ფაილში ~/.wine/dosdevices/c:/.windows-serial [თუ არ არსებობს – შეგიძლიათ თავისუფლად შექმნათ ის – ჩვეულებრივი ტექსტური ფაილის სახით].

მატლაბი გაიშვება და [თითქმის] ჩვეულებრივ იმუშავებს. შესაძლოა, ალაგ-ალაგ ამოაგდოს შეცდომები.

ჩემ სისტემაზე Ubuntu 10.10 Maverick Meerkat x86, Wine1.2-თ, მუშაობს:

  • ბრძანებები
  • *.m სცენარ-ფაილები
  • მომზმარებლის მიერ განსაზღვრული ფუნქციები
  • ფაილების წაკითხვა/შენახვა
  • ისტორია
  • გრაფიკების აგება

გრაფიკების აგება იმიტომ დავხარე, რომ მთლად კარგად არ მუშაობს მისი ასახვითი ძრავა(rendering engine)… გრაფიკის ფონი შავია და მიახლოებისას, ნახატი აირევა ხოლმე… არადა, ყველაფერი მშვენივრად მუშაობდა WINE ვერსიაში 1.2rc3… იმის მერე არ მიცდია და არ ვიცი რომელ ვერსიაში შეწყდა ამ პროგრამის გამართული მუშაობა.

ამ წუთისთვის გამოსულია Wine 1.3.4. ეს ვერსია ჯერ არ მიცდია, ამიტომ თუ ვინმე ცდით, მითხარით რა… 😉

აი, ჩემი ეკრანიც: