User Tag List

+ Trả lời chủ đề
Hiện kết quả từ 1 tới 3 của 3

Chủ đề: Mã nguồn Matlab cho mô phỏng

  1. #1
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định Mã nguồn Matlab cho mô phỏng

    Hòm thư FET

    User : backhoafet
    pass : bachkhoaforum

  2. #2
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    Microstrip filter - Chebyshev with 0.5dB ripple, order N=5
    %--------------------------------------------------------
    % Chebyshev with 0.5dB ripple, order N=5
    %--------------------------------------------------------
    %g1=1.7058;
    %g2=1.2296;
    %g3=2.5408;
    %g4=1.2296;
    %g5=1.7058;
    %--------------------------------------------------------
    % Linear phase order N=5
    %--------------------------------------------------------
    g1=0.9303;
    g2=0.4577;
    g3=0.3312;
    g4=0.2090;
    g5=0.0718;

    Z=zeros(1,11);
    %--------------------------------------------------------
    Z1=1/g1;
    Z2=g2;
    Z3=1/g3;
    Z4=g4;
    Z5=1/g5;
    %--------------------------------------------------------
    Zue1=1;
    Zue2=1;
    Zue3=1;
    Zue4=1;
    %--------------------------------------------------------
    % Step 1
    %------------------------------------------------------------
    [Zue_temp,Zc_temp]=CtoL(Zue1,Z1); Zue1=Zue_temp;Z1=Zc_temp;
    [Zue_temp,Zc_temp]=CtoL(Zue2,Z5); Zue2=Zue_temp;Z5=Zc_temp;
    %------------------------------------------------------------
    % Step 2
    %------------------------------------------------------------
    [Zue_temp,Zc_temp]=LtoC(Zue1,Z2); Zue1=Zue_temp;Z2=Zc_temp;
    [Zue_temp,Zc_temp]=LtoC(Zue2,Z4); Zue2=Zue_temp;Z4=Zc_temp;
    [Zue_temp,Zc_temp]=LtoC(Zue3,Z1); Zue3=Zue_temp;Z1=Zc_temp;
    [Zue_temp,Zc_temp]=LtoC(Zue4,Z5); Zue4=Zue_temp;Z5=Zc_temp;
    %---------------- Collect the result in a array --------------------------
    Z(1)=1;Z(2)=Z1;Z(3)=Zue3;Z(4)=Z2;Z(5)=Zue1;Z(6)=Z3 ;Z(7)=Zue2;Z(8)=Z4;Z(9)=Zue4;Z(10)=Z5;Z(11)=1;
    %--------------------- Draw the anttenuation graph --------------------------
    fc=5*1e9;up=3*1e8/sqrt(4.3);
    Z0=1;rg=1;rl=1;f=0.0;

    for i=1:200;
    omega=2*pi*f;
    S=j*Z0*tan(omega/(8*fc));
    A0=[1 rg;0 1];
    A1=[1 0; S/Z1 1];
    A2=(1./sqrt(1-S.^2))*[1 S*Zue3;S./Zue3 1];
    A3=[1 0; S/Z2 1];
    A4=(1./sqrt(1-S.^2))*[1 S*Zue1;S./Zue1 1];
    A5=[1 0; S/Z3 1];
    A6=(1./sqrt(1-S.^2))*[1 S*Zue2;S./Zue2 1];
    A7=[1 0; S/Z4 1];
    A8=(1./sqrt(1-S.^2))*[1 S*Zue4;S./Zue4 1];
    A9=[1 0; S/Z5 1];
    A10=[1 0;1/rl 1];
    A=A0*A1*A2*A3*A4*A5*A6*A7*A8*A9*A10;
    H(i)=(1+rl/rg)./A(1);
    freq(i)=f;
    f=f+0.01*fc;
    end

    plot(freq/1e9,-20*log10(abs(H)),'LineWidth',1.5);grid on;ylim([0 5]);
    zlabel('frequency,MHz');ylabel('Attenuation,dB');
    title('Nineth-order lowpass filter');
    %--------------------------------------------------------------------------
    Z(1)=1;Z(2)=Z1;Z(3)=Zue3;Z(4)=Z2;Z(5)=Zue1;Z(6)=Z3 ;Z(7)=Zue2;Z(8)=Z4;Z(9)=Zue4;Z(10)=Z5;Z(11)=1;
    %------------ Denormalize the impedance of transmission lin----------------
    for i=1:1:length(Z)
    Z(i)=Z(i)*50;
    end
    %50.0000 153.7461 74.0973 55.2211 48.7877 150.9662 57.1005 254.9059 53.3495 796.3788(NOT SUITABLE FOR PCB) 50.0000

    %---------------------------------------------------------------------------
    % Consider new examples for Chebyshev ripple 0.5dB cut-off frequency 5GHz
    Z(1)=50.0;Z(2)=129.3;Z(3)=81.5;Z(4)=24.0;Z(5)=80.0 ;Z(6)=19.7;Z(7)=80.0;Z(8)=24.0;Z(9)=81.5;Z(10)=129 .3;Z(11)=50.0;
    %------------------------- Caculation w/h ratio-----------------------------
    h=1.6; %mm
    phir=4.3;
    up=3.0*1e8;
    f=5*1e9;
    w=zeros(1,length(Z));
    Z0=50;
    Zf=376.8;
    l=up/(8*f*sqrt(epsr));
    fprintf('Microstrip length l=%f mm \n',l*1e3);
    for i=1:1:length(Z)
    % For case 1: Assume that w/h <= 2
    A=(2*pi*Z(i)/Zf)*sqrt(0.5*(phir+1))+((phir-1)/(phir+1))*(0.23+(0.11/phir)); % w/h <2
    k=(8*exp(A))/(exp(2*A)-2);
    w(i)=k*h;

    if (w(i)/h>2)
    B=(Zf*pi)/(2*Z(i)*sqrt(phir)); % w/h >=2
    k=(2/pi)*(B-1-log(2*B-1)+((phir-1)/(2*phir))*(log(B-1)+0.39-(0.61/phir)));
    w(i)=k*h;
    end
    end

  3. #3
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    % Multipath fading simulation by Jakes's method or sum of sinusoids method
    function [gau,gph]=jakes(m,ns,lm,fm,tsamp)
    % Define the input parameters of funtion
    % m : Number of low-frequency oscillators
    % ns : Number of Reyleigh samples
    % lm : Local mean (dB)
    % fm : Maximum Doppler frequency (Hz)
    % tsamp : Sample period
    %----------------------------------------------------------
    % Define the output parameters of funtion
    % gau : Auto-correlation (dB)
    % gph : Phase of received envelope
    %----------------------------------------------------------
    % Calculate the coefficiens of Jakes's method
    N=2*(2*m+1);

    for i=1:1: (ns+1)
    gi=0;gq=0;
    for n=1:1:m
    fn=fm*cos(2*pi*n/N);
    betan=pi*n/m;
    gi=gi+2*sqrt(2)*cos(betan)*cos(2*pi*i*tsamp*fn);
    gq=gq+2*sqrt(2)*sin(betan)*cos(2*pi*i*tsamp*fn);
    end
    gi=gi+2*cos(2*pi*fm*i*tsamp);
    gau(i)=10*log10((sqrt(gi.^2+gq.^2))); % Calculate auto-correlation (dB)
    gph(i)=atan(gq/gi); % Phase of received envelope
    end

    %--------------------------------------------------------------------
    lm=1; % Local mean =1
    fm=1000; % Maximum doppler frequency =1000 Hz
    tsamp=1e-4; % Sample period = 1e-4
    n=[0:1:200];

    g=10*log10(0.5*lm*besselj(0,2*pi*fm*tsamp*n));
    [y1,y2]=fgn(200,1,1000,0.0001);
    [y3,y4]=jakes(8,200,1,1000,0.0001);
    plot(n,g,n,y1,n,y2);

+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Chủ đề tương tự

  1. Có ai dùng thạo Matlab ko, help me, gấp
    Gửi bởi lê đoàn thanh lâm trong mục Viện Toán tin ứng dụng
    Trả lời: 7
    Bài cuối: 15-04-2007, 08:23 AM
  2. matlab?
    Gửi bởi vodanh142 trong mục Ngành Kỹ thuật điều khiển và Tự động hóa
    Trả lời: 0
    Bài cuối: 26-10-2006, 11:27 PM
  3. xin các bác cho biết cách học matlab hiệu quả
    Gửi bởi lethanhtoan2004 trong mục Ngành Kỹ thuật điều khiển và Tự động hóa
    Trả lời: 5
    Bài cuối: 04-10-2006, 03:43 PM
  4. matlab
    Gửi bởi blackcat trong mục Ngành Kỹ thuật điều khiển và Tự động hóa
    Trả lời: 13
    Bài cuối: 14-12-2005, 03:52 PM

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube