Cấu trúc điều chế DDS được mô tả ở phần trên là hết sức đơn giản. Cấu trúc đầy đủ hơn của DDS có dạng sau:
Hình 30: Bộ điều chế DDS
Để hệ thống hoạt động đúng, thì g(n) phải là các mẫu được lấy mẫu tại tần số giống như tốc độ lấy mẫu của DDS. Giả sử ta có tín hiệu g(n) như sau:
g(n) = cos[2π(1kHz)nT1]
Ở đây T1 là 0.25ms. Do đó có thể mô tả g(n) là tín hiệu 1kHz được lấy mẫu tại tốc độ 4kHz. Giả sử đầu ra DDS là:
DDS = cos[2π(3kHz)nT2]
Ở đây T2 là 0.1ms. Điều này có nghĩa đầu ra của DDS là một tín hiệu 3kHz được lấy mẫu tại tốc độ 10kHz. Như vậy tại các giá trị n khác nhau 2 mẫu tín hiệu khác nhau sẽ được nhân với nhau. Tín hiệu ta thu được là không như mong đợi. Nếu trong hệ thống DDS nguồn tín hiệu g(n) hoạt động tại tốc độ khác xung DDS, thì phải có bước
làm cho tốc độ lấy mẫu của chúng giống nhau. Vấn đề này liên quan tới xử lý đa tốc, với các khái niệm interpolation, decimation…..Những vấn đề này sẽ được làm rõ dưới đây.
4.3 Bộ lọc số
Bộ lọc số là bản sao thời gian rời rạc của bộ lọc tương tự. Có hai lớp cơ bản của bộ lọc số. Một là bộ lọc FIR (đáp ứng xung có hạn) và dạng thứ hai là bộ lọc IIR (đáp ứng xung dài vô hạn). Về quan điểm thiết kế bộ lọc thì FIR là đơn giản hơn, nhưng về yêu cầu phần cứng thì IIR có ưu điểm. Nó yêu cầu ít mạch hơn nhiều bộ lọc FIR cho cùng một đáp ứng cơ bản. Nhưng bộ lọc IIR có khả năng trở nên không ổn định dưới điều kiện nào đó. Vì tính chất này nên với những hệ thống tín hiệu đầu vào không được biết rõ thì IIR ít được sử dụng.
4.3.1Bộ Lọc FIR
Về cơ bản một bộ lọc FIR là rất đơn giản. Chỉ bao gồm các bước trễ, nhân, cộng và không còn gì hơn nữa. Mỗi bước bao gồm đường dữ liệu vào và ra và hệ số cố định. Mỗi bước đơn thường được đề cập là “tap”. Dưới đây là một bộ FIR có 2-tap.
Hình 31: Bộ lọc FIR dạng đơn giản
Trong bộ lọc đơn giản này, chúng ta có tín hiệu vào là x(n). Dữ liệu vào được đưa vào 2 nơi. Một đường dẫn tới bộ nhân, hệ số a0. Đường kia cho qua trễ và vào bộ nhân, tín hiệu đầu ra là a1x(n-1). Hai đầu ra được cộng với nhau tại bộ cộng. Đầu ra của bộ lọc sẽ là:
y(n) = a0x(n) + a1x(n-1)
Để hiểu tín hiệu đã được lọc như thế nào chúng ta thực hiện biến đổ z của phương trình. Biến đổi z chỉ đơn thuần là trường hợp đặc biệt của biến đổi Fourier áp dụng cho tín hiệu được lấy mẫu.
Ở đây z = ejω, ω = 2πf/Fs, với Fs là tần số lấy mẫu. Giả sử chúng ta dùng tốc độ lấy mẫu 10kHz và a0 = a1 = 0.5. Tính H(z) cho các tần số khác nhau chúng ta vẽ biên độ của H(z) như là hàm của tần số:
Hình 32: Đáp ứng tần số bộ lọc FIR cho a0 = a1 = 0.5
Đây là đáp ứng của một bộ lọc thông thấp. Lưu ý rằng trục tần số chỉ mở rộng tới 5kHz (½Fs). Từ hình vẽ của hàm truyền trên, chúng ta thấy rằng,bộ lọc FIR này cho chỉ khoảng 60% tín hiệu chuyền qua.
Bộ lọc FIR có thể mở rộng tới số tap bất kì:
Hình 33: Bộ lọc FIR n-taps
Khi lối vào x(N) là dãy 1,0,0,0….. ta thấy rằng tại thời điểm mẫu đầu tiên giá trị y(n) là a0, tại mẫu thứ 2 giá trị này là a1, như vậy sau N mẫu y(n) = 0. Điều này dẫn tới 2 quan sát rất đáng quan tâm. Thứ nhất, nếu lối vào chỉ có môt giá trị 1 duy nhất (xung
kim) thì đầu ra sẽ cấu thành đáp ứng xung của bộ lọc. Đáp ứng xung này chỉ tồn tại trong N mẫu. Do đó nó có tên là bộ lọc đáp ứng xung hữu hạn. Thêm nữa đáp ứng xung cũng mình họa rằng một mẫu vào sẽ yêu cầu N mẫu để chuyền qua bộ lọc trước khi nó không còn hiện diện tại đầu ra.
Việc tăng N dẫn tới tăng trễ qua FIR và sẽ tốn nhiều bộ nhớ. Tuy nhiên có một điểm lợi khác việc tăng N có thể làm tăng độ “nét” của đáp ứng bộ lọc.
4.3.2Bộ lọc IIR
Sự khác nhau giữa bộ lọc IIR và FIR là phản hồi. Cấu trúc của một bộ lọc IIR đơn giản có dạng sau:
Hình 34: Bộ lọc IIR đơn giản
Lưu ý rằng nửa bên trái là một bản sao của bộ lọc FIR 2-tap. Phần này của bộ lọc thường được gọi là phần feedforward phần bên tay phải là feedback. Feedback là một phiên bản trễ và tỉ lệ của tín hiệu đầu ra. Sự tồn tại của phản hồi tạo nên sự khác biệt rất lớn trọng hoạt động của bộ lọc. Vì với bất kỳ hệ phản hồi, tính ổn định trở thành một vấn đề nghiêm trọng. Một sự lựa chọn không thích hợp các hệ số hay sự biến động của dữ liệu vào có thể gây ra sự bất ổn định của bộ lọc IIR. Vấn đề tính ổn định không thể loại bỏ IIR ra khỏi một số ứng dụng.
Sau hai mẫu đầu tiên, phía bên trái của IIR sẽ tạo ra 2 xung có độ cao a0 và a1. Sau đó phía bên phải chỉ tạo ra chuỗi 0. Còn phía bên phải lại khác hẳn. Tại mỗi thời điểm lấy mẫu giá trị y(n) sẽ được thay bằng giá trị trước đó của nó cho dù tín hiệu vào đã không còn nữa. Vì vậy nó được gọi là bộ lọc đáp ứng xung vô hạn. Nhưng khái niệm vô hạn chỉ là lý tưởng. Vì trong các ứng dụng thực tế, IIR có thể chỉ triển khai với một lượng nhất định. Đặc biệt với các ứng dụng dấu phẩy cố định, với những giá trị gần không có thể bị cắt thành không.
y(n) = a0x(n) + a1x(n-1) + b1y(n-1)
Thực hiện biến đổi z của phương trình ta được: H(z) = (a0 + a1z-1)/(1 – b1z-1)
Với Fs = 10kHz, a0=a1= 0.1 và b1= 0.85 ta thu được bộ lọc có đáp ứng như sau:
Hình 35: Bộ lọc IIR nhiều tap
4.4 DSP đa tốc
Đa tốc DSP là quá trình chuyển đổi tốc độ lấy mẫu từ tốc độ Fs1 thành tốc độ Fs2. Nếu Fs1 lớn hơn Fs2 quá trình gọi là giảm tốc (decimation). Ngược lại thì gọi là tăng tốc (interpolation).
Chúng ta có thể hiểu rõ hơn qua ví dụ sau. Giả sử có 1000 mẫu của một tần số 1kHz được lưu trong bộ nhớ. Những mẫu này được yêu cầu sử dụng với tốc độ lấy mẫu 10kHz. Điều này ngụ ý rằng khoảng thời gian của tập tất cả các mẫu mở rộng ra 100ms. Nếu tập các mẫu này được xung đồng hồ xuất ra với tốc độ 100kHz thì chỉ cần 10ms để xuất ra hết. Do đó,1000 mẫu của tần số 1kHz xuất ra với tần số 100kHz thì giống như là 1000 mẫu của xung 10kHz. Như vậy muốn 1000 mẫu này đươc biểu diễn
với tần số lấy mẫu 100kHz thì phải sửa đổi tín hiệu gốc. Đây là nhiệm vụ của xử lý tín hiệu số đa tốc.
4.4.1Tăng tốc
Quá trình tăng tốc có 2 phần:
Hình 36: Bộtăng tốcđơn giản
Một phần đầu vào tín hiệu được lấy mẫu tại tốc độ Fs, phần đầu ra được lấy mẫu với vận tốc nFs, ở đây n là số nguyên lớn hơn một. Cấu trúc một bộ tăng tốc chỉ ra rằng với một mẫu đầu vào sẽ có n mẫu đầu ra.
Trực quan ta thấy rằng nếu thêm n-1 số 0 vào giữa các mẫu đầu vào (zero- stuffing), thì dữ liệu đầu ra có thể có tính chất mong đợi. Chúng ta sẽ thấy rõ khi xem xét trên miền tần số. Giả sử với trường hợp n=3 ta có:
Dữ liệu gốc được lấy mẫu tại tốc độ Fs1, phổ của dữ liệu gốc có dạng như hình a tần số Nyquist của dữ liệu gốc là 1/2Fs1. Còn đầu ra được lấy mẫu với tốc độ Fs2 lớn hơn 3 lần Fs1. Sự tăng tốc 3 ngụ ý rằng có 2 mẫu 0 được thêm vào giữa mỗi mẫu gốc. Phổ của dữ liệu 0 chỉ ra như hình vẽ. Lưu ý rằng thêm 0 vẫn giữ lại phổ gốc của tín hiệu. Tốc độ lấy mẫu mới cũng dẫn tới tần số Nyquist mới bằng 1/2Fs2.
Ta thấy rằng thông tin trong tín hiệu gốc chứa ở trong băng tần cơ sở. Các ảnh của phổ có trung tâm tại các tần số bội của Fs1, đó là sản phẩm phụ của quá trình lấy mẫu và không mang thông tin. Trong hình b ta thấy vùng Nyquist của nó chứa nhiều phổ hơn, trong thực tế nó chứa một ảnh của phổ tín hiệu gốc. Vấn đề nằm ở chỗ, vùng Nyquist của phổ lấy mẫu chứa một nhóm khác của tín hiệu hơn vùng Nyquist của phổ gốc. Vì vậy chúng ta phải làm gì đó để sau khi tăng tốc vùng Nyquist của phổ tăng tốc chứa chính xác các tín hiệu giống như trong phổ gốc.
Ở hình c ta thấy giải pháp đó là cho tín hiệu đi qua bộ lọc thông thấp thì ta được đáp ứng phổ như hình vẽ. Bộ lọc sử dụng có thể là bộ lọc FIR thông thấp, do đó quá trình tăng tốc hoàn toàn có thể thực hiện trong miền số.
4.4.2Giảm tốc
Chức năng của bộ giảm tốc là lấy dữ liệu cái đã được lấy mẫu tại một tốc độ và thay đổi nó thành dữ liệu mới được lấy mẫu tại tốc độ thấp hơn. Dữ liệu phải được thay đổi theo cách khi nó được lấy mẫu với tốc độ thấp hơn tín hiệu gốc vẫn được bảo tồn. Hình vẽ dưới đây biểu diễn quá trình giảm tốc:
Hình 38: Bộ giảm tốc đơn giản
Lưu ý rằng giảm tốc chia thành hai phần. Vùng đầu vào lấy mẫu với tốc độ Fs, và vùng đầu ra lấy mẫu với vận tốc (1/m)Fs với m là số nguyên dương lơn hơn một. Cấu trúc của bộ giảm tốc cơ bản chỉ ra rằng với mỗi m mẫu đầu vào có một mẫu đầu ra. Vậy dữ liệu được biến đổi như thế nào trong khi giảm tốc mà vẫn bảo tồn được tín hiệu gốc.
Một lý do có thể trực quan là, nếu mọi mẫu thứ m của tín hiếu đầu vào được nhặt ra, thì dữ liệu đầu ra có thể có tính chất mong đợi. Chuỗi này sẽ không còn phản ánh thông tin giống như dữ liệu gốc. Nguyên nhân được ghi vào trong các nhánh của tiêu chuẩn Nyquist. Câu trả lời trở nên rõ ràng khi kiểm tra trong miền tần số.
Hình 39: Quá trình tăng tốc xem trong miền tần số
Vấn đề trước mắt đó là quá trình giảm tốc được mong đợi chuyển thông tin phổ trong hình (a) theo cách nó có thể chứa trong hình (c). Vấn đề đó là vùng Nyquist của hình (a) là rộng hơn 3 lần vùng Nyquist trong hình (c) nguyên nhân trực tiếp từ sư khác nhau trong tốc độ lấy mẫu. Không có cách nào để chứa đầy đủ nội dung phổ của vùng Nyquist của hình (a) có thể đặt trong vùng Nyquist của hình (c). Điều này dẫn tới một quy tắc chính về giảm tốc: Băng thông của dữ liệu trước khi giảm tốc phải nằm trong băng thông của tốc độ lấy mẫu thấp hơn. Vì vậy với giảm tốc hệ số m băng thông của dữ liệu gốc phải bé hơn Fs/(2m), với Fs là tốc độ lấy mẫu dữ liệu của tín hiệu gốc. Nếu dữ liệu gốc chứa thông tin hợp lệ trong phần phổ nằm ngoài Fs/(2m), giảm tốc là không thể.
Giả sử phổ của dữ liệu gốc thỏa mãn yêu cầu băng thông giảm tốc, thì bước đầu tiên trong quá trình giảm tốc là lọc thông thấp cho dữ liệu gốc. Như với quá trình tăng
tốc bộ lọc này có thể là bộ lọc FIR. Bước thứ hai là nhặt ra các mẫu thứ m sử dụng tốc độ lấy mẫu thấp.