Bộxửlý tín hiệu số (DSP)

Một phần của tài liệu Các xu thế phát triển mới của hệ thống thu phát vô tuyến trong các hệ thống thông tin di động (Trang 51 - 74)

Bên cạnh bộ ADC, xử lý tín hiệu số là một yếu tố quan trọng khác trong máy vơ tuyến sử dụng số hĩa RF hoặc IF. Một yêu cầu quan trọng trong bộ DSP là thời gian cần thiết để xử lý tín hiệu Điều này phụ thuộc vào tốc độ bộ vi xử lý và số lượng, độ phức tạp của các thuật tốn bên trong Các hoạt động cụ thể của DSP bao gồm một vài hoặc tất cả các kỹ thuật: Chuyển đổi xuống (down conversion), lọc, xử lý đa truy nhập, phân kênh, giải trải phổ tần số, giải điều chế, đồng bộ, mã hĩa kênh, giải mã, và giải mã nguồn.

Các bộ xử lý tín hiệu số phù hợp với các hình thức tính tốn chuyên sâu về xử lý tín hiệu hơn là cho các ứng dụng đầu cuối tốc độ cao Chúng thường được sử dụng cho các xử lý phức tạp, độc lập của dữ liệu thu được sau khi trải qua xử lý/lưu trữ ban đầu bởi các loại thiết bị khác nhau như FPGA, ASIC,… Tuy nhiên, chúng cũng hỗ trợ tốt và cũng cĩ xu hướng tiến tới sự tương thích ngược Điều này cho phép các nhà phát triển thực hiện trên các cơng nghệ mới nhất (SOTA), với thiết bị ứng dụng cuối giá rẻ hơn Điều này xảy ra vì hai lý do:

 Các cơng nghệ mới nhất đang được sử dụng trong quá trình phát triển sẽ khơng cịn mới nữa vào cuối chu kỳ phát kiển, do đĩ, nĩi chung sẽ giảm được chi phí Ngồi ra, số lượng của các thiết bị tăng lên cũng sẽ làm giảm chi phí  Các nhà phát triển cĩ xu hướng chọn một thiết bị phù hợp với hệ thống của họ.

SVTH: Nguyễn Quang Huy – D08VT1 Trang 42 hợp với cả các thiết bị tương tự khác Điều này sẽ cho một lợi ích về chi phí liên quan

Dưới đây là một số yêu cầu và giới hạn của DSP Cĩ vấn đề cần quan tâm, đĩ là: bộ xử lý, sự hoạt động trong thời gian thực và các thuật tốn

2.2.1.1 Bộ xử lý

Cĩ nhiều bộ xử lý khác nhau thích hợp cho DSP. Những bộ xử lý này khác nhau đáng kể về tốc độ hoạt động, kích thước vật lý, và chi phí Tốc độ thường là một yêu cầu hàng đầu trong việc lựa chọn một bộ xử lý Các yếu tố khác bao gồm cả phạm vi chức năng, chi phí, và kích thước cũng cần cân nhắc kỹ khi lựa chọn một bộ xử lý.

Một phương pháp phổ biến được sử dụng để tăng tốc độ xử lý chung là sử dụng nhiều bộ xử lý hoạt động song song. Giả sử một bộ xử lý nhất định, bằng cách đặt thật nhiều những bộ vi xử lý với nhau và hoạt động song song, cĩ thể đạt được tốc độ xử lý cao hơn rất nhiều. Điều này, tất nhiên, cũng làm tăng tiêu thụ điện năng, kích thước, và chi phí.

Nhiều ứng dụng máy thu vơ tuyến địi hỏi bộ xử lý cĩ kích thước vật lý nhỏ và chi phí tương đối thấp. Đối với các trường hợp này, bộ xử lý chip đơn là sự lựa chọn thích hợp hơn cả. Một số bộ vi xử lý như Intel 80.486, Texas Instruments TMS320C40 (bộ xử lý tín hiệu kỹ thuật số), hoặc Harris HSP50016 Digital Downconverter (trong các mạch tích hợp chuyên ngành cho các nhiệm vụ xử lý chuyên dụng) đều là các bộ xử lý lõi đơn. Một vài ứng dụng máy thu vơ tuyến cĩ thể khơng bị ràng buộc bởi kích thước vật lý nghiêm ngặt và giới hạn chi phí. Do đĩ, bộ vi xử lý của mỗi thiết bị khác nhau là khác nhau, tùy theo mục đích và yêu cầu sử dụng.

