SlideShare a Scribd company logo
1 of 63
Download to read offline
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
1
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng
dẫn khoa học của TS. Nguyễn Xuân Quyền. Các nội dung nghiên cứu, kết quả trong
đề tài này là trung thực và chưa từng được công bố dưới bất kì hình thức nào trước
đây. Ngoài ra trong đề tài có dùng một số sơ đồ khối của các tác giả khác đều có
trích dẫn và chú thích nguồn gốc.
Nếu phát hiện bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội
dung luận văn của mình.
Hà Nội, ngày 4 tháng 9 năm 2016
Tác giả luận văn
Nguyễn Tiến Thiện
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
2
TÓM TẮT LUẬN VĂN
Công nghệ hệ thống dữ liệu vô tuyến RDS là một chuẩn giao thức truyền
thông cho việc nhúng một lượng nhỏ thông tin trong truyền thanh FM. Công nghệ
này ra đời từ khá lâu nhưng những ứng dụng của nó trong truyền thanh vẫn rất lớn.
Không chỉ có ứng dụng trong giải trí với những bản tin hiển thị được phát kèm
cùng với sóng FM mà các bản tin điều khiển của RDS cũng rất hữu ích trong giao
thông vận tải, giúp các lái xe có được thông tin cần thiết.
Trong khuôn khổ luận văn, em đã thiết kế và phát triển đề tài “Ứng dụng
công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ
thống phát thanh FM tương tự”.
Cụ thể đồ án gồm 3 Chương:
 Chương 1: TỔNG QUAN VỀ RDS (Radio Data System) VÀ ỨNG
DỤNG TRONG HỆ THỐNG FM
Giới thiệu về hệ thống FM trên android và giao thức RDS.
 Chương 2: PHÂN TÍCH VÀ THIẾT KẾ RDS TRONG HỆ
THỐNG THU FM TRÊN HỆ ĐIỀU HÀNH ANDROID
Đưa ra các phân tích hệ thống, các yêu cầu chức năng, xây dựng sơ đồ
khối hệ thống.
 Chương 3: TRIỂN KHAI HỆ THỐNG RDS THỰC TẾ VÀ ĐÁNH
GIÁ KẾT QUẢ
Đưa ra các yêu cầu thực thi hệ thống: các yêu câu về cơ sở hạ tầng,
nền tảng và ngôn ngữ lập trình.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
3
ABSTRACT
Radio Data System (RDS) is a communications protocol standard for
embedding small amounts of digital information in conventional FM radio
broadcasts. RDS has had since a long time ago, however its application in the
broadcasting system are still very large.
It plays a very important role in entertainment with the display messages are
transmitted, besides, the control messages of RDS is also very useful in
transportation it helps drivers get the needed information.
,
In the framework of the thesis, I’ve designed and developed my thesis
"Application of the Radio Data System RDS technology in transmitting digital
data through analog FM broadcasting system ".
The content of our project include:
 Chapter 1: OVERVIEW OF RDS (RADIO DATA SYSTEM) AND
IMPLEMENT IN FM SYSTEM
About FM on android and RDS protocol.




 Chapter 2: ANALYSIS AND DESIGN RDS IN FM BROADCASTING
SYSTEM ON ANDROID OPERATING SYSTEM
Giving the system analysis, the functional requirements, building system
block diagram.




 Chapter 3: DEPLOYING PRACTICAL RDS SYSTEM AND RESULTS
EVALUATION
Giving the deploying system requirements: the requests for infrastructure,
platforms and programming languages.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
4
MỤC LỤC
LỜI CAM ĐOAN .................................................................................................1
TÓM TẮT LUẬN VĂN.........................................................................................2
ABSTRACT...........................................................................................................3
BẢNG CÁC TỪ VIẾT TẮT .................................................................................6
DANH MỤC HÌNH VẼ.........................................................................................7
LỜI NÓI ĐẦU .......................................................................................................9
CHƯƠNG 1:TỔNG QUAN VỀ RDS VÀ ỨNG DỤNG TRONG HỆ THỐNG
FM........................................................................................................................10
1.1 GIỚI THIỆU CHƯƠNG ..........................................................................10
1.2 LÝ THUYẾT CHUNG VỀ ĐIỀU TẦN ...................................................10
1.2.1 Lý thuyết chung về điều chế tần số ....................................................10
1.2.2 Tín hiệu điều chế FM.........................................................................11
1.2.3 Phổ của tín hiệu điều tần....................................................................13
1.3 TỔNG QUAN VỀ RDS (Radio Data System)..........................................16
1.3.1 Khái niệm và lịch sử phát triển RDS ................................................16
1.3.2 Cấu trúc dữ liệu của RDS....................................................................16
1.3.3 Nguyên lý hoạt động của RDS .............................................................21
1.4 ỨNG DỤNG TRONG HỆ THỐNG FM...................................................21
1.5 KẾT LUẬN CHƯƠNG...........................................................................22
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ RDS TRONG HỆ THỐNG THU
FM TRÊN ANDROID.........................................................................................24
2.1 GIỚI THIỆU CHƯƠNG .........................................................................24
2.2 SƠ ĐỒ TỔNG QUÁT CỦA HỆ THỐNG ...............................................24
2.2.1 Kiến trúc FM radio trong hệ điều hành Android................................24
2.2.2 Cấu trúc và chức năng của các tầng....................................................25
2.2.3 Cấu trúc của module RDS trong hệ thống. ...........................................29
2.3 XÂY DỰNG SƠ ĐỒ HOẠT ĐỘNG CỦA RDS. .....................................30
2.3.1 Xây dựng biểu đồ hoạt động ..............................................................30
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
5
2.4 MÔ HÌNH HOẠT ĐỘNG.....................................................................33
2.4.1 Xây dựng biểu đồ tuần tự...................................................................33
2.4.2 Xây dựng biểu đồ máy trạng thái .......................................................37
2.5 KẾT LUẬN CHƯƠNG............................................................................37
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG THU RDS THỰC TẾ VÀ ĐÁNH
GIÁ KẾT QUẢ....................................................................................................38
3.1 GIỚI THIỆU CHƯƠNG ..........................................................................38
3.2 LỰA CHỌN PHẦN MỀM VÀ NGÔN NGỮ LẬP TRÌNH......................38
3.2.1 Nền tảng hệ điều hành Android...........................................................38
3.2.2 Ngôn ngữ lập trình ...........................................................................42
.
3.3 Kiến trúc hệ thống:...................................................................................44
3.3.1 Sơ đồ tổng quan toàn hệ thống. .............................................................44
3.3.2 Sơ đồ chức năng tương tác của phần mềm .........................................46
3.4 Thiết kế chi tiết: .......................................................................................47
3.4.1 Mô hình giao tiếp của các tầng trong hệ thống FM.............................47
3.4.2 Lưu đồ giải thuật lấy thông tin RDS thông qua hệ thống FM .............51
3.4.3 Phương thức và cơ chế truyền nhận bản tin RDS giữa các tầng............51
3.5 ĐÁNH GIÁ KẾT QUẢ............................................................................58
3.5.1 Kết quả thử nghiệm...........................................................................58
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN ...............................................62
 Các vấn đề đã làm được ........................................................................62
 Định hướng trong tương lai...................................................................62
TÀI LIỆU THAM KHẢO...................................................................................63
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
6
BẢNG CÁC TỪ VIẾT TẮT
FM: Frequency Modulation (Điều chế tần số)
VHF: Very High Frequency (Mức tần số rất cao)
NF: Network Follow (Luồng dữ liệu mạng)
RDS: Radio Data System (Hệ thống dữ liệu radio)
RBDS: Radio Broadcast Data System (Hệ thống dữ liệu phát thanh radio)
PS: Programme Service (Tên dịch vụ chương trình)
PI: Programne Identification code (Mã nhận dạng chương trình)
DI: Decoder Identification code (Mã nhận dạng chức năng)
PTY: Programme Type Code (Mã kiểu chương trình)
TP: Traffic Program Identification code (Mã nhận dạng chương trình phương tiện)
TA: Traffic Anouncement code (Mã thông báo trạm)
M/S: Music-Speech switch code (Mã chuyển âm nhạc/ tiếng nói)
CRC: Cyclic redundancy check (Mã kiểm tra lỗi)
FM HCI: Frequency Modulation Host controller interface (Giao diện máy chủ điều
khiển)
EBU: European Broadcasting Union (Hiệp hội liên minh phát thanh Châu Âu)
BPSK: Binary Phase Shift Keying (Điều chế pha nhị phân)
PLL: Phased-locked loop (Vòng khóa pha)
MSB: Most significant bit (Bit có trọng số lớn nhất)
VCO: Voltage controlled oscillator (Bộ tạo dao động điều khiển bằng điện áp)
AFC: Automatic Frequency Control (Tự động điều chỉnh tần số sóng mang)
DSP: Digital signal processor (Bộ xử lý tín hiệu âm thanh tích hợp nhiều tính năng)
ADC: Analog to digital converter (Bộ chuyển đổi tương tự ra số)
DAC: Digital to Analog converter (Bộ chuyển đổi số ra tương tự)
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
7
DANH MỤC HÌNH VẼ
Hình 1.1 Điều chế FM..........................................................................................11
Hình 1.2: Cấu trúc của một group trong RDS [1]..................................................17
Hình 1.3: Định dạng của một group RDS [1] ........................................................18
Hìnn 1.4: Phổ tín hiệu FM và RDS [1]..................................................................20
Hình 2.1 Kiến trúc của hệ thống FM trong nền tảng hdh Android[6] ....................25
Hình 2.2 Giao tiếp giữa tầng App với tầng dưới. ...................................................26
Hình 2.3. Các khối của tầng MiddleWare.............................................................27
Hình 2.4 Kiến trúc tổng quát của tầng HAL...........................................................28
Hình 2.5 Sơ đồ kiến trúc tổng quan của module RDS ............................................29
Hình 2.6 Sơ đồ turn On/Off phần mềm...................................................................30
Hình 2.7. Sơ đồ quá trình tìm kiếm kênh................................................................31
Hình 2.8 Sơ đồ Tune của hệ thống........................................................................32
Hình 2.9 Biểu đồ tự turn on phần mềm ..................................................................33
Hình 2.10 Biểu đồ Turn off phần mềm..................................................................34
Hình 2.11 Sơ đồ tìm kiếm kênh ..............................................................................35
Hình 2.12 Sơ đồ dò kênh........................................................................................36
Hình 2.13 Sơ đồ máy trạng thái [6].......................................................................37
Hình 3.1 Kiến trúc của hệ điều hành Android.......................................................40
Hình3.2 Cơ chế Proxy trong AIDL .......................................................................43
Hình 3.3 ADIL trong ứng dụng RDS......................................................................43
Hình 3.4 Cơ chế hoạt động của JNI......................................................................44
Hình 3.5 Góc nhìn tổng quan toàn hệ thống .........................................................45
Hình 3.6 Biều đồ ca sử dụng của phần mềm .........................................................46
Hình 3.7 Mô hình giao tiếp của các module trong hệ thống[8].............................47
Hình 3.8 Kết nối giữa tầng FM application và FM driver.[8]...............................48
Hình 3.9 Kiến trúc của FM V4L2 [8].....................................................................48
Hình 3.10 Kiến trúc của FM host. [8]...................................................................49
Hình 3.11 FM HCI architecture [8].....................................................................50
Hình 3.12 Lưu đồ thuật toán bản tin hiển thị RDS ................................................51
Hình 3.13 Cấu trúc khung dữ liệu [1]...................................................................51
Hình 3.14 Định dạng bản tin [1] ..........................................................................52
Hình 3.15 Cấu trúc trường PI [1].........................................................................52
Hình 3.16 Cấu trúc trường PS [1] .......................................................................53
Hình 3.17 Cấu trúc trường radio text [1]..............................................................53
Hình 3.18 Sơ đồ cơ chế truyền nhận bản tin RDS .................................................55
Hình 3.19 Luồng gửi nhận bản tin RDS ở tầng kernel ..........................................55
Hình 3.20 Luồng gửi nhận bản tin RDS tại tầng native Framework......................56
Hình 3.21 Gửi nhận bản tin RDS tại tầng native app............................................56
Hình 3.22 Gửi nhận bản tin RDS tại tầng ứng dụng ............................................57
Hình 3.23 Các bước cài đặt phần mềm..................................................................58
Hình 3.24 Khởi động adb command ......................................................................58
Hình 3.25 Thông báo từ tầng kernel .....................................................................59
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
8
Hình 3.26 Giao diện chính của phần mềm............................................................60
Hình 3.27 Quá trình tìm kiếm kênh........................................................................60
Hình 3.28 Giao diện hiển thông thông tin RDS.....................................................61
Hình 3.29 Giao diện danh sách kênh yêu thích .....................................................61
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
9
LỜI NÓI ĐẦU
Ngày nay, phát thanh dùng sóng mang điều tần FM đóng vai trò quan
trọng trong nhiều lĩnh vực từ đời sống văn hóa, xã hội đến các lĩnh vực khoa
học kĩ thuật, giáo dục, quân sự. Rất nhiều công nghệ ra đời nhằm cải tiến chất
lượng của hệ thống phát thanh FM, một trong số đó là công nghệ hệ thống dữ
liệu vô tuyến RDS. Công nghệ RDS cho phép truyền dữ liệu số tốc độ thấp
qua hệ thống FM truyền thông. Cung cấp cho người dùng nhiều thông tin hữu
ích về tên chương trình phát, nội dung đang phát, tên trạm phát, vv. Việc tích
hợp công nghệ RDS vào phát thanh FM hiện đã được triển khai ở nhiều nước
trên thế giới. Đặc biệt, việc thu sóng phát thanh FM hiện nay đã được tích hợp
phố biến trên các thiết bị di động. Do đó việc phát triển công nghệ RDS trên
nền tảng hệ điều hành android là một ứng dụng tiềm năng và hữu ích.
Trong thời gian vừa qua dưới sự hướng dẫn tận tình của thầy Nguyễn Xuân
Quyền và sự nghiên cứu nghiêm túc, em đã hoàn thành luận văn “ Ứng dụng công
nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống
phát thanh FM tương tự ". Ứng dụng cho phép người dùng nghe sóng FM và đọc
được các thông tin hiển thị RDS trên các thiết bị di động.
Với những nỗ lực nghiên cứu, luận văn đã đạt được một số kết quả nhất định.
Mặc dù vậy, do thời gian có hạn nên không thể tránh khỏi một số thiếu. Vì vậy, học
viên rất mong những ý kiến đóng góp của các thầy cô giáo và bạn bè.
Em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Xuân Quyền tận tình
hướng dẫn trong suốt quá trình thực hiện luận văn.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
10
CHƯƠNG 1:TỔNG QUAN VỀ RDS VÀ ỨNG DỤNG TRONG
HỆ THỐNG FM
1.1 GIỚI THIỆU CHƯƠNG
Chuẩn RDS được giới thiệu lần đầu tiên để phục vụ cho việc xử lý tín hiệu cho
mã hóa RDS (ở các nước châu Âu), phiên bản RBDS (ở Bắc Mỹ). Hệ thống RDS
được ứng dụng trong thu phát sóng FM ở dải tần 87.5 MHz tới 108.0 MHz để
truyền tải thông tin cho cả chương trình stereo (đa âm) và mono (đơn âm). Chương
một sẽ giới thiệu về các cơ sở lý thuyết và nguyên lý về sóng FM và giao thức RDS.
1.2 LÝ THUYẾT CHUNG VỀ ĐIỀU TẦN
1.2.1 Lý thuyết chung về điều chế tần số
Điều chế tần số được áp dụng trong kỹ thuật vô tuyến điện và kỹ thuật xử lý
tín hiệu. Người ta truyền thông tin trên một sóng mang cao tần bằng cách thay đổi
tần số sóng mang theo tín hiệu cần truyền, trong khi biên độ của sóng mang cao tần
không thay đổi [1]. Sóng mang thường có tần số cao hơn so với tần số của tín hiệu
mà nó truyền tải. Sóng mang thường dùng để truyền các thông tin xuyên qua không
gian như một sóng điện từ (ví dụ như liên lạc bằng sóng vô tuyến) hay cho phép vài
sóng mang tần số khác nhau có thể chia sẻ chung một môi trường phát sóng vật lý
bằng phương pháp ghép kênh phân chia theo tần số (ví dụ như trong trường hợp của
hệ thống truyền hình cáp).
FM (Frequency Modulation) là phương pháp điều chế biến đổi tần số của sóng
mang cao tần theo biên độ của tín hiệu tin tức. Việc truyền tín hiệu âm thanh qua hệ
thống radio FM là phổ biến nhất. Tuy nhiên, máy phát FM cũng có thể truyền dữ
liệu số tốc độ thấp được gọi là hệ thống dữ liệu radio (Radio Data System - RDS) ở
châu Âu và hệ thống radio dữ liệu (Radio Broadcast Data System - RBDS).
Từ năm 1940 khi bắt đầu phát hiện thấy ưu điểm chống can nhiễu của kỹ thuật
điều tần, kỹ thuật mới này được được sử dụng mạnh mẽ. Hiện nay kỹ thuật này
được sử dụng rộng rãi trong phát thanh, hệ thống vô tuyến hai chiều, hệ thống ghi
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
11
băng từ và hệ thống truyền dẫn video. Trong hệ thống vô tuyến, điều tần với băng
thông đủ lớn giúp ích lớn cho việc loại bỏ tạp âm trong khi truyền.
1.2.2 Tín hiệu điều chế FM
Điều chế tần số được áp dụng trong kỹ thuật vô tuyến điện và kỹ thuật xử lý
tín hiệu. Người ta truyền thông tin trên một sóng mang cao tần bằng hai cách. Thay
đổi tần số sóng mang theo tín hiệu cần truyền khi biên độ của sóng mang cao tần
không thay đổi, đó là kỹ thuật điều chế tần số. Và điều chế biên độ của sóng mang
theo tín hiệu cần truyền mà tần số sóng mang vẫn giữ nguyên. Ngoài ra còn nhiều
phương pháp điều chế khác, như điều chế pha, điều chế mạch xung, điều chế biên
mã, điều chế đơn biên... [1]
Tín hiệu điều chế FM
Hình 1.1 Điều chế FM
Tín hiệu sóng mang cao tần chưa điều chế là đơn hài, xác định bởi:
(1.1)
Trong đó:
là pha tức thời của dao động cao tần, xác định trạng thái tín hiệu
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
12
tại thời điểm t.
là tần số sóng mang.
là pha ban đầu.
Giữa tần số và pha có quan hệ:
(1.2)
(1.3)
là hệ số
Khi đó tín hiệu điều chế FM có dạng:
Độ dịch tần số (frequency deviation): là lượng mà tần số sóng mang sai lệch
so với tín hiệu sóng mang chưa được điều chế. Đối với một hệ thống FM, độ dịch
tần số cho phép cực đại là độ lệch tần số lớn nhất kể từ tần số trung tâm, nó là một
đại lượng quan trọng và được xem như là tốc độ dịch hệ thống fd (rated system
deviation). Khi fd được xác lập nó sẽ xác định biên độ của điều chế tần số. Ở hầu hết
mọi thời điểm, điện áp điều chế đều nhỏ hơn giá trị cực đại này và khi đó, độ lệch
tần số là .
Chỉ Số Điều Chế (modulation index) là độ lệch pha đỉnh của tín hiệu FM, ký
hiệu là mf.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
13
Tỉ số độ lệch (deviation ratio): Khi một hệ thống FM được thiết kế, cần phải sử
dụng những giá trị cho phép tối đa cho cả độ lệch của sóng mang lẫn tần số tín hiệu
điều chế. Do đó, chỉ số điều chế được biết như là độ lệch D:
Độ lệch của một hệ thống FM xác định là không đổi, trong khi đó chỉ số
điều chế thay đổi không ngừng cùng với sự thay đổi của điện áp và tần số tín hiệu.
1.2.3 Phổ của tín hiệu điều tần
Tín hiệu điều chế và pha ban đầu sóng mang 0 = 0. Tín
hiệu FM có dạng như sau:
Với:
: chỉ số điều chế
: độ di tần
 FM dải hẹp (NBFM: )
