Các ứng dụng của hệ thống SDR

Một phần của tài liệu Nhúng dữ liệu trên nền tín hiệu (Trang 29)

30

Thông tin trong quân sự: các ƣu điểm của hệ thống SDR đó là tính an toàn của thông tin, mã hoá bảo mật, sử dụng linh hoạt, tích hợp nhiều chức năng và chế độ công tác, khả năng kết nối với máy tính và các mạng thông tin liên lạc khác theo các tiêu chuẩn quốc tế. SDR còn cho phép tổ chức mạng thông tin lớn cho cả hệ thống, trong đó bao gồm nhiều loại thiết bị cho các quân binh chủng với sự đa dạng các tiêu chuẩn và dạng loại chế độ thông tin khác nhau.

Một ƣu thế của công nghệ SDR trong thông tin quân sự đó là khi các chức năng của thiết bị đƣợc thực hiện bằng các thuật toán tƣơng ứng và đƣợc lập trình, nạp vào trong thiết bị. Kích thƣớc của thiết bị khi đó nhỏ đi rất nhiều, với các thiết bị cầm tay cũng có đầy đủ chức năng cơ bản. Đơn giản, gọn nhẹ cho ngƣời lính nhƣng vẫn đảm bảo chức năng liên lạc không chỉ với đồng đội, các đơn vị chiến thuật khác mà còn có khả năng liên lạc với các đơn vị, quân binh chủng khác do có thể hoạt động với băng tần rất rộng, bao gồm nhiều dạng sóng khác nhau.

Thông tin vô tuyến dân sự: cụ thể xét cho các hệ thống thông tin di động mặt đất. Do sự cạnh tranh của các nhà sản xuất thiết bị, các nhà cung cấp dịch vụ di động. Bất cứ một hệ thống hay một dịch vụ nào để đƣợc chấp nhận phải thể hiện đƣợc ƣu điểm trong tính năng của nó phù hợp với một mức giá cả hợp lý. Khi muốn thay thế các hệ thống cũ hoặc muốn nâng cấp thêm các dịch vụ, áp dụng các tiêu chuẩn mới mà thay đổi toàn bộ phần cứng thì sẽ rất tốn kém và lãng phí. Khi đó sẽ mang lại hiệu quả thƣơng mại cao hơn cho các nhà sản xuất và cung cấp dịch vụ và cũng mang lại lợi ích kinh tế cho ngƣời sử dụng do hệ thống đó có thời gian sử dụng lâu hơn với một số lƣợng dịch vụ khai thác tăng lên, với sự yêu cầu cao hơn của ngƣời sử dụng. Đồng thời, SDR còn cho phép đƣa vào sử dụng các đƣờng truyền riêng, các kênh truyền thuê riêng an toàn cho các công ty. Việc tích hợp nhiều dịch vụ trên một thiết bị đem lại lợi ích không chỉ cho các nhà sản xuất, kinh doanh mà còn đem lại sự tiện lợi lớn cho ngƣời sử dụng. Bằng việc chế tạo ra các thiết bị truyền thông đa phƣơng tiện làm cho ngƣời dùng chỉ cần mang một thiết bị mà

31

vẫn có thể dùng nhiều chức năng khác nhau: điện thoại, máy tính bỏ túi cho các ứng dụng số liệu, các yêu cầu tốc độ khác nhau: thƣ điện tử, trình duyệt web, thƣ thoại…

Việc đƣa thêm ứng dụng có công nghệ mới vào khai thác trên dải tần đã sử dụng mang lại hiệu quả băng tần. Tần số vô tuyến là một tài nguyên mà nhiều nhà cung cấp dịch vụ muốn sử dụng để kinh doanh. Do đó sử dụng dải tần một cách hiệu quả là một yêu cầu quan trọng. Nhƣ việc đƣa vào triển khai hệ thống thông tin di động đặc biệt SMR (Specialised Mobile Radio) ở Mỹ trên hệ thống dữ liệu của châu Âu đã mang lại những hiệu quả tích cực to lớn. Ngoài ra SDR còn cho thấy các ứng dụng quan trọng khác của nó trong thông tin vệ tinh, thông tin dẫn đƣờng, hàng hải và lĩnh vực an ninh công cộng, các hệ thống cơ sở dữ liệu...