Việc tính tốn trong bộ xử lý tín hiệu số cĩ thể được thực hiện bằng cách sử dụng tính tốn định điểm (fixed-point) hoặc tính tốn dấu chấm động (floating- point), mặc dù phép tính yêu cầu tính tốn dấu chấm động. Ưu điểm của tính tốn dấu chấm động so với tính tốn định điểm là nĩ cho phép việc sử dụng các con số trong giới hạn lớn hơn nhiều. Điều này là rất quan trọng trong nhiều hoạt động xử lý tín hiệu kỹ thuật số.

Mặc dù floating-point cĩ ưu điểm là cĩ thể biểu diễn số thực với độ chính xác cao và phạm vi biểu diễn số thực lớn nhưng nhược điểm là phức tạp trong việc xử lý, dẫn đến hạn chế về tốc độ. Tuy nhiên, tính tốn dấu chấm động rất quan trọng trong

SVTH: Nguyễn Quang Huy – D08VT1 Trang 43 xử lý tín hiệu số, cho nên nĩ được coi là đơn vị để đo tốc độ của bộ xử lý (MFLOPS – Số triệu phép tính dấu chấm động mỗi giây) Thơng số này cho phép so sánh về tốc độ xử lý của các bộ vi xử lý khác nhau và cũng cho phép xác định thời gian cần thiết để thực hiện một số thuật tốn

Nhiều tiêu chuẩn đánh giá khác nhau (ví dụ như chuẩn SPEC - Standard Performance Evaluation Corporation, Whetstone, Dhrystone, và Linpack) được sử dụng để so sánh tốc độ giữa các bộ xử lý. Mỗi tiêu chuẩn cung cấp một số chỉ tốc độ tương đối của bộ xử lý dựa trên việc kiểm tra các tác vụ khác nhau. Dựa vào kết quả này, các chương trình đo kiểm cĩ thể cung cấp một điểm số để so sánh. Tuy nhiên, kết quả giữa các tiêu chuẩn khác nhau, nĩi chung, khơng thể so sánh với nhau. Các tham số được chọn để so sánh tốc độ xử lý giữa các bộ vi xử lý thường là mức đỉnh MFLOPS lý thuyết. Tham số này được lựa chọn do nĩ cĩ sẵn trong hầu như tất cả bộ xử lý dấu chấm động, ít phụ thuộc vào các thuật tốn đo kiểm cụ thể, và sự liên quan của nĩ với các ứng dụng chuyên dụng.

Trong những tình huống nhất định, đặc biệt là trong trường hợp thơng lượng cao, hiệu suất xử lý tổng thể khơng bị giới hạn bởi tốc độ xử lý mà nĩ phụ thuộc vào tỷ lệ truyền dữ liệu tối đa của các thành phần ngoại vi như bộ nhớ hoặc cổng vào/ra (I/O). Do đĩ, việc đánh giá, lựa chọn bộ xử lý khơng nên bỏ qua các yếu tố nền tảng khác, bên cạnh tốc độ xử lý

2.2.1.2 Hoạt động thời gian thực

Đối với hầu hết các ứng dụng máy thu vơ tuyến, hoạt động thời gian thực là yếu tố quan trọng. Trong nhiều tác vụ xử lý, chẳng hạn như tính tốn biến đổi Fourier nhanh (FFT), dữ liệu được phân chia thành các khối cĩ chiều dài hữu hạn. Việc xử lý được thực hiện trên tồn bộ khối dữ liệu. Trong xử lý kiểu khối này, giả sử với một bộ xử lý đơn, hoạt động thời gian thực cơ bản cĩ nghĩa rằng tất cả các xử lý trên một khối dữ liệu sẽ được hồn thành một cách tuần tự. Khái niệm này được minh họa trong hình 2.9.