Nếu độ di tần nhỏ (mf <0.25), ta có:
(1.9)

Phổ tín hiệu FM dải hẹp gồm sóng mang và hai biên tương tự AM
 FM dải rộng (WBFM: wideband FM mf > 0.25)
có thể khai triển theo các hệ số của hàm Bessel như sau:
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
14
Biên độ của chúng tỷ lệ với hàm Bessel bậc n:
Bảng 1.1 Các hệ số của hàm Bessel tương ứng với một số chỉ số điều chế mf
mf J0 J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 J11 J12 J13 J14
0.0
0
1.00 - - - - - - - - - - - - - -
0.2
5
0.98 0.12 - - - - - - - - - - - - -
0.5

0.94 0.24 0.03 - - - - - - - - - - - -
1.0

0.77 0.44 0.11 0.02 - - - - - - - - - - -
1.5

0.51 0.56 0.23 0.06 0.01 - - - - - - - - - -
2.0

0.22 0.58 0.35 0.13 0.03 - - - - - - - - - -
2.4
1
0 0.52 0.43 0.20 0.06 0.02 - - - - - - - - -
2.5

−0.
05
0.50 0.45 0.22 0.07 0.02 0.01 - - - - - - - -
3.0

−0.
26
0.34 0.49 0.31 0.13 0.04 0.01 - - - - - - - -
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
15
4.0

−0.
40
−0.
07
0.36 0.43 0.28 0.13 0.05 0.02 - - - - - - -
5.0

−0.
18
−0.
33
0.05 0.36 0.39 0.26 0.13 0.05 0.02 - - - - - -
5.5
3
0
−0.
34
−0.
13
0.25 0.40 0.32 0.19 0.09 0.03 0.01 - - - - -
6.0

0.15
−0.
28
−0.
24
0.11 0.36 0.36 0.25 0.13 0.06 0.02 - - - - -
7.0

0.30 0.00
−0.
30
−0.
17
0.16 0.35 0.34 0.23 0.13 0.06 0.02 - - - -
8.0

0.17 0.23
−0.
11
−0.
29
−0.
10
0.19 0.34 0.32 0.22 0.13 0.06 0.03 - - -
8.6
5
0 0.27 0.06
−0.
24
−0.
23
0.03 0.26 0.34 0.28 0.18 0.10 0.05 0.02 - -
9.0

−0.
09
0.25 0.14
−0.
18
−0.
27
−0.
06
0.20 0.33 0.31 0.21 0.12 0.06 0.03 0.01 -
10.
0
−0.
25
0.04 0.25 0.06
−0.
22
−0.
23
−0.
01
0.22 0.32 0.29 0.21 0.12 0.06 0.03 0.01
 Băng thông của tín hiệu điều chế FM
Về lý thuyết độ rộng băng thông cao tần tín hiệu FM vô cùng lớn, tuy nhiên thực
tế quy định giới hạn băng thông FM đến thành phần phổ biên .
Băng thông này tính theo công thức: BFM 2( f f
   m) = 2(mf + 1)fm, với fm là
tần số tín hiêu điều chế tần thấp băng gốc.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
16
1.3 TỔNG QUAN VỀ RDS (Radio Data System)
1.3.1 Khái niệm và lịch sử phát triển RDS
RDS (Radio Data System) là hệ thống truyền dữ liệu qua sóng radio. Đây là
một chuẩn giao thức truyền thông cho việc gửi thêm thông tin kỹ thuật số trên các
chương trình phát thanh qua sóng FM. RDS chuẩn hóa một số loại thông tin được
truyền, bao gồm thời gian, mã trạm và thông tin chương trình. Đài phát thanh có
thể sử dụng RDS để gửi đi các bản tin quảng bá ngắn gọn cho người sử dụng hiển
thị trên màn hình như thông tin thời tiết, giá cả, tình hình giao thông, thông tin
quảng cáo. Đặc biệt có thể phát thanh chia theo từng khu vực và nội dung phát
thanh không bị ảnh hưởng. Sóng FM sử dụng băng tần UHF (tần số từ 87.5 tới 108
Mhz) cho phép phủ sóng trong vòng bán kính từ 80 tới 160 km. Trạm phát sóng FM
sử dụng phương pháp đa truy nhập theo tần số (FDMA) để chia sẻ băng tần UHF,
một trạm phát FM có thể truyền một hoặc nhiều kênh. [1]
RDS sử dụng dải tần trong khoảng 55 KHz tới 59 KHz với phương pháp điều
chế theo pha tín hiệu (PSK), cho tốc độ truyền 1187.5 bps. Nếu trừ đi các bit sử
dụng để phát hiện, sửa lỗi và đồng bộ hóa thì tốc độ truyền thực tế khoảng 731 bps.
Giao thức RDS được phát triển bởi Hiệp hội liên minh phát thanh châu Âu (EBU)
và được công bố phiên bản đầu tiên vào năm 1984. Từ đó đã trở thành một tiêu
chuẩn quốc tế được công nhận bởi tổ chức IEC(International Electrotechnical
Commission).
1.3.2 Cấu trúc dữ liệu của RDS
Dữ liệu RDS được định dạng trong các group. Có 16 group được chia làm hai
loại A và B. Mỗi group chứa 104 bit được chia thành 4 block 26 bit. Mỗi block bao
gồm 16 bit thông tin và 10 bit để sửa lỗi và đồng bộ (Hình.1)
 Cấu trúc của một group.
Mỗi Group bao gồm bốn Block chứa những thông tin sau (Hình 1.2)
Block 1 của mỗi group chứa mã PI (Program Identification).
Block 2 chứa những thông tin sau:
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
17
Hình 1.2: Cấu trúc của một group trong RDS [1]
Group type code dùng để phân biệt ứng dụng của group. Bao gồm 4 bit A0,
A1, A2, A3. Mỗi loại ứng dụng có hai version A và B, version được xác định bằng
bit B0 trong Block 2. B0 = 0: PI code chỉ chứa trong Block 1 (version A). B0=1: PI
code được chứa trong block 1 và 3 của tất cả các group (version B).
 Traffic program (TP): 1 bit
 Program type code (PTY): 5 bit
 5 bit cho những thông tin riêng biệt
Mã phát hiện, sửa lỗi và đồng bộ: 10 bit cuối của mỗi block được sử dụng cho
để sửa lỗi và đồng bộ. Đồng bộ hóa hoạt động bằng cách sử dụng các dữ liệu được
xác định trước. Phát hiện lỗi hoạt động bằng cách sử dụng thuật toán phát hiện tất
cả 1 hoặc 2 bit lỗi trong một block và phát hiện tất cả các lỗi trong khoảng dưới 11
bit. [1]
 Block 3 và 4 chứa những dữ liệu cụ thể
 Th t truy n c a các bit
ứ ự ề ủ
Tất cả các thông tin của words và checkwords có các bit quan trọng nhất
(MSB) được truyền đầu tiên. Do đó các bit cuối cùng truyền đi trong một số nhị
phân hoặc địa chỉ có trọng lượng 20. Dữ liệu truyền là hoàn toàn đồng bộ và không
có khoảng trống giữa các nhóm hoặc các khối. Từ thông tin và sử dụng của họ được
giải thích trong hình (Hình 1.2) định dạng tin nhắn.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
18
Hình 1.3: Định dạng của một group RDS [1]
 Các thông tin hiển thị RDS [1]
Program service name (PS): Tên chương trình chứa tối đa 8 ký tự. Nó có
thể được sử dụng để thông báo cho người dùng tên của trạm phát. PS được truyền
trong group 0A.
Radio text (RT): Cho phép truyền tối đa 64 ký tự. Ngoài ra RT cho phép
truyền các bản tin chuỗi. RT được truyền trong group 2A và 2B.
Clock time and date (CT): Cho phép truyền thông tin thời gian và ngày
tháng hiện tại. Các máy thu có thể hiển thị thời gian hoặc đồng bộ lại thời gian nội
bộ. CT được truyền trong group 4A.
 Các thông tin điều khiển RDS
Program Identification (PI): Mã PI cho phép máy thu FM phân biệt được
các quốc gia, khu vực trong trường hợp cùng một chương trình được truyền đi và
xác định các chương trình riêng biệt. Nó không hiển thị trực tiếp trên màn hình và
được gán cho mỗi chương trình riêng lẻ, cho phép phân biệt với các chương trình
khác. Mã PI cho phép máy thu tìm kiếm tự động một tần số thay thế cho chương
trình hiện tại trong trường hợp tín hiệu nhận được không tốt.
Program type code (PTY): Định nghĩa loại chương trình được truyền trong
mỗi group (Ví dụ: tin tức, nhạc Pop, nhạc Jazz…). Bao gồm 5 bit, có thể định nghĩa
được 32 loại chương trình. Máy thu có thể sử dụng PTY để tìm kiếm những loại
chương trình cụ thể.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
19
Traffic Program Identification (TP): Dùng để xác định các trạm phát đang
phát các bản tin giao thông không. TP được truyền trong tất cả các group.
Traffic Announcement Identification (TA): dùng để cho biết một sự kiện
giao thông đang diễn ra. TA có thể sử dụng để máy thu FM tự động chuyển kênh,
thay đổi mức âm lượng. TA được truyền trong group 0a, 0B và 15B.
Music/Speech Switch (M/S): dùng để xác định chương trình đang phát là
âm nhạc hay giọng nói. Tín hiệu này cho phép máy thu tự động thay đổi mức độ âm
lượng cho phù hợp với âm nhạc hoặc giọng nói. M/S được truyền trong group 0A,
0B và 15B.
Decoder Identification (DI): dùng để xác định chế độ hoạt động. DI được
truyền trong group 0a, 0b, 15B.
Alternative Frequencies (AF): tần số thay thế được sử dụng để gửi danh
sách các tần số truyền cùng một chương trình. Máy thu có thể tự động chuyển sang
một tần số thay thế nếu tín hiệu tại tần số hiện tại yếu.
Program Item Number (PIN): dùng để xác định thời gian phát sóng của
một chương trình cụ thể. Có thể sử dụng thông tin này để lập kế hoạch ghi lại một
chương trình đã lên lịch. PIN được truyền trong group 1A và 1B.
 Các thông tin RDS đặc biệt
Enhanced Other Networks Information (EON):
Thông tin này được sử dụng để cập nhật thông tin các chương trình có thể
nhận được lưu trữ trong máy thu. EON bao gồm các dữ liệu như tần số thay thế, tên
PS, bản tin TP, TA, PTY, PIN… của mỗi chương trình RDS. Chúng được tham
chiếu bởi các mã PI. Bên thu RDS có thể thiết lập một cơ sở dữ liệu của chương
trình giúp cho người sử dụng thuận tiện.
Ví dụ như một trạm phát không cung cấp thông tin giao thông, RDS có thể sử
dụng chương trình giao thông của một trạm khác. Để làm điều này, máy thu tạm
thời chuyển qua một trạm khác trong thời gian có bản tin giao thông.
Các thông tin có thể truyền qua EON:
EON-PI: xác định các chương trình khác và giàn chương trình liên quan.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
20
EON-PS: PS của các chương trình khác có thể truyền qua EON.
EON-PTY: PTY của các chương trình khác có thể truyền qua EON.
EON-TP: Cờ TP của các chương trình khác có thể truyền qua EON. Nó cho
phép khả năng xác định các trạm phát sóng cung cấp chương trình giao thông.
EON-TA: Cờ TA của các chương trình khác có thể truyền qua EON. Nó cho
phép khả năng phát hiện các bản tin giao thông đang diễn ra ở chương trình khác.
Nó có thể sử dụng để tự động chuyển chương trình trong thời gian bản tin diễn ra.
EON-AF: Danh sách các tần số thay thế của các chương trình EON tham
chiếu cũng có thể được truyền đi.
EON được truyền trong group 14A và 14B.
Transparent Data Channel (TDC): bao gồm 32 kênh có thể sử dụng để
truyền bất cứ loại dữ liệu nào. Máy thu RDS có thể sử dụng dữ liệu TDC cho một
ứng dụng bên ngoài như điều khiển một bảng quảng cáo hiển thị dữ liệu liên tiếp.
TDC được truyền trong group 5A và 5B.
In house applications (IH): có thể được sử dụng bởi nhà cung cấp để truyền
bất cứ loại dữ liệu nào với mục đích nội bộ ví dụ như dùng để chuyển mạch từ xa.
IH được truyền trong group 6A và 6B.
Emergency Warning System (EWS): Cho phép truyền các bản tin cảnh
báo. Khi nhận được máy thu có thể tự động chuyển sang một đài cảnh báo xác định
trước. EWS được truyền trong group 1A và 9A.
Hìnn 1.4: Phổ tín hiệu FM và RDS [1]
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
21
1.3.3 Nguyên lý hoạt động của RDS
RDS hoạt động bằng cách thêm dữ liệu vào các tín hiệu băng tần cơ sở. Các
tín hiệu băng tần cơ sở bao gồm một số thành phần. Đầu tiên là thành phần audio
mono bao gồm thành phần trái cộng phải (L + R) được truyền đi từ tần số 50Hz đến
15 KHz. Thứ hai là các tín hiệu khác stereo sau khi điều chế biên độ như một cặp
sóng mang bị chặn tại 38KHz. Một tín hiệu 19KHz ( gọi là tần số pilot) cũng được
truyền và điều này cho phép bộ giải điều chế bên thu tạo lại chính xác sóng mang
phụ 38KHz để giải mã các tín hiệu khác stereo. Các tín hiệu khác stereo nằm ở dải
tần cao hơn dải tần nghe được (tai người nghe được trong dải tần từ 20Hz đến
20KHz) và kết quả là nó không ảnh hưởng đến tín hiệu mono bình thường.Thông
tin RDS được truyền trên một sóng mang phụ 57KHz như hình vẽ. Chính vì yếu tố
này lên các nhà phát triển sản phẩm đã dùng công nghệ RDS để truyền liên tục và
đồng thời cùng các bản tin phát thanh mà không ảnh hưởng đến việc phát sóng. Các
sóng mang phụ RDS bị khóa trong các tín hiệu âm dẫn.
Các sóng mang phụ được sử dụng để mang thông tin được điều chế pha để
mang dữ liệu. Kỹ thuật điều chế pha được dùng là điều chế pha cầu phương
(Quadrature Phase Shift Keying - QPSK). Kỹ thuật này cho phép khả năng miễn tạp
âm trong khi vẫn cho phép các dữ liệu được truyền với tốc độ phù hợp. Kết hợp với
việc các sóng mang phụ hoạt động ở một hài của tín hiệu âm dẫn, tín hiệu audio
giảm thiểu được nhiễu can thiệp.
1.4 ỨNG DỤNG TRONG HỆ THỐNG FM
Do các bản tin RDS được truyền trên các sóng mang phụ nên nó sẽ không ảnh
hưởng đến các tín hiệu của sóng FM. Sử dụng một sóng mang phụ 57 KHz, trạm
phát có thể truyền tải dữ liệu kỹ thuật số RDS đến máy thu có sử dụng bộ chỉnh FM
RDS. Với các thông tin hiển thị RDS (PS ,RT ...) khi thưởng thức các bản nhạc trên
sóng FM, các thông tin về trạm phát, tên bài hát cũng có thể được truyền đi để cung
cấp thêm thông tin cho người nghe. Đặc với các tài xế xe ô tô, tính năng này giúp
họ nhận thông tin từ các bản tin giao thông một cách nhanh chóng và kịp thời nhất
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
22
để điều khiển xe an toàn hơn. Các hệ thông thu phát sóng FM có thể hoạt động tối
ưu hơn khi ứng dụng được các bản tin điều khiển của RDS.
Ví dụ bản tin điểu khiển PI (Program Identification), AF (Alternative
Frequencies) cho phép máy thu tìm kiếm tự động một tần số thay thế cho chương
trình hiện tại trong trường hợp tín hiệu nhận được không tốt. Cờ xác nhận chương
trình giao thông (Traffic Program Identification Flag-TP) được sử dụng để xác định
các trạm cung cấp chương trình giao thông. Cờ này được thiết lập nếu các trạm tự
động đặt cờ TA trên thông báo giao thông. TP được sử dụng để tự động tìm các
trạm. Cờ xác nhận chương trình giao thông được truyền trong mọi nhóm. Cờ xác
nhận thông báo giao thông (Traffic Announcement Identification Flag –TA) được
dùng để biểu thị một thông báo giao thông đang được phát. Bộ bắt sóng sử dụng cờ
TA để :
Tự động chuyển sang bắt sóng FM nếu nguồn âm thanh khác được chọn
(VD, CD, catsette…).
Tự động tăng âm lượng âm thanh.
Mã chuyển âm nhạc/bài phát biểu (Music/Speech switch – M/S) sử dụng để
xác định chương trình âm nhạc hoặc bài phát biểu được truyền. Thiết bị thu bắt tín
hiệu có hai lựa chọn âm thanh – một là âm nhạc, một là phát biểu. Điều này cho
phép người sử dụng cấu hình các thiết lập theo yêu cầu cá nhân. Mã chuyển âm
nhạc/bài phát biểu được truyền trong nhóm 0A, 0B và 15B.
Trong giới hạn luận văn của mình em sẽ đi sâu vào nghiên cứu về các bản tin
hiển thị RDS và xây dựng phát triển ứng dụng với các bản tin hiển thị này nhằm
hướng đến các nhu cầu giải trí, nâng cao chất lượng cuộc sống của con người.
1.5 KẾT LUẬN CHƯƠNG
Một hệ thống thu phát RDS bất kì nào cũng đều được nghiên cứu và phát triển
dựa trên các cơ sở vật lý và nguyên lý như đã nêu. Mục đích nhắm đảm bảo tính
đồng nhất của giao thức trên toàn cầu theo chuẩn của quốc tế. Dựa trên cơ sở lý
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
23
thuyết về sóng FM và giao thức RDS em sẽ tiếp tục nghiên cứu và trình bày phần
thiết kế chi tiết giao thức RDS trong hệ thống thu phát sóng FM.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
24
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ RDS TRONG HỆ
THỐNG THU FM TRÊN ANDROID
2.1 GIỚI THIỆU CHƯƠNG
Để bên thu có thể nhận được đầy đủ thông tin văn bản mà bên phát gửi đi việc
đầu tiên phải đảm bảo đồng bộ cấu trúc thông tin giữa hai bên. Chương 2 sẽ phân
tích và đưa ra các sơ đồ khối tổng quát toàn hệ thống thu FM, vị trí và chức năng
của module RDS trong hệ thống và sơ đồ hoạt động của chúng.
2.2 SƠ ĐỒ TỔNG QUÁT CỦA HỆ THỐNG
2.2.1 Kiến trúc FM radio trong hệ điều hành Android
FM radio được phát triển trên hệ điều hành android, do đó các thành phần và
kiến trúc phân tầng cũng dựa trên hệ điều hành này. Android là tổ hợp các phần
mềm cho thiết bị di động bao gồm hệ điều hành, middleware và các ứng dụng cơ
bản. Android SDK (Software Development Kit) cung cấp các công cụ và các giao
diện lập trình cần thiết (API) cho việc phát triển ứng dụng trên nền tảng Android sử
dụng ngôn ngữ Java.
Các tính năng
 Application framework: Cho phép tái sử dụng và thay thế các thành phần