Ứng dụng SDR trong lĩnh vực hàng không có thể hoạt động theo nhiều tiêu chuẩn về giao diện vô tuyến, tạo điều kiện thuận lợi cho sử dụng, nâng cấp khi cần thay đổi, cung cấp nhiều dịch vụ công tác. Ƣu điểm khác đó là thiết bị vô tuyến cấu hình mềm là một kiểu kiến trúc mở cho phép nhiều nhà cung cấp, sản xuất cùng tham gia, giảm bớt thời gian phát triển sản phẩm.

3. GNU Radio.

GNU Radio là phần mềm mã nguồn mở đƣợc xây dựng nhằm hỗ trợ việc thực hiện hệ thống SDR (software-defined radio) trên các phần cứng thông dụng. Chúng ta hoàn toàn có thể sử dụng và khai thác phần mềm GNU Radio một cách miễn phí. Mục đích của GNU Radio theo nhà sáng lập Eric Blossom là: “ Giải quyết các vấn đề phần cứng trên phần mềm” .GNU Radio xây dựng các khối khác nhau để xử lý tín hiệu. Các khối chức năng của GNU Radio bao gồm:

 Thực hiện các phép toán: cộng, trừ, nhân, chia, logarit và logic.  Thực hiện các khối FFT, IFFT.

 Thực hiện các bộ lọc thông cao, thông thấp, thông dải, chặn dải, bộ FFT, FIR, IIR.

32

 Thực hiện các bộ điều chế và bộ giải điều chế nhƣ: FM, AM, PSK, QAM, OFDM.

 Thực hiện các khối điều khiển: Automatic Gain Control (AGC), Detect Peak, Thresold.

 Thực hiện các kiều chuyển đổi: Float sang short Block, Int sang Fload Block và Complex sang Real.

Phần mềm GNU Radio hỗ trợ các nguồn và đích đến của tín hiệu nhƣ sau:  Nguồn cố định ( constant source )

 Nguồn nhiễu (noise Source).

 Nguồn ngẫu nhiên ( random source).  Nguồn vector ngẫu nhiên (vector Source).

 Nguồn và đích USRP (USRP Source, sink Source)  Nguồn thông báo (message sources).

 OScillascope sink, Biều đồ dạng mắt, FFT sink, Waterfall sink và Histogram sink.

 Nguồn và đích audio ( audio Source, audio Sink).  Nguồn và đích File (File Source, File Sink).  Nguồn và đích TCP(TCP Source, TCP Sink)  Nguồn và đích UDP( UDP Source, UDP Sink).

Ban đầu GNU Radio chạy trên hệ điều hành LINUX . Hiện nay nó hỗ trợ các hệ điều hành khác nhƣ: UNIX, Windows và MAC.

3.1 Cấu trúc GNU Radio.

Cấu trúc GNU Radio gồm hai thành phần. Thứ nhất là các khối thực hiện xử lý tín hiệu số bằng ngôn ngữ C++ làm những công việc nhƣ: lọc, I/O, FFT/IFT, mã hóa, giải mã và bộ điều chế/ bộ giải điều chế. Thứ hai là việc dùng Python scripts kiểm soát dữ liệu của các khối. Việc sử dụng Python scripts cho phép dễ dàng cấu hình và thao tác các chức năng , thông số khác nhau của hệ thống. Nó tƣơng tự nhƣ việc liên kết các khối vật lý RF để xây dựng phần cứng của thông tin vô tuyến, ngƣời dùng có thể xây dựng hệ

33

thống SDR bằng cách nối các khối đƣợc xây dựng trên phần mềm GNU Radio với USRP đó là sự kết hợp phần cứng RF với phần mềm GNU Radio. Nhiệm vụ chính của USRP là thực hiện các hoạt động tính toán nhƣ lọc, chuyển đổi lên và chuyển đổi xuống. Các USRP, USRP2 và phiên bản hiện tại USRP N đƣợc kết nối với một máy tính thông qua một cổng USB 2.0 hoặc một cáp Ethernet tƣơng ứng và ứng dụng lập trình giao diện (API) trên nền tảng phần mềm GNU Radio để điều khiển các thiết bị USRP.