Nếu thời gian xử lý một khối dữ liệu lâu hơn thời gian cần thiết để nắm giữ khối tiếp theo của dữ liệu (vẫn giả định với một bộ xử lý lõi đơn), thu thập dữ liệu phải được dừng lại cho đến khi xử lý được hồn thành. Như vậy, một số dữ liệu đầu vào cĩ thể bị mất và khơng được xử lý. Tùy thuộc vào các ứng dụng và số lượng dữ liệu bị mất, điều này cĩ thể khơng chấp nhận được.

SVTH: Nguyễn Quang Huy – D08VT1 Trang 44

Hình 2.9. Xử lý thời gian thực đối với khối dữ liệu sử dụng bộ xử lý lõi đơn

Vấn đề này cĩ thể được khắc phục bằng cách sử dụng hai hoặc nhiều bộ vi xử lý hoạt động song song. Kỹ thuật này nĩi chung được gọi là đa xử lý và được sử dụng thường xuyên Để minh họa cách đa xử lý cĩ thể được sử dụng để tăng tốc độ xử lý dữ liệu tổng thể, ta xét ví dụ trước về dữ liệu được phân chia thành các khối dữ liệu, nhưng với hai bộ xử lý thay vì một Như minh họa trên hình 2.10, bộ xử lý hoạt động trên một khối dữ liệu và bộ xử lý 2 hoạt động trên các khối dữ liệu tiếp theo. Các bộ vi xử lý tiếp tục hoạt động xen kẽ các khối dữ liệu. Ở đầu ta, dữ liệu đã được xử lý thu được bằng cách chuyển đổi qua lại giữa các kết quả đầu ra của hai bộ xử lý. Điều này đơi khi được gọi là kỹ thuật "ping-pong". Sử dụng kỹ thuật này, thời gian xử lý của mỗi bộ xử lý cĩ thể mất nhiều thời gian hơn nhưng vẫn đảm bảo cung cấp dữ liệu thời gian thực ở đầu ra. Kỹ thuật này cĩ thể được mở rộng đến hơn hai bộ xử lý để đạt được, thậm chí cịn nhanh hơn tổng dữ liệu thơng qua.

Hình 2.10. Xử lý thời gian thực cho khối dữ liệu sử dụng bộ xử lý kép

2.2.1.3 Thuật tốn

Cĩ rất nhiều các thuật tốn khác nhau được sử dụng trong nhiều loại máy vơ tuyến, trong đĩ mỗi ứng dụng cụ thể lại tương ứng với một vài thuật tốn khác nhau Dưới đây, ta xét ví dụ một thuật tốn khá quan trọng trong các máy thu vơ tuyến sử dụng số hĩa RF hoặc IF.

SVTH: Nguyễn Quang Huy – D08VT1 Trang 45 FFT (biến đổi Fourier nhanh) là một ví dụ thuật tốn được sử dụng thường xuyên trong các ứng dụng xử lý tín hiệu số và máy thu vơ tuyến. FFT biến đổi mẫu tín hiệu ở miền thời gian sang miền tần số, cho phép máy thu xử lý tín hiệu trực tiếp trên miền tần số. Những tín hiệu nhận được thường là tín hiệu băng thơng khi số hĩa xảy ra tại RF hoặc IF. Những tín hiệu băng thơng này cĩ thể được số hĩa bằng cách lấy mẫu tại hai lần tần số tối đa, lấy mẫu băng thơng, hoặc lấy mẫu trên tần (oversampling). FFT cũng cĩ thể được áp dụng cho các tín hiệu đã được biến đổi hạ tần thành băng gốc, nhưng tín hiệu phải được chia thành các thành phần đồng pha và pha vuơng gĩc trước khi số hĩa.