của hệ thống.
 Dalvik virtual machine: Tối ưu cho các thiết bị mobile.
 Integrated browser: Dựa trên phần mềm mã nguồn mở WebKit.
 Optimized graphics: Cung cấp các thư viện đồ họa 2D có thể tùy chỉnh hình
ảnh linh hoạt, đồ họa 3G dựa trên OpenGL ES 2.0 (phụ thuộc phần cứng hệ thống).
 SQLite: Cơ sở dữ liệu.
 Media support: Hỗ trợ các định dạng âm thanh, hình ảnh và video (MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)
 GSM Telephony: phụ thuộc phần cứng hệ thống.
 Bluetooth, EDGE, 3G, WiFi: Phụ thuộc phần cứng hệ thống.
 Camera, GPS, la bàn, cảm biến gia tốc: Phụ thuộc phần cứng hệ thống.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
25
 Môi trường phát triển đa dạng: Bao gồm thiết bị mô phỏng, công cụ gỡ
lỗi, giám sát bộ nhớ, đánh giá hiệu năng, gói phần mềm hộ trợ Eclipse IDE.
Hệ thống FM radio được xây dựng trên nền tảng android nên kiến trúc
phân tầng sẽ dựa trên kiến trúc của hệ điều hành Android.
Hình 2.1 Kiến trúc của hệ thống FM trong nền tảng hdh Android[6]
2.2.2 Cấu trúc và chức năng của các tầng
Từ sơ đồ khối ta có thể thấy rõ vị trí và mối liên kết của các tầng. Cũng như
kiến trúc cơ bản của hệ điều hành android sơ đồ khối của hệ thống RDS sẽ có cấu
trúc và các thành phần như trong Hình 2.1.
Lớp ứng dụng (Application)
Ứng dụng FM RDS App được xây dựng trên nền tảng hệ điều hành Android
5.0.1. Ứng dụng được phát triển bằng ngôn ngữ lập trình Java. Nhiệm vụ trên tầng
Application là xử lý về giao diện và tương tác với người dùng.
Các chức năng chính của ứng dụng:
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
26
 Thu sóng FM dải tần 86 – 110 MHz
 Lấy và hiển thị thông tin RDS : PS , RT
 Lưu danh sách các kênh yêu thích
 Tùy chọn được các kênh theo mong muốn và dò đến kênh có chất
lượng tốt tiếp theo.
Lớp nền ứng dụng (Application FW)
Tầng nền ứng dụng tạo ra các phương thức giao tiếp với tầng Middleware.
Thông qua các đối tượng được tạo ra từ tầng này, tầng Application có thể dễ dàng
kết nối với các tầng ở dưới.
Hình 2.2 Giao tiếp giữa tầng App với tầng dưới.
Từ Hình 2.2 ta có thế thấy các chỉ thị lệnh từ trên tầng Application (Java) sẽ
được truyền xuống native code thông qua JNI. Các dữ liệu từ tầng dưới được gửi
lên tầng trên thông qua phương thức data callback. Tầng này có nhiệm vụ làm cầu
nỗi giữa tầng Application với các service của FM. JNI sẽ được trình bày chi tiết ở
Chương 4.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
27
Lớp trung gian của FM ( FM Middleware )
Hình 2.3. Các khối của tầng MiddleWare
Đối tượng IFMRDS được tạo ra để nhận các command lệnh từ trên tầng App
rồi send xuống tấng dưới (Tầng HAL : Hardware Abstract layer ) như command
yêu cầu turn On/Off app, yêu cầu tìm kiếm kênh, yêu cầu thông tin hiển thị của
RDS. Một đối tượng khác được tạo ra để luôn lắng nghe và nhận dữ liệu callback
từ tầng dưới là IMRDSEvenlistenner. Các mã lệnh và dữ liệu truyền nhận được
thực hiện qua cơ chế của Binder IPC.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
28
Tầng HAL và Kernel
Hình 2.4 Kiến trúc tổng quát của tầng HAL.
Các lệnh từ trên tầng ứng dụng (Application ) sẽ được truyền truyền xuống
tầng HAL thông qua các interface (giao diện điều khiển) của Java APIs. Các
interface này cho phép tầng App có thể giao tiếp được với V4L2 thông qua tầng
JNI.
FM driver được phát triển bằng cách sử dụng kiến trúc FM V4L2. Kiến trúc
này hỗ trợ các phương thức: tune, seek, mute …
Giao diện V4L2 được cài đặt cho FM driver dựa trên kiến trúc của Qualcom
chip set. Vì vậy nó được mở rộng để hỗ trợ các tính năng mà phiên bản hiện tại
của V4L2 không hỗ trợ như: initialization and power up.
Các FM Host đã cung cấp FM java api giúp ta có thể dễ dàng điều khiển FM
driver.
Những interface này cho phép tầng Application giao tiếp với FM driver thông
qua lớp JNI. Lớp JIN sẽ chuyển đổi java apis để gọi thư viện native C. Thư viện C
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
29
này sẽ giao tiếp lần lượt với các interface của FM driver. (Read, write via ioctl
function).
2.2.3 Cấu trúc của module RDS trong hệ thống.
Module RDS có các thành phần nằm dải ở hết các tầng. Chúng có các nhiệm
vụ và chức năng riêng trong toàn bộ sơ đồ khối.
Hình 2.5 Sơ đồ kiến trúc tổng quan của module RDS .
Tầng UI: Tầng này có nhiệm vụ xây dựng các thành phần giao diện tương tác
với người dùng. Ngôn ngữ lập trình được sử dụng là java.
Tầng Middleware: Tầng này bao gồm các native code, các service chạy ngầm
để lắng nghe sự kiện từ tầng kernel gửi lên và các interface giúp điều khiển
Fmdriver.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
30
Khi có một request lấy thông tin hiển thị RDS từ trên UI. Các mã lệnh này sẽ
được truyền xuống tầng native thông qua phương thức JNI. Và tiếp tục được truyền
xuống dưới kernel thông qua các câu lệnh của systemcall.
Dữ liệu đẩy từ tầng kernel qua bộ RDS parser và được chọn lọc hiển thị trên giao
diện người dùng.
Tầng kernel: Bao gồm tầng HAL và driver của chip qualcomm. Khối giã mã
RDS và thu phát FM được thực thi tại tầng này.
2.3 XÂY DỰNG SƠ ĐỒ HOẠT ĐỘNG CỦA RDS.
Ở mục trước tác giả đã nêu rõ sơ đồ khối tổng quát và mối liên hệ giữa các
tầng. Ở phần này tác giả sẽ tiếp tục đi sâu vào sơ đồ hoạt động chi tiết của ứng
dụng.
2.3.1 Xây dựng biểu đồ hoạt động
 Quá trình Turn on/off RDS app.
Hình 2.6 Sơ đồ turn On/Off phần mềm
Mô tả quá trình hoạt động: Người dùng khởi động phần mềm bằng cách kết
nối anten (kết nối tai nghe) và bật nút nguồn trên giao diện phần mềm. Nếu có kết
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
31
nối anten thì phiên sử dụng sẽ bắt đầu và giao diện sẽ được cập nhật để dùng các
tính năng khác như tìm kiếm kênh, lưu kênh yêu thích, chuyển kênh ....
 Quá trình tìm kiếm
kênh
Hình 2.7. Sơ đồ quá trình tìm kiếm kênh
Mô tả quá trình hoạt động tìm kiếm kênh: Khi phần mềm đã được bật, quá
trình tìm kiếm kênh sẽ được khởi chạy và trả về các kênh có tín hiệu tốt. Các mã
lệnh tìm kiếm kênh sẽ được truyền xuống tầng service (FMRadioServive.java).
Thông qua tầng native service (FMPlayerNative.java) các mã lệnh này sẽ được gửi
xuống FM driver và hàm tìm kiếm sẽ được gọi (FMRadioController::SearchAll () ).
Khi các kênh có tín hiệu tốt được dò thấy thì các kết quả tìm kiếm sẽ được gửi lên
tầng ứng dụng thông qua tầng service. Việc tìm kiếm này sẽ được thực hiện trên
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
32
một thread (luồng) độc lập. Việc tìm kiếm chỉ dừng khi có lệnh hủy tìm kiếm từ
người dùng hoặc việc tìm kiềm kết thúc. Kết quả trả về là danh sách các kênh có tín
hiệu tốt nếu có.
 Thiết lập quá trình tune và xử lý thông tin RDS trong hệ thống
Hình 2.8 Sơ đồ Tune của hệ thống
Mô tả quá trình hoạt động: Kết quả trả về từ bước tìm kiếm kênh sẽ là
một danh sách các kênh phát sóng FM. Kênh có tín hiệu tốt nhất sẽ được lựa
chọn để phát cho người dùng. Khi người dùng lựa chọn một kênh để thu sóng
từ trên giao diện chính, các mã lệnh sẽ được truyền từ tầng ứng dụng xuống
tầng dưới để turning các thông số kênh truyền. Nếu các bản tin RDS được
phát cùng với sóng FM tại kênh đó thông tin về PS (Programme service), RT
(Radio text) sẽ được hiển thị trên giao diện phần mềm.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
33
2.4 MÔ HÌNH HOẠT ĐỘNG
2.4.1 Xây dựng biểu đồ tuần tự
 Biểu đồ Turn On phần mềm
Hình 2.9 Biểu đồ tự turn on phần mềm
 Biểu đồ Turn Off
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
34
Hình 2.10 Biểu đồ Turn off phần mềm
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
35
 Sơ đồ tìm kiếm kênh
Hình 2.11 Sơ đồ tìm kiếm kênh
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
36
 Sơ đồ dò kênh
Hình 2.12 Sơ đồ dò kênh
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
37
2.4.2 Xây dựng biểu đồ máy trạng thái
Hình 2.13 Sơ đồ máy trạng thái [6]
2.5 KẾT LUẬN CHƯƠNG
Từ việc nghiên cứu và xây dựng vị trí, mối quan hệ, chức năng của module
RDS trong toàn hệ thống ta có thể thấy hệ thống RDS có thể sử dụng rất nhiều ứng
dụng, chức năng vào các các mặt của khoa học kỹ thuật và đời sống. Từ cơ sở kiến
thức trên chúng ta sẽ tiếp tục đi vào phần thiết kế chi tiết và triển khai thực tế ứng
dụng RDS trong phát thanh sóng FM.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
38
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG THU RDS THỰC TẾ
VÀ ĐÁNH GIÁ KẾT QUẢ
3.1 GIỚI THIỆU CHƯƠNG
Chương này sẽ được trình bày về các cơ sở để phát triển ứng dụng bao gồm
các công cụ và ngôn ngữ lập trình. Đưa ra các mô hình thiết kế chi tiết của ứng
dụng và thuật toán được triển khai trong khôn khổ luận văn của.
Các nội dung chi tiết như sau:
 Nền tảng hệ điều hành và ngôn ngữ lập trình
 Sơ đồ chức năng tương tác của phần mềm
 Mô hình giao tiếp giữa các tầng
 Phương thức và cơ chế truyền nhận bản tin hiển thị RDS
 Lưu đồ giải thuật lấy thông tin RDS
3.2 LỰA CHỌN PHẦN MỀM VÀ NGÔN NGỮ LẬP TRÌNH
3.2.1 Nền tảng hệ điều hành Android
Android được phát triển bởi tập đoàn Google, phiên bản đầu tiên ra mắt năm
2008. Được xây dựng trên một nền tảng mở và một bộ thư viện đa năng, mạnh mẽ
với nguyên lý mở. Android đã nhanh chóng được cộng đồng lập trình viên hưởng
ứng mạnh mẽ. Nền tảng android có nhiều tính năng nổi bật:
 Android là một hệ điều hành nhân Linux, đảm bảo sự tương tác phần cứng,
bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động.
 Bộ ứng dụng khung cho phép sử dụng lại và thay thế các thành phần riêng
lẻ.
 Máy ảo Dalvik được tối ưu cho các thiết bị di động và chạy các ứng dụng
lập trình java.
 Các thư viện phát triển ứng dụng mã nguồn mở như SQLite, Webkit
,OpenGL và trình quản lý đa phương tiện.
 Hỗ trợ các chuẩn đa phương tiện phổ biến trên nền GSM, Bluetooth, 3G và
wifi.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
39
 Hỗ trợ camera, GPS, ....
 Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi,
tích hợp với các IDE: eclipse, Android studio ...
Android cung cấp một tập hợp đầy đủ các phần mềm cho các thiết bị di động
bao gồm hệ điều hành, khung ứng dụng, các ứng dụng cơ bản và đặc biệt là máy ảo
Dalvik. Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị động
Android. Nó chạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik
(dex). Định dạng phù hợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc
độ xử lý. Dalvik đã được thiết kế và viết bởi Dan Bornstein, người đã đặt tên cho nó
sau khi đến thăm một ngôi làng đánh cá nhỏ có tên là Dalvik ở đảo Eyjafijour, nơi
mà một số tổ tiên của ông sinh sống. Từ góc nhìn của một nhà phát triển, Dalvik
trông giống như máy ảo Java (Java Virtual Machine) nhưng thực tế thì hoàn toàn
khác. Khi nhà phát triển viết một ứng dụng dành cho Android, anh ta thực hiện các
đoạn mã trong môi trường Java. Sau đó, nó sẽ được biên dịch sang các bytecode của
Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triển phải
thực thi một công cụ có tên là dex. Đây là công cụ dùng để chuyển đổi bytecode
sang một dạng gọi là dex bytecode. "Dex" là từ viết tắt của "Dalvik executable"
đóng vai trò như cơ chế ảo thực thi các ứng dụng Android. Dưới đây là kiến trúc
phân tầng của hệ điều hành Android:
Android bao gồm 4 thành phần:
 Hệ điều hành
Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như bảo
mật(security), quản lý bộ nhớ(memory management), quản lý tiến trình (process
management), Ngăn nhớ mạng (network stack), và mô hình điều khiển (driver
model). Nhân Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần
còn lại của phần mềm stack. Trong android tầng hệ điều hành (Kernel) sẽ có nhiệm
vụ giao tiếp với phần cứng và nhận nhiệm vụ điều khiển xử lý thông tin từ các tầng
trên. Các driver quan trọng của android trên tầng này như: Camera deiver, wifi
driver, Audio driver, IPC driver , Power management…
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
40
Hình 3.1 Kiến trúc của hệ điều hành Android
 Thư viện và các giao diện lập trình ứng dụng
Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều
thành phần khác nhau trong hệ thống Android. Điều này được thể hiện thông qua
nền tảng ứng dụng Android. Một số các thư viện cơ bản được liệt kê dưới đây:
System C library: Bộ thư viện C (libc) chuẩn cung cấp các phương thức
điều khiển cho các thiết bị nhúng linux.
 Media Libraries – Bộ mã nguồn mở hỗ trợ việc phát và ghi âm với nhiều
