Nguyễn Cơng Phương
Xử lý tín hiệu số và ứng dụng
Vi xử lý tín hiệu số
Nội dung
I. Khái niệm chung
II. Tín hiệu và hệ thống rời rạc
III. Lọc số
IV. Vi xử lý tín hiệu số
V. Một số ví dụ ứng dụng
sites.google.com/site/ncpdhbkhn
2
Vi xử lý tín hiệu số
1.
2.
3.
4.
5.
6.
Giới thiệu
Cấu trúc chung của các bộ vi xử lý
Định dạng số của các bộ vi xử lý
Tập lệnh
Các bộ vi xử lý mở rộng
Cài đặt thuật tốn xử lý tín hiệu lên DSP
sites.google.com/site/ncpdhbkhn
3
Giới thiệu (1)
Xử lý dữ liệu
Xử lý văn bản, quản lý dữ liệu,
Ứng dụng điển hình hệ điều hành, v.v…
Phép tốn chính
Dịch chuyển dữ liệu (A B)
Đánh giá (If A=B then …)
https://en.w ikipedia.org/w iki/Pentium_FDIV_bug
Tính tốn tốn học
Xử lý tín hiệu số, điều
khiển chuyển động, mô
phỏng, v.v…
Cộng (A + B = C)
Nhân (A B = C)
/>truments&item_type=topic
sites.google.com/site/ncpdhbkhn
4
Giới thiệu (2)
/>
https://en.w ikipedia.org/w iki/Digital_filter
sites.google.com/site/ncpdhbkhn
5
Giới thiệu (3)
Smith, S.W. (1999) The Scientist and Engineer’s Guide to Digital Signal Processing, California Technical Publishing
sites.google.com/site/ncpdhbkhn
6
Giới thiệu (4)
/>
sites.google.com/site/ncpdhbkhn
7
Vi xử lý tín hiệu số
1.
2.
3.
4.
5.
6.
Giới thiệu
Cấu trúc chung của các bộ vi xử lý
Định dạng số của các bộ vi xử lý
Tập lệnh
Các bộ vi xử lý mở rộng
Cài đặt thuật tốn xử lý tín hiệu lên DSP
sites.google.com/site/ncpdhbkhn
8
Cấu trúc chung của các bộ vi xử lý (1)
100
100
100
101
D
x[n – 3]
101
D
x[n – 4]
101
D
x[n – 5]
102
C
x[n – 2]
102
C
x[n – 3]
102
C
x[n – 4]
103
B
x[n – 1]
103
B
x[n – 2]
103
B
x[n – 3]
104
A
x[n]
104
A
x[n – 1]
104
A
x[n – 2]
105
H
x[n – 7]
105
I
x[n ]
105
I
x[n – 1]
106
G
x[n – 6]
106
G
x[n – 7]
106
J
x[n]
107
F
x[n – 5]
107
F
x[n – 6]
107
F
x[n – 7]
108
E
x[n – 4]
108
E
x[n – 5]
108
E
x[n – 6]
109
109
sites.google.com/site/ncpdhbkhn
109
9
Cấu trúc chung của các bộ vi xử lý (2)
y[ n] = a0 x[ n] + a1 x[n − 1] + ... + a7 x[n − 7]
100
101
D
x[n – 3]
102
C
x[n – 2]
103
B
x[n – 1]
104
A
x[n]
105
H
x[n – 7]
106
G
x[n – 6]
107
F
x[n – 5]
108
E
x[n – 4]
×a3
×a2
×a1
×a0
×a7
×a6
×a5
×a4
→ y[n]
109
sites.google.com/site/ncpdhbkhn
10
Cấu trúc chung của các bộ vi xử lý (3)
BỘ NHỚ
Bus địa chỉ
dữ liệu
& lệnh
Bus dữ liệu
Bộ xử lý
trung tâm
(CPU)
BỘ NHỚ
LỆNH (PM)
Bus địa chỉ PM
CPU
chỉ có lệnh
Bus dữ liệu PM
Bus địa chỉ DM
Bus dữ liệu DM
sites.google.com/site/ncpdhbkhn
BỘ NHỚ
DỮ LIỆU (DM)
chỉ có dữ liệu
11
Cấu trúc chung của các bộ vi xử lý (4)
BỘ NHỚ
LỆNH (PM)
Bus địa chỉ PM
chỉ có lệnh
Bus dữ liệu PM
BỘ NHỚ
LỆNH (PM)
Bus địa chỉ PM
lệnh & dữ liệu
thứ cấp
Bus dữ liệu PM
CPU
Bus địa chỉ DM
Bus dữ liệu DM
CPU
Instruction
cache
Dữ liệu
Bus địa chỉ DM
Bus dữ liệu DM
BỘ NHỚ
DỮ LIỆU (DM)
chỉ có dữ liệu
BỘ NHỚ
DỮ LIỆU (DM)
chỉ có dữ liệu
Điều khiển
vào/ra
sites.google.com/site/ncpdhbkhn
12
Vi xử lý tín hiệu số
1. Giới thiệu
2. Cấu trúc chung của các bộ vi xử lý
a) Cơ sở kiến trúc máy tính
b) Kiến trúc TMS320C671x
3.
4.
5.
6.
Định dạng số của các bộ vi xử lý
Tập lệnh
Các bộ vi xử lý mở rộng
Cài đặt thuật tốn xử lý tín hiệu lên DSP
sites.google.com/site/ncpdhbkhn
13
Cơ sở kiến trúc máy tính (1)
Welch, T.B., Wright, C.H.G., & Morrow , M.G. Real-Time Digital Signal Processing from Matlab to C with the TMS320C6x DSPs. CRC Press, 2012
sites.google.com/site/ncpdhbkhn
14
Cơ sở kiến trúc máy tính (2)
• Tập lệnh:
– CISC (complex instruction set computer),
– RISC (reduced instruction set computer).
• Cấu trúc thanh ghi:
– Registry-memory,
– Load-store.
sites.google.com/site/ncpdhbkhn
15
Cơ sở kiến trúc máy tính (3)
Welch, T.B., Wright, C.H.G., & Morrow , M.G. Real-Time Digital Signal Processing from Matlab to C with the TMS320C6x DSPs. CRC Press, 2012
sites.google.com/site/ncpdhbkhn
16
Cơ sở kiến trúc máy tính (4)
• Sắp xếp động
– Các lệnh khơng được thiết kế để tính tốn song song, bộ vi xử
lý lợi dụng sự phụ thuộc lẫn nhau của các lệnh & sắp xếp
chúng để tính tốn song song.
– Ưu điểm: cho phép chạy mã nối tiếp trên cấu trúc song song.
– Nhược điểm: cần bổ sung thêm phần cứng, tiêu thụ nhiều năng
lượng.
• Sắp xếp tĩnh
– Các lệnh được thiết kế để tính tốn song song.
– Ưu điểm: tiết kiệm phần cứng & năng lượng tiêu thụ.
– Nhược điểm: quá phụ thuộc vào máy, kém thích nghi.
sites.google.com/site/ncpdhbkhn
17
Vi xử lý tín hiệu số
1. Giới thiệu
2. Cấu trúc chung của các bộ vi xử lý
a) Cơ sở kiến trúc máy tính
b) Kiến trúc TMS320C671x
3.
4.
5.
6.
Định dạng số của các bộ vi xử lý
Tập lệnh
Các bộ vi xử lý mở rộng
Cài đặt thuật tốn xử lý tín hiệu lên DSP
sites.google.com/site/ncpdhbkhn
18
Kiến trúc TMS320C671x (1)
sites.google.com/site/ncpdhbkhn
19
Kiến trúc TMS320C671x (2)
sites.google.com/site/ncpdhbkhn
20
Kiến trúc TMS320C671x (3)
• Ngoại vi
– Bộ định thời (timer)
– EDMA
– Cổng nối tiếp
• HPI (Host Port Interface)
sites.google.com/site/ncpdhbkhn
21
Vi xử lý tín hiệu số
1. Giới thiệu
2. Cấu trúc chung của các bộ vi xử lý
3. Định dạng số của các bộ vi xử lý
a) Biểu diễn số trong máy tính
b) Dấu phảy tĩnh
c) Dấu phảy động
4. Tập lệnh
5. Các bộ vi xử lý mở rộng
6. Cài đặt thuật tốn xử lý tín hiệu lên DSP
sites.google.com/site/ncpdhbkhn
22
Biểu diễn số trong máy tính
• 1,41412356 1.41412354
• 1 + 0,00000001 1
• 8 bit biểu diễn 28 = 256 giá trị khác nhau:
– Các số nguyên từ 0 đến 255, hoặc
– Các số nguyên từ -127 đến 128, hoặc
– 1,10,100,1000,…,10254,10255, v.v…
• Có 2 định dạng chính: dấu phảy tĩnh (số nguyên) & dấu
phảy động (số thực).
sites.google.com/site/ncpdhbkhn
23
Dấu phảy tĩnh
Số nguyên không dấu
Dấu & độ lớn
Nhị phân bù
Bù hai
Thập phân
Nhị phân
Thập phân
Nhị phân
Thập phân
Nhị phân
Thập phân
Nhị phân
15
1111
8
1111
7
0111
7
0111
14
1110
7
1110
6
0110
6
0110
13
1101
6
1101
5
0101
5
0101
12
1100
5
1100
4
0100
4
0100
11
1011
4
1011
3
0011
3
0011
10
1010
3
1010
2
0010
2
0010
9
1001
2
1001
1
0001
1
0001
8
1000
1
1000
0
0000
0
0000
7
0111
0
0111
0
1000
-1
1111
6
0110
-1
0110
-1
1001
-2
1110
5
0101
-2
0101
-2
1010
-3
1101
4
0100
-3
0100
-3
1011
-4
1100
3
0011
-4
0011
-4
1100
-5
1011
2
0010
-5
0010
-5
1101
-6
1010
1
0001
-6
0001
-6
1110
-7
1001
0
0000
-7
0000
-7
1111
-8
1000
16 bit:
0 đến 65535
16 bit:
-32767 đến 32768
16 bit:
-32767 đến 32767
sites.google.com/site/ncpdhbkhn
16 bit:
-32768 đến 32767
24
Vi xử lý tín hiệu số
1. Giới thiệu
2. Cấu trúc chung của các bộ vi xử lý
3. Định dạng số của các bộ vi xử lý
a) Biểu diễn số trong máy tính
b) Dấu phảy tĩnh
c) Dấu phảy động
4. Tập lệnh
5. Các bộ vi xử lý mở rộng
6. Cài đặt thuật tốn xử lý tín hiệu lên DSP
sites.google.com/site/ncpdhbkhn
25