Bài thực hành xử lý tín hiệu số với Matlab

doc 17 trang vanle 9770
Bạn đang xem tài liệu "Bài thực hành xử lý tín hiệu số với Matlab", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docbai_thuc_hanh_xu_ly_tin_hieu_so_voi_matlab.doc

Nội dung text: Bài thực hành xử lý tín hiệu số với Matlab

  1. HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA VÔ TUYẾN ĐIỆN TỬ BÀI THỰC HÀNH XỬ LÝ TÍN HIỆU SỐ VỚI MATLAB HÀ NỘI - 2014
  2. BÀI THỰC HÀNH 1: Tạo tín hiệu trong môi trường Matlab.Vẽ đồ thị các tín hiệu được tạo ra. Bài 1: - Tạo 120 mẫu tín hiệu điện áp có biểu thức: u 10.e tcos(2 .100.t) . Biết 0.001, tần số rời rạc hóa Fs=1000 (Hz). - Sử dụng các lệnh plot, stem để vẽ đồ thị tín hiệu nêu trên, trên đồ thị có ghi chú như hình vẽ hướng dẫn, kèm theo tên học viên là: Đặng Song Toàn. Học viên tự chọn số lượng mẫu để hiển thị, sao cho hình dễ quan sát. Bài làm : Tín hiệu u 10.e tcos(2 .100.t) là tín hiệu liên tục (Analog Signal). Để nhận được tín hiệu rời rạc thực hiện thay thế t = nT. Trong đó T là chu kỳ rời rạc hóa. Vậy tín hiệu rời rạc sẽ có dạng như sau: U = 10. 1 Với chu kỳ rời rạc hóa T , với Fs là tần số rời rạc hóa. Nên thực hiện thay thế vào Fs biểu thức trên ta nhận được: U = 10. ở đây Fs = 1000 (Hz) và 0.001 nên thay vào biểu thức ta được : U = 10. = 10. Từ cửa sổ lệnh matlab ta nhập vào các lệnh như sau : >> A = 10; >> a = 0.001; >> n = [1:120];
  3. >> Fs = 1000; >> U = A*exp(-a*n*1/Fs).* ; Vẽ đồ thị sử dụng lệnh plot: >> plot(U) >>title('Tin hieu dang COS F=100, Fs=1000(Hz), DANG SONG TOAN); >> xlabel('So thu tu cua mau n'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú : + Trục tung là volt + Trục hoành là số thứ tự của mẫu. Ta Nhận được đồ thị như sau : Hình 1 Trục hoành ứng với mẫu từ 1 đến 120
  4. Để biểu diễn trục hoành theo thời gian cần phải quy mẫu về thang thời gian tức là thay n n bằng nT . Fs Vẽ theo thời gian : >> plot(n/Fs,U) >>title('Tin hieu dang COS F=100, Fs=1000(Hz), DANG SONG TOAN); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú: + Trục tung là volt + Trục hoành là thời gian (s) Nhấn enter ta được đồ thị như sau : Hình 2 * Nhận xét: Mặc dù tín hiệu là rời rạc, nhưng đồ thị lại cho thấy tín hiệu liên tục. Lý do là lệnh plot nối liền các mẫu với nhau. Lệnh này tiện lợi ở chỗ, nó cho ta cái nhìn tổng thể về hình dạng của tín hiệu.
  5. Để có hình ảnh của tín hiệu rời rạc, ta sử dụng lệnh stem. Gõ vào cửa sổ lệnh matlab như sau: >> stem(n/Fs,U) >>title('Tin hieu dang COS F=100, Fs=1000(Hz), DANG SONG TOAN); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ta nhận được đồ thị như sau: Hình 3 Bài 2 : - Tạo 120 mẫu tín hiệu điện áp có biểu thức: u 10.e tsin(2 .100.t) . Biết 0.001 , tần số rời rạc hóa Fs=1000 (Hz). - Sử dụng các lệnh plot, stem để vẽ đồ thị tín hiệu nêu trên, trên đồ thị có ghi chú như hình vẽ hướng dẫn, kèm theo tên học viên là Đặng Song Toàn. Học viên tự chọn số lượng mẫu để hiển thị, sao cho hình dễ quan sát.
  6. Bài làm : Tín hiệu u 10.e tsin(2 .100.t) là tín hiệu liên tục(Analog Signal). Để nhận được tín hiệu rời rạc thực hiện thay thế t = nT. Trong đó T là chu kỳ rời rạc hóa. Vậy tín hiệu rời rạc sẽ có dạng như sau: U = 10. 1 Với chu kỳ rời rạc hóa T , với Fs là tần số rời rạc hóa. Nên thực hiện thay thế vào Fs biểu thức trên ta nhận được: U = 10. ở đây Fs = 1000 (Hz) và 0.001 nên thay vào biểu thức ta được : U = 10. = 10. Từ cửa sổ lệnh matlab ta nhập vào các lệnh như sau : >> A = 10; >> a = 0.001; >> n = [1:120]; >> Fs = 1000; >> U = A*exp(-a*n*1/Fs).* ; Vẽ đồ thị sử dụng lệnh plot: >> plot(U) >>title('Tin hieu dang SIN F=100, Fs=1000(Hz),DANG SONG TOAN'); >> xlabel('So thu tu cua mau n'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú :
  7. + Trục tung là volt + Trục hoành là số thứ tự của mẫu Nhận được đồ thị như sau : Hình 4 Trục hoành ứng với mẫu từ 1 đến 120 Để biểu diễn trục hoành theo thời gian cần phải quy mẫu về thang thời gian tức là thay n n bằng nT . Fs Vẽ theo thời gian : >> plot(n/Fs,U) >>title('Tin hieu dang SIN F=100, Fs=1000(Hz),DANG SONG TOAN'); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú: + Trục tung là volt
  8. + Trục hoành là thời gian (s) Nhấn enter ta được đồ thị như sau : Hình 5 * Nhận xét: Mặc dù tín hiệu là rời rạc, nhưng đồ thị lại cho thấy tín hiệu liên tục. Lý do là lệnh plot nối liền các mẫu với nhau. Lệnh này tiện lợi ở chỗ, nó cho ta cái nhìn tổng thể về hình dạng của tín hiệu. Để có hình ảnh của tín hiệu rời rạc, ta sử dụng lệnh stem. Gõ vào cửa sổ lệnh matlab như sau: >> stem(n/Fs,U) >>title('Tin hieu dang SIN F=100, Fs=1000(Hz),DANG SONG TOAN'); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ta nhận được đồ thị như sau:
  9. Hình 6 Bài3: - Tạo 120 mẫu tín hiệu điện áp có biểu thức: u 10.cos(2 .(100+ 10cos(2 .5t)).t) . Biết 0.001 , tần số rời rạc hóa Fs=1000 (Hz). - Sử dụng các lệnh plot, stem để vẽ đồ thị tín hiệu nêu trên, trên đồ thị có ghi chú như hình vẽ hướng dẫn, kèm theo tên học viên ở phần tiêu đề (title) là Đặng Song Toàn. Học viên tự chọn số lượng mẫu để hiển thị, sao cho hình dễ quan sát. Bài làm: Tín hiệu u 10.cos(2 .(100+ 10cos(2 .5t)).t) là tín hiệu liên tục(Analog Signal). Để nhận được tín hiệu rời rạc thực hiện thay thế t = nT. Trong đó T là chu kỳ rời rạc hóa. Vậy tín hiệu rời rạc sẽ có dạng như sau: U = 10. 1 Với chu kỳ rời rạc hóa T , với Fs là tần số rời rạc hóa. Nên thực hiện thay thế vào Fs biểu thức trên ta nhận được:
  10. U = 10. ở đây Fs = 1000 (Hz) . Từ cửa sổ lệnh matlab ta nhập vào các lệnh như sau : >> A = 10; >> n = [1:120]; >> Fs = 1000; >> U = A* ; Vẽ đồ thị sử dụng lệnh plot >> plot(U) >>title('Tin hieu dien ap, Fs=1000(Hz), DANG SONG TOAN'); >> xlabel('So thu tu cua mau n'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú : + Trục tung là volt + Trục hoành là số thứ tự của mẫu Nhận được đồ thị như sau :
  11. Hình 7 Trục hoành ứng với mẫu từ 1 đến 120 Để biểu diễn trục hoành theo thời gian cần phải quy mẫu về thang thời gian tức là thay n n bằng nT . Fs Vẽ theo thời gian : >> plot(n/Fs,U) >>title('Tin hieu dien ap, Fs=1000(Hz), DANG SONG TOAN'); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú: + Trục tung là volt + Trục hoành là thời gian (s) Nhấn enter ta được đồ thị như sau :
  12. Hình 8 * Nhận xét: Mặc dù tín hiệu là rời rạc, nhưng đồ thị lại cho thấy tín hiệu liên tục. Lý do là lệnh plot nối liền các mẫu với nhau. Lệnh này tiện lợi ở chỗ, nó cho ta cái nhìn tổng thể về hình dạng của tín hiệu. Để có hình ảnh của tín hiệu rời rạc, ta sử dụng lệnh stem. Gõ vào cửa sổ lệnh matlab như sau: >> stem(n/Fs,U) >>title('Tin hieu dien ap, Fs=1000(Hz),DANG SONG TOAN'); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ta nhận được đồ thị như sau:
  13. Hình 9 Bài 4 : - Tạo 120 mẫu tín hiệu điện áp có biểu thức: u 10.cos(2 .(100+ 10sin(2 .5t)).t) . Biết 0.001 , tần số rời rạc hóa Fs=1000 (Hz). - Sử dụng các lệnh plot, stem để vẽ đồ thị tín hiệu nêu trên, trên đồ thị có ghi chú như hình vẽ hướng dẫn, kèm theo tên học viên ở phần tiêu đề (title). Học viên tự lựa chọn số lượng mẫu hiển thị sao cho dễ quan sát. Bài làm : Tín hiệu u 10.cos(2 .(100+ 10sin(2 .5t)).t) là tín hiệu liên tục(Analog Signal). Để nhận được tín hiệu rời rạc thực hiện thay thế t = nT. Trong đó T là chu kỳ rời rạc hóa. Vậy tín hiệu rời rạc sẽ có dạng như sau: U = 10.
  14. 1 Với chu kỳ rời rạc hóa T , với Fs là tần số rời rạc hóa. Nên thực hiện thay thế vào Fs biểu thức trên ta nhận được: U = 10. ở đây Fs = 1000 (Hz) . Từ cửa sổ lệnh matlab ta nhập vào các lệnh như sau : >> A = 10; >> n = [1:120]; >> Fs = 1000; >> U = A* ; Vẽ đồ thị sử dụng lệnh plot >> plot(U) >>title('Tin hieu dien ap, Fs=1000(Hz), DANG SONG TOAN'); >> xlabel('So thu tu cua mau n'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú : + Trục tung là volt + Trục hoành là số thứ tự của mẫu Nhận được đồ thị như sau :
  15. Hình 10 Trục hoành ứng với mẫu từ 1 đến 120 Để biểu diễn trục hoành theo thời gian cần phải quy mẫu về thang thời gian tức là thay n n bằng nT . Fs Vẽ theo thời gian : >> plot(n/Fs,U) >>title('Tin hieu dien ap, Fs=1000(Hz), DANG SONG TOAN'); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ở đây do tín hiệu là điện áp nên ta cần ghi chú: + Trục tung là volt + Trục hoành là thời gian (s) Nhấn enter ta được đồ thị như sau :
  16. Hình 11 * Nhận xét: Mặc dù tín hiệu là rời rạc, nhưng đồ thị lại cho thấy tín hiệu liên tục. Lý do là lệnh plot nối liền các mẫu với nhau. Lệnh này tiện lợi ở chỗ, nó cho ta cái nhìn tổng thể về hình dạng của tín hiệu. Để có hình ảnh của tín hiệu rời rạc, ta sử dụng lệnh stem. Gõ vào cửa sổ lệnh matlab như sau: >> stem(n/Fs,U) >>title('Tin hieu dien ap, Fs=1000(Hz), DANG SONG TOAN'); >> xlabel('Thoi gian (s)'); >> ylabel ('Volt'); Ta nhận được đồ thị như sau:
  17. Hình 12