Hình 2.2 Mô hình liên kết các khối trong GNU Radio.

Nhìn chung, khối GNU Radio thể hiện trong hình 2.2 dữ liệu đƣợc thực hiện liên tục theo một luồng nhất định. Mỗi khối bao gồm một tập hợp các cổng đầu vào hoặc đầu ra có thể có cả đầu vào và đầu ra. Nó nhận đƣợc dữ liệu từ cổng đầu vào và xử lý dữ liệu cho cổng ra của nó. Khối đặc biệt đƣợc là khối nguồn và đích chỉ có một cổng vào hoặc cổng ra. Mỗi khối xác định số lƣợng tối thiểu và tối đa của đầu vào và đầu ra có thể có, cũng nhƣ các kiểu dữ liệu trên cổng tƣơng ứng. Các kiểu dữ liệu hỗ trợ:

 c - complex interleaved floats (8 Bytes each).  f - floats (4 Bytes).

 s - short integers (2 Bytes).  b - Byte integers (1 Bytes).

Mỗi khối định nghĩa một hàm chức năng general_work() thực hiện trên đầu vào để cho kết quả dữ liệu đầu ra. Khối cũng cung cấp một hàm chức năng forecast() trả về hệ thống số lƣợng luồng dữ liệu đầu vào nó đòi hỏi phải thực hiện và số lƣợng luồng dữ liệu đầu ra nó tạo ra làm đầu vào cho các khối khác.

Block E Block C Block G Block F Block K Block H Block D Block B Block A Block L

34

Hình 2.3 Khối GNU Radio

Tốc độ luồng dữ liệu của các đầu vào khác nhau của khối có thể khác nhau nhƣng luồng dữ liệu đầu ra phải giống nhau. Cả đầu vào và đầu ra của một khối có bộ đệm liên quan. Mỗi luồng dữ liệu đầu vào / đầu ra có một bộ đệm đọc / ghi. Khối đọc dữ liệu xử lý tín hiệu từ bộ đệm đọc. Sau khi xử lý, khối sẽ ghi luồng dữ liệu thích hợp vào bộ đệm ghi. Tất cả dữ liệu trong bộ đệm đƣợc sử dụng để thực hiện các cạnh trong flowgraph: các bộ đệm ghi ở một khối là bộ đệm đọc của khối truớc trong flowgraph. Bộ đệm trong GNU Radio đƣợc ghi một lần và đọc nhiều lần theo cơ chế bộ đệm First in First out. Nó có thể hiểu là là một luồng dữ liệu đầu ra có thể kết nối với một hoặc nhiều luồng dữ liệu đầu vào (s) và một đầu vào nhận dữ liệu từ chỉ có một đầu ra. Khối trong Python đƣợc kết nối bởi các chức năng kết nối ảo nó chỉ ra cách các luồng dữ liệu đầu ra (s) của một khối kết nối với các luồng dữ liệu đầu vào của một hoặc nhiều hơn các khối nguồn. Cơ chế của flowgraph cho phép tự động xây dựng các flowgraph và đƣợc ẩn với ngƣời sử dụng. Chức năng chính của cơ chế flowgraph là việc phân phối của bộ đệm luồng dữ liệu để kết nối các khối.. Sau khi bộ đệm đƣợc cấp phát ,nó đƣợc liên kết với các luồng dữ liệu đầu vào và đầu ra của các khối thích hợp.

Một khối phân cấp có thể đƣợc tạo ra bằng cách kết hợp một số khối nhƣ trong Hình 2.3. Một khối phân cấp đƣợc xây dựng bằng Python cùng với khối khác chúng có thể đƣợc kết hợp thành một khối phân cấp mới.

GNU Radio

Block GNU Radio

Block

35

Hình 2.4 Khối phân cấp trong GNU Radio.

Trong quá trình xây dựng sơ đồ trên GNU Radio chúng ta cần kiểm tra đầu vào của từng khối và hàm forecast () đƣợc sử dụng để quyết định tốc độ luồng dữ liệu nhận đƣợc từ đầu vào. Nếu dữ liệu là phù hợp với các bộ đệm đầu vào. Khối sẽ thực hiện hàm chức năng general_work(). Nếu dữ liệu không phù hợp với bộ đệm đầu vào của khối nó sẽ đƣợc vào khối tiếp theo trong flowgraph. Bỏ qua khối sẽ không đƣợc thực hiện cho đến khi có dữ liệu đầu vào phù hợp. Các luồng dữ liệu đƣợc chạy 35ien tục theo sơ đồ đƣợc xây dựng trên GNU Radio.