Bất kể sử dụng phương pháp lấy mẫu nào, độ phân giải của tín hiệu trong miền tần số chuyển đổi là một hàm của khoảng cách giữa các mẫu của tín hiệu ∆t trong miền thời gian và số mẫu N được sử dụng trong các tính tốn của FFT. Khoảng cách tần số giữa các mẫu trong miền tần số khi đĩ là:

(2.1)

Tần số phổ cao nhất là:

(2.2)

Từ cơng thức (2.2) ta thấy cĩ N/ mẫu trong biến đổi FFT từ N mẫu trong miền thời gian (thực tế, cĩ (N/ ) + mẫu trong khoảng FFT từ DC tới fmax nếu tính cả DC và fmax). Với số mẫu N cố định, một bộ xử lý đã cho, với một thuật tốn FFT cho trước, thời gian tính tốn N-điểm FFT là khơng đổi Đối với hoạt động thời gian thực, quá trình FFT phải được thực hiện trong thời gian thu thập tất cả N mẫu của khối dữ liệu hiện tại, với giả thiết sử dụng một bộ xử lý đơn Một tham số được gọi là băng thơng thời gian thực (real-time bandwidth) cĩ thể định nghĩa như tần số lớn nhất được xử lý trong thời gian thực. (adsbygoogle = window.adsbygoogle || []).push({});

Để cĩ thể xử lý trong thời gian thực, cần xem xét tới tốc độ xử lý, băng thơng tín hiệu (tốc độ dữ liệu), số lượng các tính tốn cần thiết trong việc thực hiện các thuật tốn xử lý tín hiệu, và tốc độ của bất kỳ bộ chuyển đổi dữ liệu cần thiết được yêu cầu. Một ví dụ cho thấy làm thế nào để ước tính cơng suất xử lý cần thiết để hoạt động thời gian thực được đưa ra dưới đây Đối với ví dụ này, trường hợp đơn giản là xem xét thời gian cần thiết để tính tốn FFT Ví dụ này cho thấy các phương pháp được sử dụng để xác định tốc độ xử lý cần thiết. Giả thiết một tín hiệu đầu vào được

SVTH: Nguyễn Quang Huy – D08VT1 Trang 46 lấy mẫu tại một tỷ lệ cố định và việc xử lý chỉ được thực hiện trên các tín hiệu đầu vào lấy mẫu FFT và thời gian chuyển đổi dữ liệu khơng tính đến.

Giả sử một tín hiệu đầu vào cĩ tần số tối đa 5 MHz, tốc độ lấy mẫu 2fmax sẽ là 10 Msamples/s. Đối với tốc độ lấy mẫu này, thời gian giữa các mẫu ∆t là 100 ns. Giả sử rằng FFT được tính từ khối N = 1024 mẫu. Từ đĩ, phải mất N∆t = 102,4 µs để thu thập một khối dữ liệu. Số lượng phép tính dấu chấm động (thực ra là phép nhân) cần thiết để tính tốn một FFT N-điểm được ước tính là Nlog2N. Do đĩ, khoảng 10240 phép tính dấu phẩy động được yêu cầu đối với FFT 1024-điểm. Để cĩ thể xử lý thời gian thực trong trường hợp bộ xử lý đơn, FFT phải được tính tốn trong khoảng thời gian cần thiết để thu thập khối dữ liệu (102,4 ms). Tốc độ xử lý yêu cầu tối thiểu cĩ thể tính được qua cơng thức :

Như vậy, trong ví dụ trên, tốc độ xử lý tối thiểu là 100 MFLOPS

2.2.2 Mảng cổng lập trình đƣợc dạng trƣờng (FPGA)

