Thông báo

Collapse
No announcement yet.

Hỏi về cách gây nhiễu và lọc nhiễu tín hiệu - matlab

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Hỏi về cách gây nhiễu và lọc nhiễu tín hiệu - matlab

    Tình hình là chưa biết tí gì về matlab mà thầy yêu cầu tự về tìm hiểu . Nên có mấy cái đang tìm hiểu mà vẫn ko hiểu nên post lên nhờ mấy bạn chỉ giáo .

    clf;
    R = 51;
    d = 0.8*(rand(R,1) - 0.5); % Generate random noise
    m = 0:R-1;
    s = 2*m.*(0.9.^m); % Generate uncorrupted signal
    x = s + d'; % Generate noise corrupted signal
    subplot(2,1,1);
    plot(m,d','r-',m,s,'g--',m,x,'b-.');
    xlabel('Time index n');ylabel('Amplitude');
    legend('d[n] ','s[n] ','x[n] ');
    x1 = [0 0 x];x2 = [0 x 0];x3 = [x 0 0];
    y = (x1 + x2 + x3)/3;
    subplot(2,1,2);
    plot(m,y(2:R+1),'r-',m,s,'g--');
    legend( 'y[n] ','s[n] ');
    xlabel('Time index n');ylabel('Amplitude');

    Ban đâu tạo tín hiệu s và tiếng ồn d --> Tạo tín hiệu nhiễu x = s +d'. Bạn nào chỉ mình tại sao dấu ' ở đây có tác dụng gì vì mình vẽ ra đồ thị thử thì d và d' giống nhau nhưng nếu đổi x=s+d' bằng x=s+d thì lại code trên lại chạy không dc .

    ps : Mình mới học matlab có j sai mong bỏ qua

  • #2
    d' là chuyển vị của d bạn ạ. Vì vậy hiển nhiên lệnh x=s+d không thể chạy đc do phép cộng ma trận không thực hiện được vì s là vector cột mà d' lại là vector hàng

    Comment


    • #3
      Thank bạn nha, mới học nên câu hỏi hơi ngu

      Comment

      Về tác giả

      Collapse

      mot_con_gio Tìm hiểu thêm về mot_con_gio

      Bài viết mới nhất

      Collapse

      Đang tải...
      X