User Tag List

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối
Hiện kết quả từ 1 tới 10 của 12

Chủ đề: Các bác cho em hỏi chút về matlab

  1. #1
    Quân nhân danh dự Avatar của Mr.vulh_bk
    Tham gia ngày
    Dec 2003
    Bài gửi
    3.493

    Mặc định Các bác cho em hỏi chút về matlab

    Bài tập thầy ra cho bọn em thế này :
    -Mô phỏng các tín hiệu truyền dẫn đã học,phân tích và vẽ phổ tín hiệu.
    -Mô phỏng ước lượng tỉ số lỗi bit đường lên và đường xuống trong hệ thống thông tin di động.
    Đối với các bác đã thạo matlab chắc không vấn đề gì nhưng với người mới học như em thì...Nhiều thứ phải xem quá,không thể ôm hết được.Các bác có thể gợi ý cho em thuật toán của bài này không ạ ?Thanks !

    The end is just the beginning

  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

    Cái này có hết rồi còn gì hả chú Vũ mở cái Modelink lên từ AM,FM,PM đến BPSK,QPSK,FSK,M-FSK, QAM đều hỗ trợ, thích xem mã CT thì check ra cái file .m được ngay (chẳng qua nó gọi hàm trong matlab rồi package thành 1 cái symbol trong modelink thôi), thích vẽ phổ thì dùng cái symbol fft rồi nhập tham số cho nó vào ---> Xong ý thứ 1

    Còn ý thứ 2 cũng đơn giản, vấn đề là chú chọn hệ thống thế nào ... chú phải chọn mã tín hiệu (vitterbi, CRC, parity ...) loại điều chế (QAM hay MFSK ...), tùy theo hệ thống di động mà chú mô phỏng (CDMA,GSM hay GPRS), chú ý tốc độ thông tin đầu vào nhé, thích hoành tráng thì ghép kênh ... cuối cùng là chọn mô hình đường truyền theo dạng Fading, Reyleigh, Nakagami, Rice (cái này có công thức nhưng Matlab hỗ trợ sẵn symbol rồi, đem cái tìn hiệu sau điều chế đưa vào khối này thôi) nhớ là ngoài fading còn có nhiễu trắng cộng AWGN (cũng có) ...

    Nếu chú ngồi viết mô hình toán học thì mệt đấy tớ hình như còn cái mã mô phỏng kênh Reyleigh (bằng cái phương pháp Flaykenson , hi hi ko biết có đúng tên không, chú cần thì tớ gửi cho)

    Anyway, tớ nghĩ chú nên dùng các mô hình có sẵn, hiểu các tham số nạp vào là giải quyết được, đang bận chứ nếu không cũng giúp chú, sorry nhé

    P/S : Có 1 quyển dạy về mô phỏng các hệ thống VT bằng Matlab tớ up lên BKLIB rồi đó

    Chúc may mắn, à quên còn làm PIC không còn 10 con rfPIC đây này.

  3. #3
    Quân nhân danh dự Avatar của Mr.vulh_bk
    Tham gia ngày
    Dec 2003
    Bài gửi
    3.493

    Mặc định

    Thanks bác,biết thế em nhờ luôn các bác làm cho rồi, .Em cũng đã tìm thử cái modelink nhưng chưa thấy,để em tìm lại xem.Chỗ PIC của bác cho bọn em dùng tẹt ga,hiện tại bọn em mới chỉ bắt đầu xem từ con 16F877A,cũng mệt phết bác ạ.

  4. #4
    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ấy cái đó nằm trong Communication Toolbox, DSP Toolbox, còn các dạng nguồn tín hiệu và máy đo thuộc Simulink Toolbok , một số mô hình được đóng gói từ các mô hình nhỏ hơn muốn xem kĩ thì kích phải mouse chọn Look under mark mà xem, còn muốn xem file .m thì vào cái thư viện chứa file biểu diễn các mô hình này (search đuôi *.mdl là tìm ra các file .m thôi)

    Trên mạng chắc cũng có đó

  5. #5
    binhjuventus
    Guest

    Mặc định

    tu Vũ, nên dùng 628A trước, đừng đập ngay vào 877A, đấy là lời khuyên của dân VN dùng PIC còn tớ thấy bọn nước ngoài nó hay bắt đầu từ 84A cơ!

  6. #6
    Stanley Ipkiss Avatar của The Fool
    Tham gia ngày
    Jul 2003
    Bài gửi
    867

    Mặc định

    Quote Nguyên văn bởi binhjuventus
    tu Vũ, nên dùng 628A trước, đừng đập ngay vào 877A, đấy là lời khuyên của dân VN dùng PIC còn tớ thấy bọn nước ngoài nó hay bắt đầu từ 84A cơ!
    dùng bắt đầu từ cái gì mà chả được, thậm chí chơi luôn mấy con xịn cũng được miễn là nó đáp ứng mấy nhu cầu của mình :biggrin: Tớ còn chẳng biết cái tập lệnh ASM của nó thế nào nữa cơ, dùng luôn C + bootloader thế là xong. :biggrin: PIC cũng chỉ là một loại vi điều khiển thôi mà, có gì mà cao siêu
    Học như nghịch thủy hành châu, bất tiến tất thoái.
    Tâm như bình nguyên mục mã, dị phóng nan truy.


  7. #7
    Laziness is killing me... Avatar của Aprilsnow
    Tham gia ngày
    Oct 2002
    Bài gửi
    1.187

    Mặc định

    Quote Nguyên văn bởi Stanley
    dùng bắt đầu từ cái gì mà chả được, thậm chí chơi luôn mấy con xịn cũng được miễn là nó đáp ứng mấy nhu cầu của mình :biggrin: Tớ còn chẳng biết cái tập lệnh ASM của nó thế nào nữa cơ, dùng luôn C + bootloader thế là xong. :biggrin: PIC cũng chỉ là một loại vi điều khiển thôi mà, có gì mà cao siêu
    Biết ASM + cấu trúc thanh ghi, địa chỉ bộ nhớ.....của một con IC thì có thể lập trình con gì cũng được. Tuy nhiên cách này quá trâu và đòi hỏi các cao thủ. Cách tốt nhất là kiếm lấy một bộ C compiler cho nó là tốt nhất

  8. #8
    Quân nhân danh dự Avatar của Mr.vulh_bk
    Tham gia ngày
    Dec 2003
    Bài gửi
    3.493

    Mặc định

    Các bác check hộ em cái phần vẽ phổ của tín hiệu Manchester (đánh dấu đỏ).Không biết làm như vậy đã đúng chưa ạ ?
    Mã:
    x = randsrc(1,100,[1,0])
    %///////////////////////////////////
    for i= 1:length(x);
        for j = 1:100;
            z=100*(i-1)+j; 
            M1(1,z)= x(1,i);
        end
    end
    %?????????????????????????????????
    
    z=0;a=0;
    for i= 1:length(x)
        if x(1,i) == 0
            for j = 1:100
                 if j < 51
                    z=100*(i-1)+j; 
                    y(1,z)= -1;
                else
                    z=100*(i-1)+j; 
                    y(1,z)= 1;
                end
            end
            
        else
            for j = 1:100
                if j < 51
                    z=100*(i-1)+j; 
                    y(1,z)= 1;
                else
                    z=100*(i-1)+j; 
                    y(1,z)= -1;
                end
            end
        end
    end
    x =1:length(y) 
    t = 0:0.001:0.6;
    Y=fft(y)
    plot(1000*t(1:50),Y(1:50));

  9. #9
    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

    Quote Nguyên văn bởi vulh_bk
    Các bác check hộ em cái phần vẽ phổ của tín hiệu Manchester (đánh dấu đỏ).Không biết làm như vậy đã đúng chưa ạ ?
    Mã:
    x = randsrc(1,100,[1,0])
    %///////////////////////////////////
    for i= 1:length(x);
        for j = 1:100;
            z=100*(i-1)+j; 
            M1(1,z)= x(1,i);
        end
    end
    %?????????????????????????????????
    
    z=0;a=0;
    for i= 1:length(x)
        if x(1,i) == 0
            for j = 1:100
                 if j < 51
                    z=100*(i-1)+j; 
                    y(1,z)= -1;
                else
                    z=100*(i-1)+j; 
                    y(1,z)= 1;
                end
            end
            
        else
            for j = 1:100
                if j < 51
                    z=100*(i-1)+j; 
                    y(1,z)= 1;
                else
                    z=100*(i-1)+j; 
                    y(1,z)= -1;
                end
            end
        end
    end
    x =1:length(y) 
    t = 0:0.001:0.6;
    Y=fft(y)
    plot(1000*t(1:50),Y(1:50));
    http://info.vub.ac.be/infoef/telepro...Concepts14.ppt

    Cũng được đó, vẽ phổ của Manchester và so sánh với cái linh tớ đưa ra đó :

    Thêm dòng này vào vẽ phổ : Y=fft(y,512)
    f = 1000*(0:256)/512;
    Pyy = Y.* conj(Y) / 512;
    plot(f,Pyy(1:257));

  10. #10
    Quân nhân danh dự Avatar của Mr.vulh_bk
    Tham gia ngày
    Dec 2003
    Bài gửi
    3.493

    Mặc định

    Thanks bác Nothing.Cho em hỏi thêm tí hần điều chế FSK em tìm thấy file fskmod.m ->khi mô phỏng chỉ cần đoạn mã sau hay cứ phệt vào tất (:
    Mã:
    % Assure that X, if one dimensional, has the correct orientation
    wid = size(x,1);
    if (wid == 1)
        x = x(:);
    end
    
    % Obtain the total number of channels
    [nRows, nChan] = size(x);
    
    % Initialize the phase increments and the oscillator phase for modulator with 
    % discontinous phase.  phaseIncr is the incremental phase over one symbol,
    % across all M tones.  phIncrSamp is the incremental phase over one sample,
    % across all M tones.
    phaseIncr = [0:nSamp-1]'*[-(M-1):2:(M-1)]*pi*freq_sep*samptime;
    phIncrSym = phaseIncr(end,:);
    phIncrSamp = phaseIncr(2,:);    % recall that phaseIncr(1:0) = 0
    OscPhase = zeros(nChan, M);
    prevPhase = 0;
    
    % phase = nSamp*# of symbols x # of channels
    Phase = zeros(nSamp*nRows, nChan);
    
    for iChan = 1 : nChan
    
        for iSym = 1:length(x)
            
            % Get the initial phase for the current symbol
            if (phase_cont)
                ph1 = prevPhase;
            else
                ph1 = OscPhase(x(iSym,iChan)+1);
            end
    
            % Compute the phase of the current symbol by summing the initial phase
            % with the per-symbol phase trajectory associated with the given M-ary
            % data element.
            Phase(nSamp*(iSym-1)+1:nSamp*iSym,iChan) = ...
                ph1*ones(nSamp,1) + phaseIncr(:,x(iSym,iChan)+1);
    
            % Update the oscillator for a modulator with discontinuous phase.
            % Calculate the phase modulo 2*pi so that the phase doesn't grow too
            % large.
            if (~phase_cont)
                OscPhase(iChan,:) = ...
                rem(OscPhase(iChan,:) + phIncrSym + phIncrSamp, 2*pi);
            end
    
            % If in continuous mode, the starting phase for the next symbol is the
            % ending phase of the current symbol plus the phase increment over one
            % sample.
            prevPhase = Phase(nSamp*iSym,iChan) + phIncrSamp(x(iSym,iChan)+1);
        end
    end
    
    y = exp(j*Phase);
    
    % Restore the output signal to the original orientation
    if(wid == 1)
        y = y.';
    end

    Lúc vẽ phổ thì chỉ cần nhập các thông số như example dưới đây hay phải thêm cái gì khác nữa không ?

    Mã:
    M = 4; freqsep = 8; nsamp = 8; Fs = 32;
    x = randint(1000,1,M); % Random signal
    y = fskmod(x,M,freqsep,nsamp,Fs); % Modulate.
    ly = length(y);
    % Create an FFT plot.
    freq = [-Fs/2 : Fs/ly : Fs/2 - Fs/ly];
    Syy = 10*log10(fftshift(abs(fft(y))));
    plot(freq,Syy)

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối

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. chủ nghĩa khủng bố,chúng ta phải làm gì?
    Gửi bởi giant trong mục Thảo luận
    Trả lời: 8
    Bài cuối: 23-10-2004, 10:27 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