FPGA là viết tắt của "Field Programmable Gate Array", là vi mạch dùng cấu trúc mảng phần tử logic mà người dùng cĩ thể lập trình được, cĩ thể thực hiện các tính năng logic thơng qua máy tính của mình với giá rẻ, và cĩ thể xĩa đi viết lại nhiều lần Xilinx là cơng ty đầu tiên bán ra FPGA và luơn chiếm thị phần lớn nhất Ngồi ra cịn cĩ Alterna, Lattice, Actel, QuickLogic. Nhiều nhà sản xuất hiện đang cung cấp rất nhiều cấu trúc và phương pháp xử lý khác nhau Vì vậy, việc chọn một cấu trúc và một phương pháp xử lý để cĩ thể đáp ứng được các yêu cầu về chức năng và độ ổn định, đối với một hệ thống trong thực tế là vấn đề mang tính quyết định. Thiết bị logic lập trình được được phát minh lần đầu vào cuối thập kỷ 97 và ngay lập tức đã trở lên phổ biến trong ngành cơng nghiệp bán dẫn Ngồi khả năng lập trình đa dạng, cơng nghệ này cịn cĩ thời gian sản xuất nhỏ nên cĩ khả năng cạnh tranh thương mại rất lớn Hơn nữa, việc thiết kế với nĩ khá dễ dàng và nĩ cĩ khả năng lập trình lại nhiều lần.

FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập cơng ty Xilinx vào năm 98 Kiến trúc mới của FPGA cho phép tích hợp số lượng tương đối lớn các phần tử bán dẫn vào một vi mạch so với kiến trúc trước đĩ là CPLD (Complex Programmable Logic Device – Thiết bị logic phức hợp lập trình được) Điểm tương đồng của CPLD và FPGA là ở chỗ chúng đều bao gồm một số lượng tương đối lớn

SVTH: Nguyễn Quang Huy – D08VT1 Trang 47 các phần tử logic khả trình Tuy nhiên mật độ tích hợp thì khác nhau, mật độ cổng logic của CPLD nằm trong khoảng từ vài nghìn đến hàng chục nghìn, trong khi với FPGA thì mật độ tích hợp cỡ hàng chục nghìn cho đến vài triệu.

Cĩ thể nĩi, FPGA đã trải qua một cuộc cách mạng trong những năm gần đây, cả về hiệu suất lẫn chi phí Từ khởi đầu đơn giản như một bộ logic gắn linh hoạt trong thiết kế số phức tạp, ngày nay chúng là một nền tảng xử lý đáng tin cậy và hồn tồn cĩ khả năng cạnh tranh với giải pháp ASIC (vi mạch tích hợp cho ứng dụng riêng) trong nhiều lĩnh vực (và hoạt động như một cơ chế tạo mẫu chi phí thấp cho thiết kế ASIC) Chúng cũng đã trải qua một cuộc biến đổi lớn về giá thành Điều này cĩ nghĩa rằng chúng đã từng khơng được đưa vào các mẫu thử nghiệm và các bộ phận ban đầu của vịng đời một sản phẩm Nhưng hiện nay, chúng cĩ thể được sử dụng cả trong sản xuất số lượng lớn và một số ứng dụng riêng. Hồn tồn cĩ thể chuyển đổi từ một FPGA sang một ASIC tương đương với mức độ tin cậy cao và chi phí NRE tương đối thấp Do đĩ, FPGA là một thử thách và cĩ thể thay thế ASIC trong các ứng dụng ASCI truyền thống.

Hơn nữa, chúng tỏ ra linh hoạt để cĩ được chi phí hiệu quả hơn so với ASIC, vì vậy rất phù hợp với các yêu cầu của vơ tuyến định nghĩa bằng phần mềm (SDR). Giống như các DSP, chúng cũng cĩ xu hướng tương thích ngược, cho phép một thiết kế ban đầu thực hiên trên một hệ thống lớn với các thiết bị cuối được chọn để phù hợp với yêu cầu xử lý

FPGA (hoặc ASIC cĩ nguồn gốc từ FPGA) cĩ thể được trang bị thêm bộ xử lý lõi IP Điều này giải quyết vấn đề đơn chip trong một số ứng dụng, và quan trọng hơn là vấn đề kích thước, hoặc độ tin cậy được cải thiện đáng kể nhờ vào giảm số lượng

Một phần của tài liệu Các xu thế phát triển mới của hệ thống thu phát vô tuyến trong các hệ thống thông tin di động (Trang 51 - 74)