định dạng như MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG.
Surface Manager – Quản lý việc truy xuất vào hệ thống hiển thị
LibWebCore – Thư viện cho việc phát triển wen trên di động hoặc thiết bị
nhúng.
SGL – Thư viện đồ họa 2D.
3D libraries - Bộ thư viện dựa trên OpenGL ES 1.0 hỗ trợ về đồ họa 3D.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
41
FreeType – xử lý ảnh mức thấp như bitmap.
SQLite – Bộ cơ sở dự liệu dùng cho các ứng dụng di động.
 Android Runtime
Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết các
chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java. Tất cả các ứng
dụng Android đều chạy trong tiến trình riêng. Máy ảo Dalvik đã được viết để cho
một thiết bị có thể chạy nhiều máy ảo hiệu quả. Các VM Dalvik thực thi các tập tin
thực thi Dalvik (dex). Định dạng được tối ưu hóa cho bộ nhớ tối thiểu. VM là dựa
trên register-based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java
để chuyển đổi thành các định dạng dex. Các VM Dalvik dựa vào nhân Linux cho
các chức năng cơ bản như luồng và quản lý bộ nhớ thấp
 Khung ứng dụng
Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các
nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà
phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập,
các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh
trạng thái. Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử
dụng bởi các ứng dụng lõi. Các kiến trúc ứng dụng được thiết kế để đơn giản hóa
việc sử dụng lại các thành phần. Cơ chế này cho phép các thành phần tương tự sẽ
được thay thế bởi người sử dụng.
Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:
Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết
kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,…
 Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các
custom alerts trong status bar.
Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từ
các ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng
dụng đó.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
42
Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải
là mã nguồn, chẳng hạn như: localized strings, graphics, and layout files.
Activity Maanager được dùng để quản lý chu trình sống của ứng dụng và điều
hướng các activity.
 Ứng dụng
Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts,
browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Android đều
được viết bằng Java.
Một tính năng nổi bật nữa phải nói đến là bộ thư viện Android SKD google
cung cấp cho các lập trình viên được trang bị đầy đủ hầu hết các tính năng của một
thiết bị thật để phát triển các ứng dụng của mình trên nền android. Tuy nhiên, một
số đã bị giới hạn như là kết nối qua cổng USB, camera và video, nghe phone, nguồn
điện giả lập và bluetooth... Android SDK và Plugin Eclipse được gọi là một
Android Deverloper Tool (ADT).
3.2.2 Ngôn ngữ lập trình .
Do ứng được phát triển trên cả tầng application và tầng native nên ngôn ngữ
lập trình được sử dụng là java và C++. Dưới đây là các ngôn ngữ lập trình được sử
dụng để phát triển ứng dụng.
 AIDL (Android Interface Define Language)
Các ứng dụng trên tầng Application được phát triển bằng Java. Khi hai tiến
trình chạy trên các luồng khác nhau thì sẽ không thể truy cập lẫn nhau được.
Nếu muốn truy cập chéo nhau thì ta phải dùng ADIL. Cơ chế của ADIL là cho
phép các tiến trình có thể giao tiếp với nhau thông qua các proxy. Các proxy hoạt
động dựa trên cơ chế của binder IPC. Các đối tượng ảo là Stub và Proxy được tạo ra
để thực hiện các lời gọi hàm và truyền đối số.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
43
Hình3.2 Cơ chế Proxy trong AIDL
Tồn tại một interface để có thể gọi đến các Caller và callee trong mỗi tiến
trình. Proxy và stub là một lớp được tạo ra bên trong các interface cho phép các
tiến trình có thể giao tiếp chéo nhau thông qua chúng.
Hình 3.3 ADIL trong ứng dụng RDS
 JNI (Java native interface)
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
44
JNI là một nền tảng của Java, là một interface trung gian cho phép kết nối ứng
dụng Java với các ứng dụng hoặc thư viện viết bằng ngôn ngữ C/C++.
Hình 3.4 Cơ chế hoạt động của JNI
3.3 Kiến trúc hệ thống:
3.3.1 Sơ đồ tổng quan toàn hệ thống.
Từ góc nhìn tổng quan ta có thể thấy rõ các khối trong hệ thống, vị trí và mối
liên hệ giữa chúng.
Các thông tin RDS được mã hóa và điều chế cùng với sóng FM trước khi
truyền đi. Sở dĩ bản tin RDS có thể truyền liên tục và đồng thời cùng các bản tin
phát thanh mà không ảnh hưởng đến việc phát sóng là vì thông tin RDS được truyền
trên một sóng mang phụ 57KHz, các tín hiệu khác stereo nằm ở dải tần cao hơn dải
tần nghe được (tai người nghe được trong dải tần từ 20Hz đến 20KHz) và kết quả là
nó không ảnh hưởng đến tín hiệu mono bình thường.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
45
Hình 3.5 Góc nhìn tổng quan toàn hệ thống
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
46
3.3.2 Sơ đồ chức năng tương tác của phần mềm
Hình 3.6 Biều đồ ca sử dụng của phần mềm
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
47
3.4 Thiết kế chi tiết:
3.4.1 Mô hình giao tiếp của các tầng trong hệ thống FM
Hình 3.7 Mô hình giao tiếp của các module trong hệ thống[8]
FM application and FM driver giao tiếp với nhau thông qua tầng Java APIs.
FM host đã phát hành một FM java apis để có thể điểu khiển được driver của FM.
Các interface này cho phép tầng ứng dụng có thể giao tiếp với tầng FM kernel
thông qua JNI. Tầng JNI sẽ chuyển đổi Java api để có thể gọi được thư viện C.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
48
Thư viện C này sẽ lần lượt giao tiếp với V4L2 driver thông qua các interface
của V4L2 như hình bên dưới.
Hình 3.8 Kết nối giữa tầng FM application và FM driver.[8]
Việc triển khai FM host trên android không tận dụng bất kì mã nguồn nào của
các hệ điều hành khác. Thay vào đó Fm driver sử dụng kiến trúc FM V4L2. Các
interface hiện có của FM V4L2 được triển khai cho FM driver và chúng có nhiệm
vụ mở rộng các tính năng không được hỗ trợ trên bản hiện tại ví dụ như: khởi tạo và
nâng hiệu năng của hệ thống...
Hình 3.9 Kiến trúc của FM V4L2 [8]
Kiến trúc cụ thể của FM host controller interface (FM HCI ) sẽ được mô tả chi
tiết ở Hình 3.10 bên dưới.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
49
Hình 3.10 Kiến trúc của FM host. [8]
Việc triển khai FM HCI bao gồm thành phần chính là aCPU và cCPU. Trong
aCPU (FM Host) sẽ có các khối chính như hình vẽ trên.
 FM HCI (Host controller interface) giao tiếp với FM command/events
thông qua WCN-SS.
 FM host driver được tích hợp vào V4L2 kernel driver.
 FM middleware cung cấp các APIs cho tầng app có thể sử dụng các
tính năng cơ bản của FM.
 Trên cùng sẽ là tầng FM UI application.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
50
Khối thứ hai trong kiến trúc FM host là cCPU (FM controller).
 Radio contron sẽ giao tiếp với phần cứng của radio và điều khiển hoạt
động của nó.
 RDS Filtering proc: RDS sẽ xử lý và lọc ra những khối dữ liệu RDS
và gửi chúng cho máy chủ. Đồng thời nó cũng thực thi các chức năng để lọc ra
những dữ liệu không mong muốn dựa trên bộ lọc được cung cấp bởi máy chủ.
 FM HCI sẽ cung cấp một giao thức để định nghĩa các tập lệnh khác
nhau và các sự kiện thay đổi giữa các FM host và FM controller để cho phép các
máy chủ có thể cấu hình và điều khiển hoạt động của FM controller.
Hai khối aCPU và cCPU trong FM giao tiếp với nhau thông qua một physical
Bus như UART, USB, SPI, SMD (share memory) hoặc SD.
Hình 3.11 FM HCI architecture [8]
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
51
3.4.2 Lưu đồ giải thuật lấy thông tin RDS thông qua hệ thống FM
Hình 3.12 Lưu đồ thuật toán bản tin hiển thị RDS
3.4.3 Phương thức và cơ chế truyền nhận bản tin RDS giữa các tầng
Trước khi đi tìm hiểu về phương thức và cơ chế chuyền nhận thông tin hiển thị
RDS, ta sẽ tìm hiểu chi tiết cấu trúc định dạng các bản tin RDS.
Đầu tiên là cấu trúc khung dữ liệu.
Hình 3.13 Cấu trúc khung dữ liệu [1]
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
52
Thành phần lớn nhất gọi là một ‘Group‘. Kích thước của nó gồm 104 bit. Mỗi
group chia ra thành 4 block với kích thước thành phần là 26 bit.
Định dạng bản tin gồm các trường cơ bản sau:
Hình 3.14 Định dạng bản tin [1]
Pi code: programme Identification code 16 bit
Hình 3.15 Cấu trúc trường PI [1]
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
53
Group type code: 4 bit group type code cho mỗi group
Group 0A B:
/ Turning và switching AF, PS infomation
Hình 3.16 Cấu trúc trường PS [1]
 Group 1A/B: Progamme item number
 Froup 2A/B: Radio text
Hình 3.17 Cấu trúc trường radio text [1]
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
54
TP: Traffic programme identificatin code 1 bit
TPY: Programme type Code 5 bit
Checkword – Offset N: 10 bits
Các bản tin RDS được tách ra từ sóng FM giải mã và gửi lên tầng trên theo cơ
chế handler data Call
back.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
55
Hình 3.18 Sơ đồ cơ chế truyền nhận bản tin RDS
Hình 3.19 Luồng gửi nhận bản tin RDS ở tầng kernel
Phươg thức handle_rt_event() được chạy trên một thread độc lập có nhiệm vụ
cập nhật liên tục bản bản tin radio text. Dữ liệu rt nhận được sẽ được lưu vào trong
bộ đệm raw_rds [ST_BUF_SIZE]. Dữ liệu rds thu được thông qua hàm
RDSDataReceived() gửi lên tầng trên.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
56
Hình 3.20 Luồng gửi nhận bản tin RDS tại tầng native Framework
Dữ liệu rds được gửi lên tầng application thông qua JNI.
Method CallbaclToJava () sẽ nhận dữ liệu đươc truyền hàm RDSReceive ().
Tầng native app sẽ nhận được dữ liệu thông qua cơ chế Notify event.
Hình 3.21 Gửi nhận bản tin RDS tại tầng native app
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
57
Từ trên tầng Application sẽ ghi đè hàm onRDSReceive () để có thể thể nhận
được bản tin RDS
Hình 3.22 Gửi nhận bản tin RDS tại tầng ứng dụng
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
58
3.5 ĐÁNH GIÁ KẾT QUẢ
3.5.1 Kết quả thử nghiệm
 Cài đặt chương trình
Bước 1: Sao chép bộ cài của phần mềm RDS.apk vào bộ nhớ điện thoại
Hình 3.23 Các bước cài đặt phần mềm
Bước 2: Kích đúp vào gói và chọn “Install„
Bước 3: Hoàn thành và biểu tượng sẽ sinh ra ngoài màn hình
 Các bản tin được giải mã từ hệ thống FM
Sử dụng adb command để kiểm tra các bản tin thông báo từ dưới kernel.
Bước 1: chạy lênh “adb start-server“ để khởi động adb.
Hình 3.24 Khởi động adb command
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
59
Bước 2: Sử dụng cmd: adb logcat –vtime | find “RDS“ và adb shell cat | proc |
kmsg để kiểm tra các thông báo từ tầng kernel gửi lên
Hình 3.25 Thông báo từ tầng kernel
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
60
 Demo phần mềm
 Giao diện chính của phần mềm.
Hình 3.26 Giao diện chính của phần mềm
 Quá trình Turning và scan kênh
Hình 3.27 Quá trình tìm kiếm kênh
Turn ON
Found
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
61
 Hiển thị thông tin PS (Programme service), RT (Radio text).
Hình 3.28 Giao diện hiển thông thông tin RDS
 Lưu danh sách kênh yêu thích
Hình 3.29 Giao diện danh sách kênh yêu thích
PS
Radio Text
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
62
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN
 Các vấn đề đã làm được
Trong thời gian nghiên cứu và thực hiện đồ án em đã đạt được các kết quả:
 Nghiên cứu về giao thức RDS nắm vững được nguyên lý mã hóa và giải mã
bản tin RDS.
 Ứng dụng lý thuyết đã nghiên cứu về RDS để thiết kế và phát triển thành
công một ứng dụng có thể thu sóng FM và giải mã bản tin RDS để hiển thị trên màn
hình điện thoại di động.
 Phát triển mô đun lưu lại các kênh yêu thích của người dùng.
 Phát triển thêm tính năng dò kệnh tự động giúp người dùng tìm ra các kênh
có tín hiệu tốt.
 Tối ưu hóa mã nguồn để tăng hiệu năng của phần mềm.
 Đơn giản hóa giao diện phần mềm để thân thiện với người dùng.
 Định hướng trong tương lai
Luận văn chủ yếu mới sử dụng được các bản tin hiển thị chứ chưa tận dụng
được các bản tin điều khiển của RDS. Còn rất nhiều ứng dụng hữu ích nếu sử dụng
được bản tin điều khiển này. Trong tương lai tác giả sẽ nghiên cứu sâu hơn về bản
tin điều khiển RDS, tìm hiểu cấu trúc bản tin và áp dụng lên phần mềm của mình để
hoàn thiện các tính năng của phần mềm.
LUẬN VĂN TỐT NGHIỆP ĐHBKHN
HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B
63
TÀI LIỆU THAM KHẢO
1. Dietmar Kopitz, Bev Marks ( 1999), , Mobile
RDS: The Radio Data System
Communications Library, Bosyon, London.
2. Dominique Paret (1997), Cengare Learning,
Modem Control Technology,
USA.
3. Dyer, Harms (1993), Acandemic Press, Yovits,
Digital Signal Processing,
M.C.
4. Hamed Haddadi, Paul brennan (2003), RDS encoder, University college
London, London.
5. Milan Verle (2008) , , MikroElektronika, 1
PIC Microcontrollers st
Edition .
6. Mark L. Murphy (2011), Commonware .
Android Progamming Tutotials, , LLC
7. Qualcomm tecnology (2011), 80-N6866-1-A FM radio App call flows
android, Qualcomm Incorporated, San Diego, USA.
8. Qualcomm tecnology (2011), 80-VR485-1-D FM radio Overview, Qualcomm
Incorporated, San Diego, USA.
9. RDS Forum Statemen (1996), sent with letter DT/969-S/DK dated.
10. Ohsmann, M. (1991), ,Elecktor Electronic,
Radio Data System (RDS) Decoder
Uk.
11. Parnal (1989), “Decoding RDS”, Electronic & Wireless World, pp 148 – 155.
12. Silicon Laboratories
Scott Wright (1997), The Broadcaster’s Guide to RDS,
Inc, Texas.
13. Simon Monk (2011), P ,
rogramming Arduino Getting Started With Sketches
McGraw- Hill Education LAB, USA.
14. Walt Kester (2005), Newnes, USA.
The Data Conversion Handbook,

More Related Content

Similar to Ứng dụng công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống FM tương tự.pdf

Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012
vanliemtb
 
Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012
vanliemtb
 
Ttlv chu chi linh
Ttlv chu chi linhTtlv chu chi linh
Ttlv chu chi linh
vanliemtb
 

Similar to Ứng dụng công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống FM tương tự.pdf (20)

Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ
Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đĐề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ
Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ
 
Hệ MiMo và Mimo V-Blast OFDM.pdf
Hệ MiMo và Mimo V-Blast OFDM.pdfHệ MiMo và Mimo V-Blast OFDM.pdf
Hệ MiMo và Mimo V-Blast OFDM.pdf
 
Luận văn thạc sĩ - Điều khiển robot 5 bậc tự do bằng nhận dạng giọng nói.doc
Luận văn thạc sĩ - Điều khiển robot 5 bậc tự do bằng nhận dạng giọng nói.docLuận văn thạc sĩ - Điều khiển robot 5 bậc tự do bằng nhận dạng giọng nói.doc
Luận văn thạc sĩ - Điều khiển robot 5 bậc tự do bằng nhận dạng giọng nói.doc
 
Nghiên Cứu Công Nghệ Truyền Dẫn Sdh.doc
Nghiên Cứu Công Nghệ Truyền Dẫn Sdh.docNghiên Cứu Công Nghệ Truyền Dẫn Sdh.doc
Nghiên Cứu Công Nghệ Truyền Dẫn Sdh.doc
 
C1 tts
C1 ttsC1 tts
C1 tts
 
Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012
 
Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012
 
Luận văn: Nghiên Cứu Công Nghệ Truyền Dẫn SDH, HAY
Luận văn: Nghiên Cứu Công Nghệ Truyền Dẫn SDH, HAYLuận văn: Nghiên Cứu Công Nghệ Truyền Dẫn SDH, HAY
Luận văn: Nghiên Cứu Công Nghệ Truyền Dẫn SDH, HAY
 
Luận văn: Thuật toán nội suy nhằm tăng cường chất lượng video
Luận văn: Thuật toán nội suy nhằm tăng cường chất lượng videoLuận văn: Thuật toán nội suy nhằm tăng cường chất lượng video
Luận văn: Thuật toán nội suy nhằm tăng cường chất lượng video
 
Điều khiển quạt từ xa bằng hồng ngoại
Điều khiển quạt từ xa bằng hồng ngoạiĐiều khiển quạt từ xa bằng hồng ngoại
Điều khiển quạt từ xa bằng hồng ngoại
 
Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh
Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh
Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh
 