3.2 GNU Radio Companion.

GNU Radio Companion (GRC) là một giao diện đồ họa cho ngƣời sử dụng GNU Radio. GNU Radio là một công cụ mã nguồn mở dựa trên Python / C ++ để xây dựng SDR. GRC cho phép kết nối các thành phần và tạo ra một sơ đồ luồng tín hiệu bằng cách sử dụng công cụ kéo, thả các khối. Các hành phần trong khối đƣợc thực hiện bởi C ++ và kết nối bằng cách sử dụng ngôn ngữ lập trình Python. GRC là một phần của GNU Radio và đƣợc phát triển bởi Josh Blum . Mặc dù, lập trình trên GRC không linh hoạt nhƣ lập trình Python nhƣng nó trực quan hơn với ngƣời sử dụng.

Ví dụ trong GNU Radio Companion.

GNU Radio Block GNU Radio Block GNU Radio Block

36

Hình 2.5 Ví dụ trong GRC.

3.3 Cài đặt phần mềm GNU Radio.

Đầu tiên máy tính phải đƣợc cài Ubuntu 14.04 LTS. Bƣớc 1: Mở Terminal (Ctrl+Shift+T).

Bƣớc 2: Sử dụng các dòng lệnh sau.

$ wget http://www.sbrac.org/files/build-gnuradio $ chmod a+x ./build-gnuradio

$ ./build-gnuradio

Việc cài đặt GnuRadio sẽ hoàn thành sau một khoảng thời gian.

Để chạy chƣơng trình vào Terminal và gõ dòng lệnh gnuradio-companion. Giao diện đầu tiên của chƣơng trình :

37

Hình 2.6 Giao diện đầu tiên khi chạy chƣơng trình GNU Radio Companion.

4. Giới thiệu USRP B210.

USRP là phần cứng phổ biến nhất đƣợc sử dụng với phần mềm GNU Radio để xây dựng hệ thống SDR. USRP là một dòng các thiết bị phần cứng đƣợc phát triển bởi Matt Ettus.

38

4.1 Một số tính năng của USRP B210.

• Dải tần RF phủ sóng từ 70 MHz đến 6 GHz.

• Hỗ trợ 2 angten thu( 2RX) và 2 angten phát(TX).

• Giao tiếp với máy tính bằng USB 3.0.

• FPGA loại Xilinx Spartan 6 XC6SLX150.

• Băng thông truyền lên trong trƣờng hợp 1 kênh truyền và 1 kênh nhận là 56 MHz.

• Băng thông truyền lên trong trƣờng hợp 2 kênh truyền và 2 kênh nhận là 30.72 MHz.

• Nguồn cung cấp là nguồn một chiều.

• Có khẳ năng cung cấp GIPO.

• Cho phép thử nghiệm với các tín hiệu:

 FM.

 TV broadcast.

 Cellular.

 Wifi.

4.2 Các thông số kỹ thuật USRP B210.

Bảng 1 Một số thông số kỹ thuật của USRP B210:

Thông số kỹ thuật. Giá trị Đơn vị

Nguồn

Nguồn DC 6 V

Thông số Bộ chuyển đổi và xung clock.

Tốc độ lấy mẫu ADC(lớn nhất) 61.44 MS/s

Độ phân giải bộ ADC 12 bit

ADC Wideband SFDR 78 dBc

39

Độ phân giải bộ DAC 12 bits

Tốc độ lấy mẫu của tín hiệu 61.44 61.44

Độ chính xác tần số ±2.0 ppm

W/ GPS Unlocked TCXO Reference ±75 ppb

W/ GPS Locked TCXO Reference < 1 ppb

Thông số của RF( 1 kênh)

SSB/LO Suppression -35/50 dBc 3.5 GHz 1.0 deg RMS 6 GHz 1.5 deg RMS Năng lƣợng đầu ra >10 dBm IIP3 (@ typ NF) -20 dBm Nhiễu thu <8 dB Thông số khác Kích thƣớc 9.7x15.5x1.5 cm Khối lƣợng 350 g

