Professional Documents
Culture Documents
Nhóm:
Họ và tên:
MSSV:
Mục tiêu:
Các tín hiệu tương tự thường là liên tục thời gian. Bằng cách lấy mẫu tín hiệu tương
tự, ta được tín hiệu đã lấy mẫu hay gọi là tín hiệu rời rạc thời gian hay tín hiệu số. Tín hiệu
có thể phân thành 2 loại là tín hiệu xác định và tín hiệu ngẫu nhiên. Tín hiệu xác định
thường được dùng cho mục đích kiểm test và được mô tả bằng các hàm toán học. Tín hiệu
ngẫu nhiên mang thông tin như tín hiệu tiếng nói, âm nhạc,… Một số tín hiệu xác định cơ
bản:
Tín hiệu có biên độ 1 ở gốc thời gian và bằng 0 ở mọi thời điểm khác
1
Hình 1: Xung lực đơn vị
2. Bậc đơn vị
Tín hiệu bậc đơn vị bằng 0 trong quá khứ và bằng 1 kể từ gốc thời gian về sau. Tín hiệu
này thường được dùng để mô tả các hệ thống nhân quả.
Trong đó là biên độ, là tần số góc (radian/giây) còn là pha ban đầu
Tín hiệu rời rạc tương ứng có dạng
Trong đó:
Hình 1: Bandpass signal sampling: (a) Phổ tần tín hiệu gốc; (b) Phố tần tín hiệu giả khi tần số
lấy mẫu là 17.5 MHz.
2. Tái tạo lại tín hiệu tương tự
Để tái tạo lại tín hiệu tương tự từ tín hiệu số, trước tiên ta đưa tín hiệu số qua mạch
DAC sau đó sử dụng mạch lọc thấp qua để tạo lại tín hiệu tương tự. Đáp ứng xung của
mạch lọc thấp qua:
Tín hiệu được tái tạo sẽ là tích chập của tín hiệu lấy mẫu với đáp ứng xung của mạch
lọc thấp qua:
C. Tạo tín hiệu sử dụng ngôn ngữ Python
Để thực hành xử lý tín hiệu số với Python, chúng ta sử dụng 3 thư viện chính:
Ví dụ:
a = np.linspace(2.0, 3.0,
num=5, endpoint= False)
b = np.linspace(2.0, 3.0,
num=5, endpoint=True)
>>> np.arange(3.0)
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
Ví dụ:
y = np.sin(3*np.pi*t+np.pi/6)
pi Số 𝜋
ones(m,n) Tạo ra một mảng m hàng n cột các giá trị
1
zeros(m,n) Tạo ra một mảng m hàng n cột các giá trị
0
concatenate(m, n) Ghép 2 mảng lại với nhau
plot(x, y, fmt) Vẽ tín hiệu y theo x, với các thuộc tính
màu sắc, ký hiệu từ tham số fmt
Ví dụ:
plot(x, y, 'bo') # Vẽ x và y
đánh dấu bằng vòng tròn màu
xanh
plot(x, y, 'r+') # Vẽ x và y
đánh dấu bằng dấu + màu đỏ
matplotlib stem(n, y, fmt)
Vẽ tín hiệu y theo n theo dạng lấy mẫu
tín hiệu
step(m, y, fmt) Vẽ tín hiệu y theo n theo dạng bậc thang
title(title) Các hàm đặt tên cho biểu đồ, đặt tên cho
xlabel(xlabel) trục x và đặt tên cho trục y
ylabel(xlabel)
Ví dụ:
square(2 * np.pi * 5 * t)
#Tạo sóng vuông tần số 5Hz,
với tần số lấy mẫu là 500Hz
Các hàm được nêu trong bảng trên được viết rút gọn. Để xem đầy đủ, sinh viên xem tại:
http://www.numpy.org/
https://www.scipy.org/
https://matplotlib.org/
Công cụ hỗ trợ: sinh viên thực hiện các bài thực hành bằng một trong các công cụ sau:
Visual Studio Code với Jupyter Phần mềm Offline Cài Python và thư viện
Notebook