Lap trinhmangvoic sharp
Lap trinhmangvoic sharpLap trinhmangvoic sharp
Lap trinhmangvoic sharp
 
Đề tài: Nghiên cứu khả năng bảo mật thông tin tại tầng vật lý, HAY
Đề tài: Nghiên cứu khả năng bảo mật thông tin tại tầng vật lý, HAYĐề tài: Nghiên cứu khả năng bảo mật thông tin tại tầng vật lý, HAY
Đề tài: Nghiên cứu khả năng bảo mật thông tin tại tầng vật lý, HAY
 
Bài tập lớn xây dựng phương án thiết kế hệ thống thông tin quang wdm có sử dụ...
Bài tập lớn xây dựng phương án thiết kế hệ thống thông tin quang wdm có sử dụ...Bài tập lớn xây dựng phương án thiết kế hệ thống thông tin quang wdm có sử dụ...
Bài tập lớn xây dựng phương án thiết kế hệ thống thông tin quang wdm có sử dụ...
 
Luận văn: Định vị trong tính toán khắp nơi, HAY
Luận văn: Định vị trong tính toán khắp nơi, HAYLuận văn: Định vị trong tính toán khắp nơi, HAY
Luận văn: Định vị trong tính toán khắp nơi, HAY
 
Đề tài: Bảo vệ và phục hồi tổn thương gan của quả Dứa dại, HAY
Đề tài: Bảo vệ và phục hồi tổn thương gan của quả Dứa dại, HAYĐề tài: Bảo vệ và phục hồi tổn thương gan của quả Dứa dại, HAY
Đề tài: Bảo vệ và phục hồi tổn thương gan của quả Dứa dại, HAY
 
Phát triển các thuật toán mới cho truyền thông trong mạng robot
Phát triển các thuật toán mới cho truyền thông trong mạng robotPhát triển các thuật toán mới cho truyền thông trong mạng robot
Phát triển các thuật toán mới cho truyền thông trong mạng robot
 
Ttlv chu chi linh
Ttlv chu chi linhTtlv chu chi linh
Ttlv chu chi linh
 
Xây Dựng Tiêu Chuẩn Về Rung Pha Và Trôi Pha (JITTER AND WANDER) Cho Giao Diện...
Xây Dựng Tiêu Chuẩn Về Rung Pha Và Trôi Pha (JITTER AND WANDER) Cho Giao Diện...Xây Dựng Tiêu Chuẩn Về Rung Pha Và Trôi Pha (JITTER AND WANDER) Cho Giao Diện...
Xây Dựng Tiêu Chuẩn Về Rung Pha Và Trôi Pha (JITTER AND WANDER) Cho Giao Diện...
 
2.20 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (15)
2.20 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (15)2.20 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (15)
2.20 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (15)
 

More from Man_Ebook

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Recently uploaded

Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Kabala
 
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdfĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
levanthu03031984
 
Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1
mskellyworkmail
 

Recently uploaded (20)

Hoàn thiện công tác kiểm soát chi NSNN qua Kho bạc Nhà nước huyện Tri Tôn – t...
Hoàn thiện công tác kiểm soát chi NSNN qua Kho bạc Nhà nước huyện Tri Tôn – t...Hoàn thiện công tác kiểm soát chi NSNN qua Kho bạc Nhà nước huyện Tri Tôn – t...
Hoàn thiện công tác kiểm soát chi NSNN qua Kho bạc Nhà nước huyện Tri Tôn – t...
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
 
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
 
Trích dẫn theo Harvard với Microsoft Word
Trích dẫn theo Harvard với Microsoft WordTrích dẫn theo Harvard với Microsoft Word
Trích dẫn theo Harvard với Microsoft Word
 
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
 
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
 
Luận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy Phương
Luận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy PhươngLuận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy Phương
Luận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy Phương
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 1-20) ...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 1-20) ...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 1-20) ...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 1-20) ...
 
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdfĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
 
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdfGiáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
 
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họcChương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
 
Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1
 
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
 
Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...
Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...
Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...
 