4.3 Sơ đồ khối của USRP B210

System Clock And Timing Generation Optional GPSDO SMA Ext_Ref SMA 1 PPS USB 3.0 Connector USB 3.0 PHY Integrat ed RFIC RF Frontend Switch Network

FPGA Xilinx Spartan 6 XC6SLX150

UHD transport control timesync TX_DSP_0 TX_DSP_1 RX_DSP_0 RX_DSP_1

40

Hình 2.8. Sơ đồ khối của USRP B210.

4.5 Kiểm tra USRP B210 trên nền LINUX.

Bƣớc 1: Mở 2 Terminals Bƣớc 2: Cắm cap USB 3.0. Bƣớc 3: Chạy dòng lệnh.

$ cp /etc/rsyslog.d/50-default.conf ~/Desktop/$ cd ~/Desktop$ mv 50-default.conf 50- default_backup.conf$ gedit 50-default_backup.conf

Nó sẽ mở ra tập tin 50-default.conf to edit

##*.=info;*.=notice;*.=warn; \# auth,authpriv.none;\# cron,daemon.none; \# mail,news.none -/var/log/messages #Remove all # . Lƣu và đóng tập tin. Chạy lệnh:

$ sudo mv -f ~/Desktop/50-default.conf /etc/rsyslog.d/50-default.conf $ sudo restart rsyslog

Bƣớc 4: Kiểm tra USRP driver.

$ tail -f /var/log/messages

Download file uhd_fft.py by link:

http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/a69f26230680fa177c5 3cf75a3a5c6f469b8afb3/entry/gr-uhd/apps/uhd_fft.py

Sao chép tập tin đến Home folder . Kết nối thiết bị USRP với máy tính.

Mở Terminal và chạy lệnh để kiểm tra thiết bị USRP: $ python ~/uhd_fft.py

41

Hình 2.9 Kết nối giữa máy tính và USRP B210

Hinh 2.10 Sơ đồ hệ thống của GNU Radio Và USRP B210.

Hình 2.10 Giao tiếp dữ liệu giữa phần mềm GNU Radio và USRP B210. GNU Radio đã cài đặt UHD (USRP Hardware Driver):

 Khối UHD source: Cung cấp dòng dữ liệu RX tới các khối xử lý tín hiệu trong phần mềm GNU Radio.

42

5. Tóm tắt chương.

Qua chƣơng này rút ra đƣợc kiến thức tổng quát về công nghệ vô tuyến định nghĩa bằng phần mềm SDR, phần mềm GNU Radio, USRP và cách kết nối giữa phần mềm GNU Radio và USRP. Từ đó mở ra hƣớng nghiên cứu mới công nghệ truyền thông không dây và xây dựng hệ thống truyền dẫn dữ liệu trong chƣơng tiếp theo.

43

Chƣơng 3 Xây Dựng Chƣơng Trình Nhúng Dữ Liệu Trên Nền Tín Hiệu Âm Thanh

Trong đồ án này để dễ dàng cho việc thực hiện nhúng dữ liệu trên nền tín hiệu âm thanh em chọn dữ liệu cần nhúng là tập tin định dạng text, tín hiệu âm thanh là tập tin định dạng .wav và sử dụng kỹ thuật mã hóa LSB.

1. Kỹ Thuật Mã Hóa LSB.

Kỹ thuật mã hóa LSB là cách đơn giản nhất để che giấu thông tin trong một đối tƣợng âm thanh kỹ thuật số. Mã hóa LSB cho phép một số lƣợng lớn các dữ liệu đƣợc giấu bằng cách thay thế các bit ít quan trọng nhất (LSB) của mỗi điểm lấy mẫu bằng một bít một thông tin nhị phân Hình 3.1 minh họa cách các thông tin bí mật đƣợc mã hóa trong một mẫu 8-bit sử dụng kỹ thuật LSB. Tốc độ truyền dữ liệu trong mã hóa LSB là 1

Một phần của tài liệu Nhúng dữ liệu trên nền tín hiệu (Trang 29)

Tải bản đầy đủ (PDF)

(89 trang)