Ứng dụng công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống FM tương tự.pdf

  • 1. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 1 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của TS. Nguyễn Xuân Quyền. Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa từng được công bố dưới bất kì hình thức nào trước đây. Ngoài ra trong đề tài có dùng một số sơ đồ khối của các tác giả khác đều có trích dẫn và chú thích nguồn gốc. Nếu phát hiện bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình. Hà Nội, ngày 4 tháng 9 năm 2016 Tác giả luận văn Nguyễn Tiến Thiện
  • 2. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 2 TÓM TẮT LUẬN VĂN Công nghệ hệ thống dữ liệu vô tuyến RDS là một chuẩn giao thức truyền thông cho việc nhúng một lượng nhỏ thông tin trong truyền thanh FM. Công nghệ này ra đời từ khá lâu nhưng những ứng dụng của nó trong truyền thanh vẫn rất lớn. Không chỉ có ứng dụng trong giải trí với những bản tin hiển thị được phát kèm cùng với sóng FM mà các bản tin điều khiển của RDS cũng rất hữu ích trong giao thông vận tải, giúp các lái xe có được thông tin cần thiết. Trong khuôn khổ luận văn, em đã thiết kế và phát triển đề tài “Ứng dụng công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống phát thanh FM tương tự”. Cụ thể đồ án gồm 3 Chương:  Chương 1: TỔNG QUAN VỀ RDS (Radio Data System) VÀ ỨNG DỤNG TRONG HỆ THỐNG FM Giới thiệu về hệ thống FM trên android và giao thức RDS.  Chương 2: PHÂN TÍCH VÀ THIẾT KẾ RDS TRONG HỆ THỐNG THU FM TRÊN HỆ ĐIỀU HÀNH ANDROID Đưa ra các phân tích hệ thống, các yêu cầu chức năng, xây dựng sơ đồ khối hệ thống.  Chương 3: TRIỂN KHAI HỆ THỐNG RDS THỰC TẾ VÀ ĐÁNH GIÁ KẾT QUẢ Đưa ra các yêu cầu thực thi hệ thống: các yêu câu về cơ sở hạ tầng, nền tảng và ngôn ngữ lập trình.
  • 3. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 3 ABSTRACT Radio Data System (RDS) is a communications protocol standard for embedding small amounts of digital information in conventional FM radio broadcasts. RDS has had since a long time ago, however its application in the broadcasting system are still very large. It plays a very important role in entertainment with the display messages are transmitted, besides, the control messages of RDS is also very useful in transportation it helps drivers get the needed information. , In the framework of the thesis, I’ve designed and developed my thesis "Application of the Radio Data System RDS technology in transmitting digital data through analog FM broadcasting system ". The content of our project include:  Chapter 1: OVERVIEW OF RDS (RADIO DATA SYSTEM) AND IMPLEMENT IN FM SYSTEM About FM on android and RDS protocol.      Chapter 2: ANALYSIS AND DESIGN RDS IN FM BROADCASTING SYSTEM ON ANDROID OPERATING SYSTEM Giving the system analysis, the functional requirements, building system block diagram.      Chapter 3: DEPLOYING PRACTICAL RDS SYSTEM AND RESULTS EVALUATION Giving the deploying system requirements: the requests for infrastructure, platforms and programming languages.
  • 4. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 4 MỤC LỤC LỜI CAM ĐOAN .................................................................................................1 TÓM TẮT LUẬN VĂN.........................................................................................2 ABSTRACT...........................................................................................................3 BẢNG CÁC TỪ VIẾT TẮT .................................................................................6 DANH MỤC HÌNH VẼ.........................................................................................7 LỜI NÓI ĐẦU .......................................................................................................9 CHƯƠNG 1:TỔNG QUAN VỀ RDS VÀ ỨNG DỤNG TRONG HỆ THỐNG FM........................................................................................................................10 1.1 GIỚI THIỆU CHƯƠNG ..........................................................................10 1.2 LÝ THUYẾT CHUNG VỀ ĐIỀU TẦN ...................................................10 1.2.1 Lý thuyết chung về điều chế tần số ....................................................10 1.2.2 Tín hiệu điều chế FM.........................................................................11 1.2.3 Phổ của tín hiệu điều tần....................................................................13 1.3 TỔNG QUAN VỀ RDS (Radio Data System)..........................................16 1.3.1 Khái niệm và lịch sử phát triển RDS ................................................16 1.3.2 Cấu trúc dữ liệu của RDS....................................................................16 1.3.3 Nguyên lý hoạt động của RDS .............................................................21 1.4 ỨNG DỤNG TRONG HỆ THỐNG FM...................................................21 1.5 KẾT LUẬN CHƯƠNG...........................................................................22 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ RDS TRONG HỆ THỐNG THU FM TRÊN ANDROID.........................................................................................24 2.1 GIỚI THIỆU CHƯƠNG .........................................................................24 2.2 SƠ ĐỒ TỔNG QUÁT CỦA HỆ THỐNG ...............................................24 2.2.1 Kiến trúc FM radio trong hệ điều hành Android................................24 2.2.2 Cấu trúc và chức năng của các tầng....................................................25 2.2.3 Cấu trúc của module RDS trong hệ thống. ...........................................29 2.3 XÂY DỰNG SƠ ĐỒ HOẠT ĐỘNG CỦA RDS. .....................................30 2.3.1 Xây dựng biểu đồ hoạt động ..............................................................30
  • 5. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 5 2.4 MÔ HÌNH HOẠT ĐỘNG.....................................................................33 2.4.1 Xây dựng biểu đồ tuần tự...................................................................33 2.4.2 Xây dựng biểu đồ máy trạng thái .......................................................37 2.5 KẾT LUẬN CHƯƠNG............................................................................37 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG THU RDS THỰC TẾ VÀ ĐÁNH GIÁ KẾT QUẢ....................................................................................................38 3.1 GIỚI THIỆU CHƯƠNG ..........................................................................38 3.2 LỰA CHỌN PHẦN MỀM VÀ NGÔN NGỮ LẬP TRÌNH......................38 3.2.1 Nền tảng hệ điều hành Android...........................................................38 3.2.2 Ngôn ngữ lập trình ...........................................................................42 . 3.3 Kiến trúc hệ thống:...................................................................................44 3.3.1 Sơ đồ tổng quan toàn hệ thống. .............................................................44 3.3.2 Sơ đồ chức năng tương tác của phần mềm .........................................46 3.4 Thiết kế chi tiết: .......................................................................................47 3.4.1 Mô hình giao tiếp của các tầng trong hệ thống FM.............................47 3.4.2 Lưu đồ giải thuật lấy thông tin RDS thông qua hệ thống FM .............51 3.4.3 Phương thức và cơ chế truyền nhận bản tin RDS giữa các tầng............51 3.5 ĐÁNH GIÁ KẾT QUẢ............................................................................58 3.5.1 Kết quả thử nghiệm...........................................................................58 KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN ...............................................62  Các vấn đề đã làm được ........................................................................62  Định hướng trong tương lai...................................................................62 TÀI LIỆU THAM KHẢO...................................................................................63
  • 6. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 6 BẢNG CÁC TỪ VIẾT TẮT FM: Frequency Modulation (Điều chế tần số) VHF: Very High Frequency (Mức tần số rất cao) NF: Network Follow (Luồng dữ liệu mạng) RDS: Radio Data System (Hệ thống dữ liệu radio) RBDS: Radio Broadcast Data System (Hệ thống dữ liệu phát thanh radio) PS: Programme Service (Tên dịch vụ chương trình) PI: Programne Identification code (Mã nhận dạng chương trình) DI: Decoder Identification code (Mã nhận dạng chức năng) PTY: Programme Type Code (Mã kiểu chương trình) TP: Traffic Program Identification code (Mã nhận dạng chương trình phương tiện) TA: Traffic Anouncement code (Mã thông báo trạm) M/S: Music-Speech switch code (Mã chuyển âm nhạc/ tiếng nói) CRC: Cyclic redundancy check (Mã kiểm tra lỗi) FM HCI: Frequency Modulation Host controller interface (Giao diện máy chủ điều khiển) EBU: European Broadcasting Union (Hiệp hội liên minh phát thanh Châu Âu) BPSK: Binary Phase Shift Keying (Điều chế pha nhị phân) PLL: Phased-locked loop (Vòng khóa pha) MSB: Most significant bit (Bit có trọng số lớn nhất) VCO: Voltage controlled oscillator (Bộ tạo dao động điều khiển bằng điện áp) AFC: Automatic Frequency Control (Tự động điều chỉnh tần số sóng mang) DSP: Digital signal processor (Bộ xử lý tín hiệu âm thanh tích hợp nhiều tính năng) ADC: Analog to digital converter (Bộ chuyển đổi tương tự ra số) DAC: Digital to Analog converter (Bộ chuyển đổi số ra tương tự)
  • 7. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 7 DANH MỤC HÌNH VẼ Hình 1.1 Điều chế FM..........................................................................................11 Hình 1.2: Cấu trúc của một group trong RDS [1]..................................................17 Hình 1.3: Định dạng của một group RDS [1] ........................................................18 Hìnn 1.4: Phổ tín hiệu FM và RDS [1]..................................................................20 Hình 2.1 Kiến trúc của hệ thống FM trong nền tảng hdh Android[6] ....................25 Hình 2.2 Giao tiếp giữa tầng App với tầng dưới. ...................................................26 Hình 2.3. Các khối của tầng MiddleWare.............................................................27 Hình 2.4 Kiến trúc tổng quát của tầng HAL...........................................................28 Hình 2.5 Sơ đồ kiến trúc tổng quan của module RDS ............................................29 Hình 2.6 Sơ đồ turn On/Off phần mềm...................................................................30 Hình 2.7. Sơ đồ quá trình tìm kiếm kênh................................................................31 Hình 2.8 Sơ đồ Tune của hệ thống........................................................................32 Hình 2.9 Biểu đồ tự turn on phần mềm ..................................................................33 Hình 2.10 Biểu đồ Turn off phần mềm..................................................................34 Hình 2.11 Sơ đồ tìm kiếm kênh ..............................................................................35 Hình 2.12 Sơ đồ dò kênh........................................................................................36 Hình 2.13 Sơ đồ máy trạng thái [6].......................................................................37 Hình 3.1 Kiến trúc của hệ điều hành Android.......................................................40 Hình3.2 Cơ chế Proxy trong AIDL .......................................................................43 Hình 3.3 ADIL trong ứng dụng RDS......................................................................43 Hình 3.4 Cơ chế hoạt động của JNI......................................................................44 Hình 3.5 Góc nhìn tổng quan toàn hệ thống .........................................................45 Hình 3.6 Biều đồ ca sử dụng của phần mềm .........................................................46 Hình 3.7 Mô hình giao tiếp của các module trong hệ thống[8].............................47 Hình 3.8 Kết nối giữa tầng FM application và FM driver.[8]...............................48 Hình 3.9 Kiến trúc của FM V4L2 [8].....................................................................48 Hình 3.10 Kiến trúc của FM host. [8]...................................................................49 Hình 3.11 FM HCI architecture [8].....................................................................50 Hình 3.12 Lưu đồ thuật toán bản tin hiển thị RDS ................................................51 Hình 3.13 Cấu trúc khung dữ liệu [1]...................................................................51 Hình 3.14 Định dạng bản tin [1] ..........................................................................52 Hình 3.15 Cấu trúc trường PI [1].........................................................................52 Hình 3.16 Cấu trúc trường PS [1] .......................................................................53 Hình 3.17 Cấu trúc trường radio text [1]..............................................................53 Hình 3.18 Sơ đồ cơ chế truyền nhận bản tin RDS .................................................55 Hình 3.19 Luồng gửi nhận bản tin RDS ở tầng kernel ..........................................55 Hình 3.20 Luồng gửi nhận bản tin RDS tại tầng native Framework......................56 Hình 3.21 Gửi nhận bản tin RDS tại tầng native app............................................56 Hình 3.22 Gửi nhận bản tin RDS tại tầng ứng dụng ............................................57 Hình 3.23 Các bước cài đặt phần mềm..................................................................58 Hình 3.24 Khởi động adb command ......................................................................58 Hình 3.25 Thông báo từ tầng kernel .....................................................................59
  • 8. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 8 Hình 3.26 Giao diện chính của phần mềm............................................................60 Hình 3.27 Quá trình tìm kiếm kênh........................................................................60 Hình 3.28 Giao diện hiển thông thông tin RDS.....................................................61 Hình 3.29 Giao diện danh sách kênh yêu thích .....................................................61
  • 9. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 9 LỜI NÓI ĐẦU Ngày nay, phát thanh dùng sóng mang điều tần FM đóng vai trò quan trọng trong nhiều lĩnh vực từ đời sống văn hóa, xã hội đến các lĩnh vực khoa học kĩ thuật, giáo dục, quân sự. Rất nhiều công nghệ ra đời nhằm cải tiến chất lượng của hệ thống phát thanh FM, một trong số đó là công nghệ hệ thống dữ liệu vô tuyến RDS. Công nghệ RDS cho phép truyền dữ liệu số tốc độ thấp qua hệ thống FM truyền thông. Cung cấp cho người dùng nhiều thông tin hữu ích về tên chương trình phát, nội dung đang phát, tên trạm phát, vv. Việc tích hợp công nghệ RDS vào phát thanh FM hiện đã được triển khai ở nhiều nước trên thế giới. Đặc biệt, việc thu sóng phát thanh FM hiện nay đã được tích hợp phố biến trên các thiết bị di động. Do đó việc phát triển công nghệ RDS trên nền tảng hệ điều hành android là một ứng dụng tiềm năng và hữu ích. Trong thời gian vừa qua dưới sự hướng dẫn tận tình của thầy Nguyễn Xuân Quyền và sự nghiên cứu nghiêm túc, em đã hoàn thành luận văn “ Ứng dụng công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống phát thanh FM tương tự ". Ứng dụng cho phép người dùng nghe sóng FM và đọc được các thông tin hiển thị RDS trên các thiết bị di động. Với những nỗ lực nghiên cứu, luận văn đã đạt được một số kết quả nhất định. Mặc dù vậy, do thời gian có hạn nên không thể tránh khỏi một số thiếu. Vì vậy, học viên rất mong những ý kiến đóng góp của các thầy cô giáo và bạn bè. Em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Xuân Quyền tận tình hướng dẫn trong suốt quá trình thực hiện luận văn.
  • 10. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 10 CHƯƠNG 1:TỔNG QUAN VỀ RDS VÀ ỨNG DỤNG TRONG HỆ THỐNG FM 1.1 GIỚI THIỆU CHƯƠNG Chuẩn RDS được giới thiệu lần đầu tiên để phục vụ cho việc xử lý tín hiệu cho mã hóa RDS (ở các nước châu Âu), phiên bản RBDS (ở Bắc Mỹ). Hệ thống RDS được ứng dụng trong thu phát sóng FM ở dải tần 87.5 MHz tới 108.0 MHz để truyền tải thông tin cho cả chương trình stereo (đa âm) và mono (đơn âm). Chương một sẽ giới thiệu về các cơ sở lý thuyết và nguyên lý về sóng FM và giao thức RDS. 1.2 LÝ THUYẾT CHUNG VỀ ĐIỀU TẦN 1.2.1 Lý thuyết chung về điều chế tần số Điều chế tần số được áp dụng trong kỹ thuật vô tuyến điện và kỹ thuật xử lý tín hiệu. Người ta truyền thông tin trên một sóng mang cao tần bằng cách thay đổi tần số sóng mang theo tín hiệu cần truyền, trong khi biên độ của sóng mang cao tần không thay đổi [1]. Sóng mang thường có tần số cao hơn so với tần số của tín hiệu mà nó truyền tải. Sóng mang thường dùng để truyền các thông tin xuyên qua không gian như một sóng điện từ (ví dụ như liên lạc bằng sóng vô tuyến) hay cho phép vài sóng mang tần số khác nhau có thể chia sẻ chung một môi trường phát sóng vật lý bằng phương pháp ghép kênh phân chia theo tần số (ví dụ như trong trường hợp của hệ thống truyền hình cáp). FM (Frequency Modulation) là phương pháp điều chế biến đổi tần số của sóng mang cao tần theo biên độ của tín hiệu tin tức. Việc truyền tín hiệu âm thanh qua hệ thống radio FM là phổ biến nhất. Tuy nhiên, máy phát FM cũng có thể truyền dữ liệu số tốc độ thấp được gọi là hệ thống dữ liệu radio (Radio Data System - RDS) ở châu Âu và hệ thống radio dữ liệu (Radio Broadcast Data System - RBDS). Từ năm 1940 khi bắt đầu phát hiện thấy ưu điểm chống can nhiễu của kỹ thuật điều tần, kỹ thuật mới này được được sử dụng mạnh mẽ. Hiện nay kỹ thuật này được sử dụng rộng rãi trong phát thanh, hệ thống vô tuyến hai chiều, hệ thống ghi
  • 11. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 11 băng từ và hệ thống truyền dẫn video. Trong hệ thống vô tuyến, điều tần với băng thông đủ lớn giúp ích lớn cho việc loại bỏ tạp âm trong khi truyền. 1.2.2 Tín hiệu điều chế FM Điều chế tần số được áp dụng trong kỹ thuật vô tuyến điện và kỹ thuật xử lý tín hiệu. Người ta truyền thông tin trên một sóng mang cao tần bằng hai cách. Thay đổi tần số sóng mang theo tín hiệu cần truyền khi biên độ của sóng mang cao tần không thay đổi, đó là kỹ thuật điều chế tần số. Và điều chế biên độ của sóng mang theo tín hiệu cần truyền mà tần số sóng mang vẫn giữ nguyên. Ngoài ra còn nhiều phương pháp điều chế khác, như điều chế pha, điều chế mạch xung, điều chế biên mã, điều chế đơn biên... [1] Tín hiệu điều chế FM Hình 1.1 Điều chế FM Tín hiệu sóng mang cao tần chưa điều chế là đơn hài, xác định bởi: (1.1) Trong đó: là pha tức thời của dao động cao tần, xác định trạng thái tín hiệu
  • 12. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 12 tại thời điểm t. là tần số sóng mang. là pha ban đầu. Giữa tần số và pha có quan hệ: (1.2) (1.3) là hệ số Khi đó tín hiệu điều chế FM có dạng: Độ dịch tần số (frequency deviation): là lượng mà tần số sóng mang sai lệch so với tín hiệu sóng mang chưa được điều chế. Đối với một hệ thống FM, độ dịch tần số cho phép cực đại là độ lệch tần số lớn nhất kể từ tần số trung tâm, nó là một đại lượng quan trọng và được xem như là tốc độ dịch hệ thống fd (rated system deviation). Khi fd được xác lập nó sẽ xác định biên độ của điều chế tần số. Ở hầu hết mọi thời điểm, điện áp điều chế đều nhỏ hơn giá trị cực đại này và khi đó, độ lệch tần số là . Chỉ Số Điều Chế (modulation index) là độ lệch pha đỉnh của tín hiệu FM, ký hiệu là mf.
  • 13. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 13 Tỉ số độ lệch (deviation ratio): Khi một hệ thống FM được thiết kế, cần phải sử dụng những giá trị cho phép tối đa cho cả độ lệch của sóng mang lẫn tần số tín hiệu điều chế. Do đó, chỉ số điều chế được biết như là độ lệch D: Độ lệch của một hệ thống FM xác định là không đổi, trong khi đó chỉ số điều chế thay đổi không ngừng cùng với sự thay đổi của điện áp và tần số tín hiệu. 1.2.3 Phổ của tín hiệu điều tần Tín hiệu điều chế và pha ban đầu sóng mang 0 = 0. Tín hiệu FM có dạng như sau: Với: : chỉ số điều chế : độ di tần  FM dải hẹp (NBFM: ) Nếu độ di tần nhỏ (mf <0.25), ta có: (1.9)  Phổ tín hiệu FM dải hẹp gồm sóng mang và hai biên tương tự AM  FM dải rộng (WBFM: wideband FM mf > 0.25) có thể khai triển theo các hệ số của hàm Bessel như sau:
  • 14. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 14 Biên độ của chúng tỷ lệ với hàm Bessel bậc n: Bảng 1.1 Các hệ số của hàm Bessel tương ứng với một số chỉ số điều chế mf mf J0 J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 J11 J12 J13 J14 0.0 0 1.00 - - - - - - - - - - - - - - 0.2 5 0.98 0.12 - - - - - - - - - - - - - 0.5  0.94 0.24 0.03 - - - - - - - - - - - - 1.0  0.77 0.44 0.11 0.02 - - - - - - - - - - - 1.5  0.51 0.56 0.23 0.06 0.01 - - - - - - - - - - 2.0  0.22 0.58 0.35 0.13 0.03 - - - - - - - - - - 2.4 1 0 0.52 0.43 0.20 0.06 0.02 - - - - - - - - - 2.5  −0. 05 0.50 0.45 0.22 0.07 0.02 0.01 - - - - - - - - 3.0  −0. 26 0.34 0.49 0.31 0.13 0.04 0.01 - - - - - - - -
  • 15. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 15 4.0  −0. 40 −0. 07 0.36 0.43 0.28 0.13 0.05 0.02 - - - - - - - 5.0  −0. 18 −0. 33 0.05 0.36 0.39 0.26 0.13 0.05 0.02 - - - - - - 5.5 3 0 −0. 34 −0. 13 0.25 0.40 0.32 0.19 0.09 0.03 0.01 - - - - - 6.0  0.15 −0. 28 −0. 24 0.11 0.36 0.36 0.25 0.13 0.06 0.02 - - - - - 7.0  0.30 0.00 −0. 30 −0. 17 0.16 0.35 0.34 0.23 0.13 0.06 0.02 - - - - 8.0  0.17 0.23 −0. 11 −0. 29 −0. 10 0.19 0.34 0.32 0.22 0.13 0.06 0.03 - - - 8.6 5 0 0.27 0.06 −0. 24 −0. 23 0.03 0.26 0.34 0.28 0.18 0.10 0.05 0.02 - - 9.0  −0. 09 0.25 0.14 −0. 18 −0. 27 −0. 06 0.20 0.33 0.31 0.21 0.12 0.06 0.03 0.01 - 10. 0 −0. 25 0.04 0.25 0.06 −0. 22 −0. 23 −0. 01 0.22 0.32 0.29 0.21 0.12 0.06 0.03 0.01  Băng thông của tín hiệu điều chế FM Về lý thuyết độ rộng băng thông cao tần tín hiệu FM vô cùng lớn, tuy nhiên thực tế quy định giới hạn băng thông FM đến thành phần phổ biên . Băng thông này tính theo công thức: BFM 2( f f    m) = 2(mf + 1)fm, với fm là tần số tín hiêu điều chế tần thấp băng gốc.
  • 16. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 16 1.3 TỔNG QUAN VỀ RDS (Radio Data System) 1.3.1 Khái niệm và lịch sử phát triển RDS RDS (Radio Data System) là hệ thống truyền dữ liệu qua sóng radio. Đây là một chuẩn giao thức truyền thông cho việc gửi thêm thông tin kỹ thuật số trên các chương trình phát thanh qua sóng FM. RDS chuẩn hóa một số loại thông tin được truyền, bao gồm thời gian, mã trạm và thông tin chương trình. Đài phát thanh có thể sử dụng RDS để gửi đi các bản tin quảng bá ngắn gọn cho người sử dụng hiển thị trên màn hình như thông tin thời tiết, giá cả, tình hình giao thông, thông tin quảng cáo. Đặc biệt có thể phát thanh chia theo từng khu vực và nội dung phát thanh không bị ảnh hưởng. Sóng FM sử dụng băng tần UHF (tần số từ 87.5 tới 108 Mhz) cho phép phủ sóng trong vòng bán kính từ 80 tới 160 km. Trạm phát sóng FM sử dụng phương pháp đa truy nhập theo tần số (FDMA) để chia sẻ băng tần UHF, một trạm phát FM có thể truyền một hoặc nhiều kênh. [1] RDS sử dụng dải tần trong khoảng 55 KHz tới 59 KHz với phương pháp điều chế theo pha tín hiệu (PSK), cho tốc độ truyền 1187.5 bps. Nếu trừ đi các bit sử dụng để phát hiện, sửa lỗi và đồng bộ hóa thì tốc độ truyền thực tế khoảng 731 bps. Giao thức RDS được phát triển bởi Hiệp hội liên minh phát thanh châu Âu (EBU) và được công bố phiên bản đầu tiên vào năm 1984. Từ đó đã trở thành một tiêu chuẩn quốc tế được công nhận bởi tổ chức IEC(International Electrotechnical Commission). 1.3.2 Cấu trúc dữ liệu của RDS Dữ liệu RDS được định dạng trong các group. Có 16 group được chia làm hai loại A và B. Mỗi group chứa 104 bit được chia thành 4 block 26 bit. Mỗi block bao gồm 16 bit thông tin và 10 bit để sửa lỗi và đồng bộ (Hình.1)  Cấu trúc của một group. Mỗi Group bao gồm bốn Block chứa những thông tin sau (Hình 1.2) Block 1 của mỗi group chứa mã PI (Program Identification). Block 2 chứa những thông tin sau:
  • 17. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 17 Hình 1.2: Cấu trúc của một group trong RDS [1] Group type code dùng để phân biệt ứng dụng của group. Bao gồm 4 bit A0, A1, A2, A3. Mỗi loại ứng dụng có hai version A và B, version được xác định bằng bit B0 trong Block 2. B0 = 0: PI code chỉ chứa trong Block 1 (version A). B0=1: PI code được chứa trong block 1 và 3 của tất cả các group (version B).  Traffic program (TP): 1 bit  Program type code (PTY): 5 bit  5 bit cho những thông tin riêng biệt Mã phát hiện, sửa lỗi và đồng bộ: 10 bit cuối của mỗi block được sử dụng cho để sửa lỗi và đồng bộ. Đồng bộ hóa hoạt động bằng cách sử dụng các dữ liệu được xác định trước. Phát hiện lỗi hoạt động bằng cách sử dụng thuật toán phát hiện tất cả 1 hoặc 2 bit lỗi trong một block và phát hiện tất cả các lỗi trong khoảng dưới 11 bit. [1]  Block 3 và 4 chứa những dữ liệu cụ thể  Th t truy n c a các bit ứ ự ề ủ Tất cả các thông tin của words và checkwords có các bit quan trọng nhất (MSB) được truyền đầu tiên. Do đó các bit cuối cùng truyền đi trong một số nhị phân hoặc địa chỉ có trọng lượng 20. Dữ liệu truyền là hoàn toàn đồng bộ và không có khoảng trống giữa các nhóm hoặc các khối. Từ thông tin và sử dụng của họ được giải thích trong hình (Hình 1.2) định dạng tin nhắn.
  • 18. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 18 Hình 1.3: Định dạng của một group RDS [1]  Các thông tin hiển thị RDS [1] Program service name (PS): Tên chương trình chứa tối đa 8 ký tự. Nó có thể được sử dụng để thông báo cho người dùng tên của trạm phát. PS được truyền trong group 0A. Radio text (RT): Cho phép truyền tối đa 64 ký tự. Ngoài ra RT cho phép truyền các bản tin chuỗi. RT được truyền trong group 2A và 2B. Clock time and date (CT): Cho phép truyền thông tin thời gian và ngày tháng hiện tại. Các máy thu có thể hiển thị thời gian hoặc đồng bộ lại thời gian nội bộ. CT được truyền trong group 4A.  Các thông tin điều khiển RDS Program Identification (PI): Mã PI cho phép máy thu FM phân biệt được các quốc gia, khu vực trong trường hợp cùng một chương trình được truyền đi và xác định các chương trình riêng biệt. Nó không hiển thị trực tiếp trên màn hình và được gán cho mỗi chương trình riêng lẻ, cho phép phân biệt với các chương trình khác. Mã PI cho phép máy thu tìm kiếm tự động một tần số thay thế cho chương trình hiện tại trong trường hợp tín hiệu nhận được không tốt. Program type code (PTY): Định nghĩa loại chương trình được truyền trong mỗi group (Ví dụ: tin tức, nhạc Pop, nhạc Jazz…). Bao gồm 5 bit, có thể định nghĩa được 32 loại chương trình. Máy thu có thể sử dụng PTY để tìm kiếm những loại chương trình cụ thể.
  • 19. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 19 Traffic Program Identification (TP): Dùng để xác định các trạm phát đang phát các bản tin giao thông không. TP được truyền trong tất cả các group. Traffic Announcement Identification (TA): dùng để cho biết một sự kiện giao thông đang diễn ra. TA có thể sử dụng để máy thu FM tự động chuyển kênh, thay đổi mức âm lượng. TA được truyền trong group 0a, 0B và 15B. Music/Speech Switch (M/S): dùng để xác định chương trình đang phát là âm nhạc hay giọng nói. Tín hiệu này cho phép máy thu tự động thay đổi mức độ âm lượng cho phù hợp với âm nhạc hoặc giọng nói. M/S được truyền trong group 0A, 0B và 15B. Decoder Identification (DI): dùng để xác định chế độ hoạt động. DI được truyền trong group 0a, 0b, 15B. Alternative Frequencies (AF): tần số thay thế được sử dụng để gửi danh sách các tần số truyền cùng một chương trình. Máy thu có thể tự động chuyển sang một tần số thay thế nếu tín hiệu tại tần số hiện tại yếu. Program Item Number (PIN): dùng để xác định thời gian phát sóng của một chương trình cụ thể. Có thể sử dụng thông tin này để lập kế hoạch ghi lại một chương trình đã lên lịch. PIN được truyền trong group 1A và 1B.  Các thông tin RDS đặc biệt Enhanced Other Networks Information (EON): Thông tin này được sử dụng để cập nhật thông tin các chương trình có thể nhận được lưu trữ trong máy thu. EON bao gồm các dữ liệu như tần số thay thế, tên PS, bản tin TP, TA, PTY, PIN… của mỗi chương trình RDS. Chúng được tham chiếu bởi các mã PI. Bên thu RDS có thể thiết lập một cơ sở dữ liệu của chương trình giúp cho người sử dụng thuận tiện. Ví dụ như một trạm phát không cung cấp thông tin giao thông, RDS có thể sử dụng chương trình giao thông của một trạm khác. Để làm điều này, máy thu tạm thời chuyển qua một trạm khác trong thời gian có bản tin giao thông. Các thông tin có thể truyền qua EON: EON-PI: xác định các chương trình khác và giàn chương trình liên quan.
  • 20. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 20 EON-PS: PS của các chương trình khác có thể truyền qua EON. EON-PTY: PTY của các chương trình khác có thể truyền qua EON. EON-TP: Cờ TP của các chương trình khác có thể truyền qua EON. Nó cho phép khả năng xác định các trạm phát sóng cung cấp chương trình giao thông. EON-TA: Cờ TA của các chương trình khác có thể truyền qua EON. Nó cho phép khả năng phát hiện các bản tin giao thông đang diễn ra ở chương trình khác. Nó có thể sử dụng để tự động chuyển chương trình trong thời gian bản tin diễn ra. EON-AF: Danh sách các tần số thay thế của các chương trình EON tham chiếu cũng có thể được truyền đi. EON được truyền trong group 14A và 14B. Transparent Data Channel (TDC): bao gồm 32 kênh có thể sử dụng để truyền bất cứ loại dữ liệu nào. Máy thu RDS có thể sử dụng dữ liệu TDC cho một ứng dụng bên ngoài như điều khiển một bảng quảng cáo hiển thị dữ liệu liên tiếp. TDC được truyền trong group 5A và 5B. In house applications (IH): có thể được sử dụng bởi nhà cung cấp để truyền bất cứ loại dữ liệu nào với mục đích nội bộ ví dụ như dùng để chuyển mạch từ xa. IH được truyền trong group 6A và 6B. Emergency Warning System (EWS): Cho phép truyền các bản tin cảnh báo. Khi nhận được máy thu có thể tự động chuyển sang một đài cảnh báo xác định trước. EWS được truyền trong group 1A và 9A. Hìnn 1.4: Phổ tín hiệu FM và RDS [1]
  • 21. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 21 1.3.3 Nguyên lý hoạt động của RDS RDS hoạt động bằng cách thêm dữ liệu vào các tín hiệu băng tần cơ sở. Các tín hiệu băng tần cơ sở bao gồm một số thành phần. Đầu tiên là thành phần audio mono bao gồm thành phần trái cộng phải (L + R) được truyền đi từ tần số 50Hz đến 15 KHz. Thứ hai là các tín hiệu khác stereo sau khi điều chế biên độ như một cặp sóng mang bị chặn tại 38KHz. Một tín hiệu 19KHz ( gọi là tần số pilot) cũng được truyền và điều này cho phép bộ giải điều chế bên thu tạo lại chính xác sóng mang phụ 38KHz để giải mã các tín hiệu khác stereo. Các tín hiệu khác stereo nằm ở dải tần cao hơn dải tần nghe được (tai người nghe được trong dải tần từ 20Hz đến 20KHz) và kết quả là nó không ảnh hưởng đến tín hiệu mono bình thường.Thông tin RDS được truyền trên một sóng mang phụ 57KHz như hình vẽ. Chính vì yếu tố này lên các nhà phát triển sản phẩm đã dùng công nghệ RDS để truyền liên tục và đồng thời cùng các bản tin phát thanh mà không ảnh hưởng đến việc phát sóng. Các sóng mang phụ RDS bị khóa trong các tín hiệu âm dẫn. Các sóng mang phụ được sử dụng để mang thông tin được điều chế pha để mang dữ liệu. Kỹ thuật điều chế pha được dùng là điều chế pha cầu phương (Quadrature Phase Shift Keying - QPSK). Kỹ thuật này cho phép khả năng miễn tạp âm trong khi vẫn cho phép các dữ liệu được truyền với tốc độ phù hợp. Kết hợp với việc các sóng mang phụ hoạt động ở một hài của tín hiệu âm dẫn, tín hiệu audio giảm thiểu được nhiễu can thiệp. 1.4 ỨNG DỤNG TRONG HỆ THỐNG FM Do các bản tin RDS được truyền trên các sóng mang phụ nên nó sẽ không ảnh hưởng đến các tín hiệu của sóng FM. Sử dụng một sóng mang phụ 57 KHz, trạm phát có thể truyền tải dữ liệu kỹ thuật số RDS đến máy thu có sử dụng bộ chỉnh FM RDS. Với các thông tin hiển thị RDS (PS ,RT ...) khi thưởng thức các bản nhạc trên sóng FM, các thông tin về trạm phát, tên bài hát cũng có thể được truyền đi để cung cấp thêm thông tin cho người nghe. Đặc với các tài xế xe ô tô, tính năng này giúp họ nhận thông tin từ các bản tin giao thông một cách nhanh chóng và kịp thời nhất
  • 22. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 22 để điều khiển xe an toàn hơn. Các hệ thông thu phát sóng FM có thể hoạt động tối ưu hơn khi ứng dụng được các bản tin điều khiển của RDS. Ví dụ bản tin điểu khiển PI (Program Identification), AF (Alternative Frequencies) cho phép máy thu tìm kiếm tự động một tần số thay thế cho chương trình hiện tại trong trường hợp tín hiệu nhận được không tốt. Cờ xác nhận chương trình giao thông (Traffic Program Identification Flag-TP) được sử dụng để xác định các trạm cung cấp chương trình giao thông. Cờ này được thiết lập nếu các trạm tự động đặt cờ TA trên thông báo giao thông. TP được sử dụng để tự động tìm các trạm. Cờ xác nhận chương trình giao thông được truyền trong mọi nhóm. Cờ xác nhận thông báo giao thông (Traffic Announcement Identification Flag –TA) được dùng để biểu thị một thông báo giao thông đang được phát. Bộ bắt sóng sử dụng cờ TA để : Tự động chuyển sang bắt sóng FM nếu nguồn âm thanh khác được chọn (VD, CD, catsette…). Tự động tăng âm lượng âm thanh. Mã chuyển âm nhạc/bài phát biểu (Music/Speech switch – M/S) sử dụng để xác định chương trình âm nhạc hoặc bài phát biểu được truyền. Thiết bị thu bắt tín hiệu có hai lựa chọn âm thanh – một là âm nhạc, một là phát biểu. Điều này cho phép người sử dụng cấu hình các thiết lập theo yêu cầu cá nhân. Mã chuyển âm nhạc/bài phát biểu được truyền trong nhóm 0A, 0B và 15B. Trong giới hạn luận văn của mình em sẽ đi sâu vào nghiên cứu về các bản tin hiển thị RDS và xây dựng phát triển ứng dụng với các bản tin hiển thị này nhằm hướng đến các nhu cầu giải trí, nâng cao chất lượng cuộc sống của con người. 1.5 KẾT LUẬN CHƯƠNG Một hệ thống thu phát RDS bất kì nào cũng đều được nghiên cứu và phát triển dựa trên các cơ sở vật lý và nguyên lý như đã nêu. Mục đích nhắm đảm bảo tính đồng nhất của giao thức trên toàn cầu theo chuẩn của quốc tế. Dựa trên cơ sở lý
  • 23. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 23 thuyết về sóng FM và giao thức RDS em sẽ tiếp tục nghiên cứu và trình bày phần thiết kế chi tiết giao thức RDS trong hệ thống thu phát sóng FM.
  • 24. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 24 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ RDS TRONG HỆ THỐNG THU FM TRÊN ANDROID 2.1 GIỚI THIỆU CHƯƠNG Để bên thu có thể nhận được đầy đủ thông tin văn bản mà bên phát gửi đi việc đầu tiên phải đảm bảo đồng bộ cấu trúc thông tin giữa hai bên. Chương 2 sẽ phân tích và đưa ra các sơ đồ khối tổng quát toàn hệ thống thu FM, vị trí và chức năng của module RDS trong hệ thống và sơ đồ hoạt động của chúng. 2.2 SƠ ĐỒ TỔNG QUÁT CỦA HỆ THỐNG 2.2.1 Kiến trúc FM radio trong hệ điều hành Android FM radio được phát triển trên hệ điều hành android, do đó các thành phần và kiến trúc phân tầng cũng dựa trên hệ điều hành này. Android là tổ hợp các phần mềm cho thiết bị di động bao gồm hệ điều hành, middleware và các ứng dụng cơ bản. Android SDK (Software Development Kit) cung cấp các công cụ và các giao diện lập trình cần thiết (API) cho việc phát triển ứng dụng trên nền tảng Android sử dụng ngôn ngữ Java. Các tính năng  Application framework: Cho phép tái sử dụng và thay thế các thành phần của hệ thống.  Dalvik virtual machine: Tối ưu cho các thiết bị mobile.  Integrated browser: Dựa trên phần mềm mã nguồn mở WebKit.  Optimized graphics: Cung cấp các thư viện đồ họa 2D có thể tùy chỉnh hình ảnh linh hoạt, đồ họa 3G dựa trên OpenGL ES 2.0 (phụ thuộc phần cứng hệ thống).  SQLite: Cơ sở dữ liệu.  Media support: Hỗ trợ các định dạng âm thanh, hình ảnh và video (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  GSM Telephony: phụ thuộc phần cứng hệ thống.  Bluetooth, EDGE, 3G, WiFi: Phụ thuộc phần cứng hệ thống.  Camera, GPS, la bàn, cảm biến gia tốc: Phụ thuộc phần cứng hệ thống.
  • 25. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 25  Môi trường phát triển đa dạng: Bao gồm thiết bị mô phỏng, công cụ gỡ lỗi, giám sát bộ nhớ, đánh giá hiệu năng, gói phần mềm hộ trợ Eclipse IDE. Hệ thống FM radio được xây dựng trên nền tảng android nên kiến trúc phân tầng sẽ dựa trên kiến trúc của hệ điều hành Android. Hình 2.1 Kiến trúc của hệ thống FM trong nền tảng hdh Android[6] 2.2.2 Cấu trúc và chức năng của các tầng Từ sơ đồ khối ta có thể thấy rõ vị trí và mối liên kết của các tầng. Cũng như kiến trúc cơ bản của hệ điều hành android sơ đồ khối của hệ thống RDS sẽ có cấu trúc và các thành phần như trong Hình 2.1. Lớp ứng dụng (Application) Ứng dụng FM RDS App được xây dựng trên nền tảng hệ điều hành Android 5.0.1. Ứng dụng được phát triển bằng ngôn ngữ lập trình Java. Nhiệm vụ trên tầng Application là xử lý về giao diện và tương tác với người dùng. Các chức năng chính của ứng dụng:
  • 26. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 26  Thu sóng FM dải tần 86 – 110 MHz  Lấy và hiển thị thông tin RDS : PS , RT  Lưu danh sách các kênh yêu thích  Tùy chọn được các kênh theo mong muốn và dò đến kênh có chất lượng tốt tiếp theo. Lớp nền ứng dụng (Application FW) Tầng nền ứng dụng tạo ra các phương thức giao tiếp với tầng Middleware. Thông qua các đối tượng được tạo ra từ tầng này, tầng Application có thể dễ dàng kết nối với các tầng ở dưới. Hình 2.2 Giao tiếp giữa tầng App với tầng dưới. Từ Hình 2.2 ta có thế thấy các chỉ thị lệnh từ trên tầng Application (Java) sẽ được truyền xuống native code thông qua JNI. Các dữ liệu từ tầng dưới được gửi lên tầng trên thông qua phương thức data callback. Tầng này có nhiệm vụ làm cầu nỗi giữa tầng Application với các service của FM. JNI sẽ được trình bày chi tiết ở Chương 4.
  • 27. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 27 Lớp trung gian của FM ( FM Middleware ) Hình 2.3. Các khối của tầng MiddleWare Đối tượng IFMRDS được tạo ra để nhận các command lệnh từ trên tầng App rồi send xuống tấng dưới (Tầng HAL : Hardware Abstract layer ) như command yêu cầu turn On/Off app, yêu cầu tìm kiếm kênh, yêu cầu thông tin hiển thị của RDS. Một đối tượng khác được tạo ra để luôn lắng nghe và nhận dữ liệu callback từ tầng dưới là IMRDSEvenlistenner. Các mã lệnh và dữ liệu truyền nhận được thực hiện qua cơ chế của Binder IPC.
  • 28. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 28 Tầng HAL và Kernel Hình 2.4 Kiến trúc tổng quát của tầng HAL. Các lệnh từ trên tầng ứng dụng (Application ) sẽ được truyền truyền xuống tầng HAL thông qua các interface (giao diện điều khiển) của Java APIs. Các interface này cho phép tầng App có thể giao tiếp được với V4L2 thông qua tầng JNI. FM driver được phát triển bằng cách sử dụng kiến trúc FM V4L2. Kiến trúc này hỗ trợ các phương thức: tune, seek, mute … Giao diện V4L2 được cài đặt cho FM driver dựa trên kiến trúc của Qualcom chip set. Vì vậy nó được mở rộng để hỗ trợ các tính năng mà phiên bản hiện tại của V4L2 không hỗ trợ như: initialization and power up. Các FM Host đã cung cấp FM java api giúp ta có thể dễ dàng điều khiển FM driver. Những interface này cho phép tầng Application giao tiếp với FM driver thông qua lớp JNI. Lớp JIN sẽ chuyển đổi java apis để gọi thư viện native C. Thư viện C
  • 29. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 29 này sẽ giao tiếp lần lượt với các interface của FM driver. (Read, write via ioctl function). 2.2.3 Cấu trúc của module RDS trong hệ thống. Module RDS có các thành phần nằm dải ở hết các tầng. Chúng có các nhiệm vụ và chức năng riêng trong toàn bộ sơ đồ khối. Hình 2.5 Sơ đồ kiến trúc tổng quan của module RDS . Tầng UI: Tầng này có nhiệm vụ xây dựng các thành phần giao diện tương tác với người dùng. Ngôn ngữ lập trình được sử dụng là java. Tầng Middleware: Tầng này bao gồm các native code, các service chạy ngầm để lắng nghe sự kiện từ tầng kernel gửi lên và các interface giúp điều khiển Fmdriver.
  • 30. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 30 Khi có một request lấy thông tin hiển thị RDS từ trên UI. Các mã lệnh này sẽ được truyền xuống tầng native thông qua phương thức JNI. Và tiếp tục được truyền xuống dưới kernel thông qua các câu lệnh của systemcall. Dữ liệu đẩy từ tầng kernel qua bộ RDS parser và được chọn lọc hiển thị trên giao diện người dùng. Tầng kernel: Bao gồm tầng HAL và driver của chip qualcomm. Khối giã mã RDS và thu phát FM được thực thi tại tầng này. 2.3 XÂY DỰNG SƠ ĐỒ HOẠT ĐỘNG CỦA RDS. Ở mục trước tác giả đã nêu rõ sơ đồ khối tổng quát và mối liên hệ giữa các tầng. Ở phần này tác giả sẽ tiếp tục đi sâu vào sơ đồ hoạt động chi tiết của ứng dụng. 2.3.1 Xây dựng biểu đồ hoạt động  Quá trình Turn on/off RDS app. Hình 2.6 Sơ đồ turn On/Off phần mềm Mô tả quá trình hoạt động: Người dùng khởi động phần mềm bằng cách kết nối anten (kết nối tai nghe) và bật nút nguồn trên giao diện phần mềm. Nếu có kết
  • 31. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 31 nối anten thì phiên sử dụng sẽ bắt đầu và giao diện sẽ được cập nhật để dùng các tính năng khác như tìm kiếm kênh, lưu kênh yêu thích, chuyển kênh ....  Quá trình tìm kiếm kênh Hình 2.7. Sơ đồ quá trình tìm kiếm kênh Mô tả quá trình hoạt động tìm kiếm kênh: Khi phần mềm đã được bật, quá trình tìm kiếm kênh sẽ được khởi chạy và trả về các kênh có tín hiệu tốt. Các mã lệnh tìm kiếm kênh sẽ được truyền xuống tầng service (FMRadioServive.java). Thông qua tầng native service (FMPlayerNative.java) các mã lệnh này sẽ được gửi xuống FM driver và hàm tìm kiếm sẽ được gọi (FMRadioController::SearchAll () ). Khi các kênh có tín hiệu tốt được dò thấy thì các kết quả tìm kiếm sẽ được gửi lên tầng ứng dụng thông qua tầng service. Việc tìm kiếm này sẽ được thực hiện trên
  • 32. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 32 một thread (luồng) độc lập. Việc tìm kiếm chỉ dừng khi có lệnh hủy tìm kiếm từ người dùng hoặc việc tìm kiềm kết thúc. Kết quả trả về là danh sách các kênh có tín hiệu tốt nếu có.  Thiết lập quá trình tune và xử lý thông tin RDS trong hệ thống Hình 2.8 Sơ đồ Tune của hệ thống Mô tả quá trình hoạt động: Kết quả trả về từ bước tìm kiếm kênh sẽ là một danh sách các kênh phát sóng FM. Kênh có tín hiệu tốt nhất sẽ được lựa chọn để phát cho người dùng. Khi người dùng lựa chọn một kênh để thu sóng từ trên giao diện chính, các mã lệnh sẽ được truyền từ tầng ứng dụng xuống tầng dưới để turning các thông số kênh truyền. Nếu các bản tin RDS được phát cùng với sóng FM tại kênh đó thông tin về PS (Programme service), RT (Radio text) sẽ được hiển thị trên giao diện phần mềm.
  • 33. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 33 2.4 MÔ HÌNH HOẠT ĐỘNG 2.4.1 Xây dựng biểu đồ tuần tự  Biểu đồ Turn On phần mềm Hình 2.9 Biểu đồ tự turn on phần mềm  Biểu đồ Turn Off
  • 34. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 34 Hình 2.10 Biểu đồ Turn off phần mềm
  • 35. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 35  Sơ đồ tìm kiếm kênh Hình 2.11 Sơ đồ tìm kiếm kênh
  • 36. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 36  Sơ đồ dò kênh Hình 2.12 Sơ đồ dò kênh
  • 37. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 37 2.4.2 Xây dựng biểu đồ máy trạng thái Hình 2.13 Sơ đồ máy trạng thái [6] 2.5 KẾT LUẬN CHƯƠNG Từ việc nghiên cứu và xây dựng vị trí, mối quan hệ, chức năng của module RDS trong toàn hệ thống ta có thể thấy hệ thống RDS có thể sử dụng rất nhiều ứng dụng, chức năng vào các các mặt của khoa học kỹ thuật và đời sống. Từ cơ sở kiến thức trên chúng ta sẽ tiếp tục đi vào phần thiết kế chi tiết và triển khai thực tế ứng dụng RDS trong phát thanh sóng FM.
  • 38. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 38 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG THU RDS THỰC TẾ VÀ ĐÁNH GIÁ KẾT QUẢ 3.1 GIỚI THIỆU CHƯƠNG Chương này sẽ được trình bày về các cơ sở để phát triển ứng dụng bao gồm các công cụ và ngôn ngữ lập trình. Đưa ra các mô hình thiết kế chi tiết của ứng dụng và thuật toán được triển khai trong khôn khổ luận văn của. Các nội dung chi tiết như sau:  Nền tảng hệ điều hành và ngôn ngữ lập trình  Sơ đồ chức năng tương tác của phần mềm  Mô hình giao tiếp giữa các tầng  Phương thức và cơ chế truyền nhận bản tin hiển thị RDS  Lưu đồ giải thuật lấy thông tin RDS 3.2 LỰA CHỌN PHẦN MỀM VÀ NGÔN NGỮ LẬP TRÌNH 3.2.1 Nền tảng hệ điều hành Android Android được phát triển bởi tập đoàn Google, phiên bản đầu tiên ra mắt năm 2008. Được xây dựng trên một nền tảng mở và một bộ thư viện đa năng, mạnh mẽ với nguyên lý mở. Android đã nhanh chóng được cộng đồng lập trình viên hưởng ứng mạnh mẽ. Nền tảng android có nhiều tính năng nổi bật:  Android là một hệ điều hành nhân Linux, đảm bảo sự tương tác phần cứng, bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động.  Bộ ứng dụng khung cho phép sử dụng lại và thay thế các thành phần riêng lẻ.  Máy ảo Dalvik được tối ưu cho các thiết bị di động và chạy các ứng dụng lập trình java.  Các thư viện phát triển ứng dụng mã nguồn mở như SQLite, Webkit ,OpenGL và trình quản lý đa phương tiện.  Hỗ trợ các chuẩn đa phương tiện phổ biến trên nền GSM, Bluetooth, 3G và wifi.
  • 39. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 39  Hỗ trợ camera, GPS, ....  Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích hợp với các IDE: eclipse, Android studio ... Android cung cấp một tập hợp đầy đủ các phần mềm cho các thiết bị di động bao gồm hệ điều hành, khung ứng dụng, các ứng dụng cơ bản và đặc biệt là máy ảo Dalvik. Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị động Android. Nó chạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex). Định dạng phù hợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc độ xử lý. Dalvik đã được thiết kế và viết bởi Dan Bornstein, người đã đặt tên cho nó sau khi đến thăm một ngôi làng đánh cá nhỏ có tên là Dalvik ở đảo Eyjafijour, nơi mà một số tổ tiên của ông sinh sống. Từ góc nhìn của một nhà phát triển, Dalvik trông giống như máy ảo Java (Java Virtual Machine) nhưng thực tế thì hoàn toàn khác. Khi nhà phát triển viết một ứng dụng dành cho Android, anh ta thực hiện các đoạn mã trong môi trường Java. Sau đó, nó sẽ được biên dịch sang các bytecode của Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triển phải thực thi một công cụ có tên là dex. Đây là công cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode. "Dex" là từ viết tắt của "Dalvik executable" đóng vai trò như cơ chế ảo thực thi các ứng dụng Android. Dưới đây là kiến trúc phân tầng của hệ điều hành Android: Android bao gồm 4 thành phần:  Hệ điều hành Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như bảo mật(security), quản lý bộ nhớ(memory management), quản lý tiến trình (process management), Ngăn nhớ mạng (network stack), và mô hình điều khiển (driver model). Nhân Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần còn lại của phần mềm stack. Trong android tầng hệ điều hành (Kernel) sẽ có nhiệm vụ giao tiếp với phần cứng và nhận nhiệm vụ điều khiển xử lý thông tin từ các tầng trên. Các driver quan trọng của android trên tầng này như: Camera deiver, wifi driver, Audio driver, IPC driver , Power management…
  • 40. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 40 Hình 3.1 Kiến trúc của hệ điều hành Android  Thư viện và các giao diện lập trình ứng dụng Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android. Điều này được thể hiện thông qua nền tảng ứng dụng Android. Một số các thư viện cơ bản được liệt kê dưới đây: System C library: Bộ thư viện C (libc) chuẩn cung cấp các phương thức điều khiển cho các thiết bị nhúng linux.  Media Libraries – Bộ mã nguồn mở hỗ trợ việc phát và ghi âm với nhiều định dạng như MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG. Surface Manager – Quản lý việc truy xuất vào hệ thống hiển thị LibWebCore – Thư viện cho việc phát triển wen trên di động hoặc thiết bị nhúng. SGL – Thư viện đồ họa 2D. 3D libraries - Bộ thư viện dựa trên OpenGL ES 1.0 hỗ trợ về đồ họa 3D.
  • 41. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 41 FreeType – xử lý ảnh mức thấp như bitmap. SQLite – Bộ cơ sở dự liệu dùng cho các ứng dụng di động.  Android Runtime Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java. Tất cả các ứng dụng Android đều chạy trong tiến trình riêng. Máy ảo Dalvik đã được viết để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả. Các VM Dalvik thực thi các tập tin thực thi Dalvik (dex). Định dạng được tối ưu hóa cho bộ nhớ tối thiểu. VM là dựa trên register-based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java để chuyển đổi thành các định dạng dex. Các VM Dalvik dựa vào nhân Linux cho các chức năng cơ bản như luồng và quản lý bộ nhớ thấp  Khung ứng dụng Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái. Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi. Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần. Cơ chế này cho phép các thành phần tương tự sẽ được thay thế bởi người sử dụng. Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm: Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,…  Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các custom alerts trong status bar. Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng đó.
  • 42. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 42 Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải là mã nguồn, chẳng hạn như: localized strings, graphics, and layout files. Activity Maanager được dùng để quản lý chu trình sống của ứng dụng và điều hướng các activity.  Ứng dụng Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts, browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Android đều được viết bằng Java. Một tính năng nổi bật nữa phải nói đến là bộ thư viện Android SKD google cung cấp cho các lập trình viên được trang bị đầy đủ hầu hết các tính năng của một thiết bị thật để phát triển các ứng dụng của mình trên nền android. Tuy nhiên, một số đã bị giới hạn như là kết nối qua cổng USB, camera và video, nghe phone, nguồn điện giả lập và bluetooth... Android SDK và Plugin Eclipse được gọi là một Android Deverloper Tool (ADT). 3.2.2 Ngôn ngữ lập trình . Do ứng được phát triển trên cả tầng application và tầng native nên ngôn ngữ lập trình được sử dụng là java và C++. Dưới đây là các ngôn ngữ lập trình được sử dụng để phát triển ứng dụng.  AIDL (Android Interface Define Language) Các ứng dụng trên tầng Application được phát triển bằng Java. Khi hai tiến trình chạy trên các luồng khác nhau thì sẽ không thể truy cập lẫn nhau được. Nếu muốn truy cập chéo nhau thì ta phải dùng ADIL. Cơ chế của ADIL là cho phép các tiến trình có thể giao tiếp với nhau thông qua các proxy. Các proxy hoạt động dựa trên cơ chế của binder IPC. Các đối tượng ảo là Stub và Proxy được tạo ra để thực hiện các lời gọi hàm và truyền đối số.
  • 43. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 43 Hình3.2 Cơ chế Proxy trong AIDL Tồn tại một interface để có thể gọi đến các Caller và callee trong mỗi tiến trình. Proxy và stub là một lớp được tạo ra bên trong các interface cho phép các tiến trình có thể giao tiếp chéo nhau thông qua chúng. Hình 3.3 ADIL trong ứng dụng RDS  JNI (Java native interface)
  • 44. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 44 JNI là một nền tảng của Java, là một interface trung gian cho phép kết nối ứng dụng Java với các ứng dụng hoặc thư viện viết bằng ngôn ngữ C/C++. Hình 3.4 Cơ chế hoạt động của JNI 3.3 Kiến trúc hệ thống: 3.3.1 Sơ đồ tổng quan toàn hệ thống. Từ góc nhìn tổng quan ta có thể thấy rõ các khối trong hệ thống, vị trí và mối liên hệ giữa chúng. Các thông tin RDS được mã hóa và điều chế cùng với sóng FM trước khi truyền đi. Sở dĩ bản tin RDS có thể truyền liên tục và đồng thời cùng các bản tin phát thanh mà không ảnh hưởng đến việc phát sóng là vì thông tin RDS được truyền trên một sóng mang phụ 57KHz, các tín hiệu khác stereo nằm ở dải tần cao hơn dải tần nghe được (tai người nghe được trong dải tần từ 20Hz đến 20KHz) và kết quả là nó không ảnh hưởng đến tín hiệu mono bình thường.
  • 45. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 45 Hình 3.5 Góc nhìn tổng quan toàn hệ thống
  • 46. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 46 3.3.2 Sơ đồ chức năng tương tác của phần mềm Hình 3.6 Biều đồ ca sử dụng của phần mềm
  • 47. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 47 3.4 Thiết kế chi tiết: 3.4.1 Mô hình giao tiếp của các tầng trong hệ thống FM Hình 3.7 Mô hình giao tiếp của các module trong hệ thống[8] FM application and FM driver giao tiếp với nhau thông qua tầng Java APIs. FM host đã phát hành một FM java apis để có thể điểu khiển được driver của FM. Các interface này cho phép tầng ứng dụng có thể giao tiếp với tầng FM kernel thông qua JNI. Tầng JNI sẽ chuyển đổi Java api để có thể gọi được thư viện C.
  • 48. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 48 Thư viện C này sẽ lần lượt giao tiếp với V4L2 driver thông qua các interface của V4L2 như hình bên dưới. Hình 3.8 Kết nối giữa tầng FM application và FM driver.[8] Việc triển khai FM host trên android không tận dụng bất kì mã nguồn nào của các hệ điều hành khác. Thay vào đó Fm driver sử dụng kiến trúc FM V4L2. Các interface hiện có của FM V4L2 được triển khai cho FM driver và chúng có nhiệm vụ mở rộng các tính năng không được hỗ trợ trên bản hiện tại ví dụ như: khởi tạo và nâng hiệu năng của hệ thống... Hình 3.9 Kiến trúc của FM V4L2 [8] Kiến trúc cụ thể của FM host controller interface (FM HCI ) sẽ được mô tả chi tiết ở Hình 3.10 bên dưới.
  • 49. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 49 Hình 3.10 Kiến trúc của FM host. [8] Việc triển khai FM HCI bao gồm thành phần chính là aCPU và cCPU. Trong aCPU (FM Host) sẽ có các khối chính như hình vẽ trên.  FM HCI (Host controller interface) giao tiếp với FM command/events thông qua WCN-SS.  FM host driver được tích hợp vào V4L2 kernel driver.  FM middleware cung cấp các APIs cho tầng app có thể sử dụng các tính năng cơ bản của FM.  Trên cùng sẽ là tầng FM UI application.
  • 50. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 50 Khối thứ hai trong kiến trúc FM host là cCPU (FM controller).  Radio contron sẽ giao tiếp với phần cứng của radio và điều khiển hoạt động của nó.  RDS Filtering proc: RDS sẽ xử lý và lọc ra những khối dữ liệu RDS và gửi chúng cho máy chủ. Đồng thời nó cũng thực thi các chức năng để lọc ra những dữ liệu không mong muốn dựa trên bộ lọc được cung cấp bởi máy chủ.  FM HCI sẽ cung cấp một giao thức để định nghĩa các tập lệnh khác nhau và các sự kiện thay đổi giữa các FM host và FM controller để cho phép các máy chủ có thể cấu hình và điều khiển hoạt động của FM controller. Hai khối aCPU và cCPU trong FM giao tiếp với nhau thông qua một physical Bus như UART, USB, SPI, SMD (share memory) hoặc SD. Hình 3.11 FM HCI architecture [8]
  • 51. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 51 3.4.2 Lưu đồ giải thuật lấy thông tin RDS thông qua hệ thống FM Hình 3.12 Lưu đồ thuật toán bản tin hiển thị RDS 3.4.3 Phương thức và cơ chế truyền nhận bản tin RDS giữa các tầng Trước khi đi tìm hiểu về phương thức và cơ chế chuyền nhận thông tin hiển thị RDS, ta sẽ tìm hiểu chi tiết cấu trúc định dạng các bản tin RDS. Đầu tiên là cấu trúc khung dữ liệu. Hình 3.13 Cấu trúc khung dữ liệu [1]
  • 52. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 52 Thành phần lớn nhất gọi là một ‘Group‘. Kích thước của nó gồm 104 bit. Mỗi group chia ra thành 4 block với kích thước thành phần là 26 bit. Định dạng bản tin gồm các trường cơ bản sau: Hình 3.14 Định dạng bản tin [1] Pi code: programme Identification code 16 bit Hình 3.15 Cấu trúc trường PI [1]
  • 53. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 53 Group type code: 4 bit group type code cho mỗi group Group 0A B: / Turning và switching AF, PS infomation Hình 3.16 Cấu trúc trường PS [1]  Group 1A/B: Progamme item number  Froup 2A/B: Radio text Hình 3.17 Cấu trúc trường radio text [1]
  • 54. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 54 TP: Traffic programme identificatin code 1 bit TPY: Programme type Code 5 bit Checkword – Offset N: 10 bits Các bản tin RDS được tách ra từ sóng FM giải mã và gửi lên tầng trên theo cơ chế handler data Call back.
  • 55. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 55 Hình 3.18 Sơ đồ cơ chế truyền nhận bản tin RDS Hình 3.19 Luồng gửi nhận bản tin RDS ở tầng kernel Phươg thức handle_rt_event() được chạy trên một thread độc lập có nhiệm vụ cập nhật liên tục bản bản tin radio text. Dữ liệu rt nhận được sẽ được lưu vào trong bộ đệm raw_rds [ST_BUF_SIZE]. Dữ liệu rds thu được thông qua hàm RDSDataReceived() gửi lên tầng trên.
  • 56. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 56 Hình 3.20 Luồng gửi nhận bản tin RDS tại tầng native Framework Dữ liệu rds được gửi lên tầng application thông qua JNI. Method CallbaclToJava () sẽ nhận dữ liệu đươc truyền hàm RDSReceive (). Tầng native app sẽ nhận được dữ liệu thông qua cơ chế Notify event. Hình 3.21 Gửi nhận bản tin RDS tại tầng native app
  • 57. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 57 Từ trên tầng Application sẽ ghi đè hàm onRDSReceive () để có thể thể nhận được bản tin RDS Hình 3.22 Gửi nhận bản tin RDS tại tầng ứng dụng
  • 58. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 58 3.5 ĐÁNH GIÁ KẾT QUẢ 3.5.1 Kết quả thử nghiệm  Cài đặt chương trình Bước 1: Sao chép bộ cài của phần mềm RDS.apk vào bộ nhớ điện thoại Hình 3.23 Các bước cài đặt phần mềm Bước 2: Kích đúp vào gói và chọn “Install„ Bước 3: Hoàn thành và biểu tượng sẽ sinh ra ngoài màn hình  Các bản tin được giải mã từ hệ thống FM Sử dụng adb command để kiểm tra các bản tin thông báo từ dưới kernel. Bước 1: chạy lênh “adb start-server“ để khởi động adb. Hình 3.24 Khởi động adb command
  • 59. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 59 Bước 2: Sử dụng cmd: adb logcat –vtime | find “RDS“ và adb shell cat | proc | kmsg để kiểm tra các thông báo từ tầng kernel gửi lên Hình 3.25 Thông báo từ tầng kernel
  • 60. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 60  Demo phần mềm  Giao diện chính của phần mềm. Hình 3.26 Giao diện chính của phần mềm  Quá trình Turning và scan kênh Hình 3.27 Quá trình tìm kiếm kênh Turn ON Found
  • 61. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 61  Hiển thị thông tin PS (Programme service), RT (Radio text). Hình 3.28 Giao diện hiển thông thông tin RDS  Lưu danh sách kênh yêu thích Hình 3.29 Giao diện danh sách kênh yêu thích PS Radio Text
  • 62. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 62 KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN  Các vấn đề đã làm được Trong thời gian nghiên cứu và thực hiện đồ án em đã đạt được các kết quả:  Nghiên cứu về giao thức RDS nắm vững được nguyên lý mã hóa và giải mã bản tin RDS.  Ứng dụng lý thuyết đã nghiên cứu về RDS để thiết kế và phát triển thành công một ứng dụng có thể thu sóng FM và giải mã bản tin RDS để hiển thị trên màn hình điện thoại di động.  Phát triển mô đun lưu lại các kênh yêu thích của người dùng.  Phát triển thêm tính năng dò kệnh tự động giúp người dùng tìm ra các kênh có tín hiệu tốt.  Tối ưu hóa mã nguồn để tăng hiệu năng của phần mềm.  Đơn giản hóa giao diện phần mềm để thân thiện với người dùng.  Định hướng trong tương lai Luận văn chủ yếu mới sử dụng được các bản tin hiển thị chứ chưa tận dụng được các bản tin điều khiển của RDS. Còn rất nhiều ứng dụng hữu ích nếu sử dụng được bản tin điều khiển này. Trong tương lai tác giả sẽ nghiên cứu sâu hơn về bản tin điều khiển RDS, tìm hiểu cấu trúc bản tin và áp dụng lên phần mềm của mình để hoàn thiện các tính năng của phần mềm.
  • 63. LUẬN VĂN TỐT NGHIỆP ĐHBKHN HVTH: NGUYỄN TIẾN THIỆN LỚP KTVT-2014B 63 TÀI LIỆU THAM KHẢO 1. Dietmar Kopitz, Bev Marks ( 1999), , Mobile RDS: The Radio Data System Communications Library, Bosyon, London. 2. Dominique Paret (1997), Cengare Learning, Modem Control Technology, USA. 3. Dyer, Harms (1993), Acandemic Press, Yovits, Digital Signal Processing, M.C. 4. Hamed Haddadi, Paul brennan (2003), RDS encoder, University college London, London. 5. Milan Verle (2008) , , MikroElektronika, 1 PIC Microcontrollers st Edition . 6. Mark L. Murphy (2011), Commonware . Android Progamming Tutotials, , LLC 7. Qualcomm tecnology (2011), 80-N6866-1-A FM radio App call flows android, Qualcomm Incorporated, San Diego, USA. 8. Qualcomm tecnology (2011), 80-VR485-1-D FM radio Overview, Qualcomm Incorporated, San Diego, USA. 9. RDS Forum Statemen (1996), sent with letter DT/969-S/DK dated. 10. Ohsmann, M. (1991), ,Elecktor Electronic, Radio Data System (RDS) Decoder Uk. 11. Parnal (1989), “Decoding RDS”, Electronic & Wireless World, pp 148 – 155. 12. Silicon Laboratories Scott Wright (1997), The Broadcaster’s Guide to RDS, Inc, Texas. 13. Simon Monk (2011), P , rogramming Arduino Getting Started With Sketches McGraw- Hill Education LAB, USA. 14. Walt Kester (2005), Newnes, USA. The Data Conversion Handbook,