Bài giảng Xử lý số tín hiệu - Chương 7: Thực hiện mạch lọc số - Lê Tiến Thường
7.1. Dạng trực tiếp.
7.2. Dạng canonical.
7.3. Dạng Cascade.
7.4. Cascade sang canonical.
7.5. Cài đặt phần cứng và các bộ đệm vòng.
7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch lọc số.
ùn số lệnh không phụ thuộc vào bộ xử lý cho một mạch lọc cụ thể. Số lệnh cũng như thời gian xử lý Tproc trong 1s tùy thuộc vào kiến trúc, tập lệnh, cách truy xuất bộ nhớ của chip DSP. Đối với một cascade của SOS, để tìm thời gian xử lý tổng ta phải tính toán thời gian phải chi phí để xử lý một SOS rồi nhân cho số lượng khâu. Theo phương trình (7.5.1) ta thấy rằng cần khoảnh 5 lệnh cho một SOS; do đó, thời gian xử lý cho một SOS có thể xấp xỉ bằng (bỏ qua overhead). CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.5. Cài đặt phần cứng và các bộ đệm vòng TSOS ª 5Tinstr (7.5.7) Khi có K SOS được nối cascade hay song song, nhưng đều được thiết kế với cùng một DSP, thì tổng số lệnh sẽ là: Ninstr = 5K + C (Mạch lọc IIR khâu K) (7.5.7) Trong đó là overhead cho mạch lọc K-tầng. Do đó thời gian xử lý tổng là: Tproc = Tinstr(5K + C) = KTSOS + Ctinstr (7.59) Bỏû qua hệä sốá overhead tương đốái nhỏû, ta tìm tốác độä lấáy mẫu tỗ áái đa fs cho K khâu bâ ääc hai. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.5. Cài đặt phần cứng và các bộ đệm vòng (7.5.10) Đối với các mạch song song (xem bài tập 5.18), ta có thể nâng tốc độ thông lượng bằng cách dùng K chip DSP khác nhau hoạt động song song, mỗi chip được dùng để thực hiện phép lọc SOS trong TSOS giây. Trong trường hợp này, thời gian xử lý tổng là TSOS vì tất cả các DSP kết thúc đồng thời, và do đó, tốc độ thông lượng sẽ nhanh hơn K lần trong trường hợp 1 DSP: (7.5.11) CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ K f KTT f instr SOSproc s 5 11 === SOSproc sSOSproc TT fTT 11 ==⇒= 7.5. Cài đặt phần cứng và các bộ đệm vòng Đối với các mạch cascade, ta cũng có thể sử dụng K chip DSP – mỗi chip cho một SOS – để tăng tốc độ xử lý. Tuy nhiên, vì đầu ra của khâu này là đầu vào của khâu kế tiếp nên không thể chạy K chip DSP đồng thời. Mỗi DSP phải chờ TSOS giây cho DSP trước nó kết thúc. Một giải pháp là pipeline các phép lọc của các khâu liên tiếp, do đó tất cả các DSP hoạt động với nhau, nhưng mỗi DSP xử lý đầu vào từ thời điểm lấy mẫu trước đó. Việc này có thể được thực hiện bằng cách chèn các khâu trễ đơn vị giữa các DSP, như trong hình 7.5.2. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.5. Cài đặt phần cứng và các bộ đệm vòng Hình 7.5.2 Pipeline hoạt động của nhiều bộ xử lý DSP. Tại thời điểm thứ n, khi DSP-1 đang xử lý mẫu đầu vào hiện hành x(n), DSP-2 đang xử lý mẫu y1(n-1) được DSP xuất vào thời điểm trước đó và được lưu trong một thanh ghi chờ, và DSP-3 đang xử lý mẫu y2(n-1) được DSP-2 tạo ra trước đó, Tác động của việc phát sinh các thời gian trễ này chỉ là một thời gian trễ chung trong đầu ra. Ví dụ, trong trường hợp được chỉ ra trong hình 7.5.2, hàm truyền tổng hợp thay đổi từ H(z) = H1(z) H2(z) H3(z) thành: CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.5. Cài đặt phần cứng và các bộ đệm vòng H(z) = H1(z)z-1H2(z) z-1H3(z) = z-2H1(z)H2(z)H3(z) tương ứng với việc làm trễ đầu ra 2 xung đơn vị. Đối với K khâu, thời gian trễ tổng cộng là z-(K-1). Ví dụï 7.5.1: Chip DSP dấáu chấám độäng AT&T DSP 32 cáùc [87,88]cóù thểå thựïc thi cáùc lệänh loạïi -MAC cơ bảûn trong 4 chu kỳø xung nhịp, tứùc làø Tinstr = 4Tclock. Do đóù, tầàn sốá lệänh củûa nóù làø finstr = fclock/4. Mộät lệänh MAC điểån hình biểåu diễn 2 phễ ùùp toáùn dấáu chấám độäng: mộät phéùp nhân vâ øø mộät phéùp cộäng. Do đóù, chip cóù tốác độä tính toáùn làø fFlop = 2finstr = fclock/2. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.5. Cài đặt phần cứng và các bộ đệm vòng Ở tốc độ xung nhịp fClock = 50 MHz, nó có tốc độ lệnh là finstr = fclock/4 = 12.5 MHz và tốc độ tính toán là fFlop = fclock/2 = 25 MHz. Thời gian cho một lệnh là Tinstr = 1/ finstr = 80 ns. Một mạch lọc FIR bậc M có thể được cài đặt với Ninstr = (M + 1) + 11 = M + 12 (lệnh/mẫu) Do đóù, thờøi gian xửû lýù 1 mẫu lẫ øø Tproc = (M + 12)Tinstr. Đốái vớùi mộät mạïch lọïc FIR 100-tap (M=99) dùøng DSP 32 cáùc đang chạïy ởû tốác độä 50 MHz, ta cóù Tproc = (M + 12)Tinstr = (99 + 1)80 = 8.9 ms, cóù tốác độä thông lâ ượïng tốái đa làø fs = 1/Tproc = 112.4 kHz. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.5. Cài đặt phần cứng và các bộ đệm vòng Một mạch lọc IIR K-khâu được cài đặt Ninstr = 5K + 10 (Lệänh/mẫu)ã Nó đòi hỏi số trạng thái chờ chu kỳ – máy là: Nwait = 2K + 1 (Trạïng tháùi chờø/mẫu)ã Do đó, thời gian xử lý tổng cho K khâu sẽ là: Tproc = NinstrTinstr + NwaitTclock Viếát Tinstr = 4Tclock = 4/fclock ta có Tproc = (4Ninstr + Nwait)/fclock = (22K + 41)/fclock Đốái vớùi mộät SOS, K=1, vàø xung nhịp 50 MHz, ta tìm đượïc Tproc = 1.26 ms, hay tầàn sốá lấáy mẫu cã ựïc đạïi làø: CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.5. Cài đặt phần cứng và các bộ đệm vòng fs = 1/Tproc = 793.6 kHz Đối với một mạch lọc 5 khâu, K = 1, ta tìm được Tproc = 3.02 ms, hay tần số lấy mẫu cực đại là fs = 33.1 kHz. Và cho một mạch lọc 10 khâu, K=10, ta có Tproc = 5.22 ms, hay tần số lấy mẫu cực đại là fs = 191.6 kHz. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch lọc số Có hai loại ảnh hưởng do lượng tử hóa trong các mạch lọc số bên cạnh việc lượng tử hóa các tín hiệu đầu vào và đầu ra: các sai số roundoff trong các phép tính trong của mạch lọc và lượng tử hóa hệ số. Lượng tử hóa hệ số thực hiện khi các hệ số mạch lọc được làm tròn từ giá trị chính xác của nó đến một số hữu hạn các chữ số (hay, các bit cho các cài đặt phần cứng). Cách biểu diễn trực tiếp và canonical có xu hướng rất nhạy với các việc làm tròn này, trong khi đó cách biểu diễn cascade thì rất tốt. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch lọc số Các mạch lọc bậc cao có các cực phân bố hẹp trong mặt phẳng z, những thay đổi nhỏ trong các hệ số mẫu thức có thể gây ra dịch lớn vị trí của các cực. Nếu bất kỳ điểm cực nào di chuyển ra ngoài đường tròn đơn vị, mạch lọc sẽ trở nên không ổn định, làm cho nó không thể sử dụng được. Nhưng cho dù các điểm cực không di chuyển ra ngoài, các khoảng dịch lớn có thể làm méo dạng đáp ứng tần số của mạch lọc và do đó nó không còn thõa mãn các thông số thiết kế. Trong thực tế, ta phải luôn kiểm tra rằng tính ổn định và các thông số của mạch lọc được bảo đảm khi các hệ số được làm tròn. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch lọc số Khi dùng các package phần mềm để thiết kế một mạch lọc, ta phải luôn giữ các thông số thiết kế với số chữ số bảo đảm cho các yêu cầu. Bài tập 7.20 và 7.21 khảo sát các ảnh hưởng lượng tự hóa trên và một số nguy cơ thường gặp. Điều này cũng không có nghĩa là các dạng trực tiếp và canonical không được sử dụng; thực tế, ta thấy trong ví dụ 7.4.3 và 7.4.4, các dạng canonical đơn giản hơn nhiều khi cài đặt so với các dạng cascade, và cũng rất tốt trong lượng tử hóa hệ số. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch lọc số Tóm lại, dạng cascade được khuyến cáo sử dụng trong các kỹ thuật thiết kế các mạch lọc IIR thông thấp, thông dải, thông cao, băng hẹp bậc cao, như là phương pháp biến đổi song tuyến tính, cho các kết quả thiết kế ở dạng cascade. Có các dạng thực hiện khác, như là các khâu bậc 2 cascade trong dạng chuyển vị, các dạng song song, và các dạng dàn, hoạt động rất tốt trong quá trình lượng tử hóa hệ số. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch lọc số Sai số roundoff xảy ra trong các phép nhân và các phép cộng trong, ví dụ y:=y + aw. Tích aw đòi hỏi hai lần số bit của mỗi thừa số để có thể biểu diễn một cách chính xác. Sai số roundoff sẽ xảy ra nếu tích này được làm tròn đến kích thước ban đầu của hai thừa số. Các sai số roundoff như thế có thể bị đưa vào các vòng hồi tiếp của các mạch lọc recursive và có thể bị khuếch đại, gây méo dạng rất lớn trong đáp ứng mong muốn. Các thực hiện trạng thái đặc biệt và kỹ thuật của định hình nhiễu lượng tử hóa (còn được gọi là định hình phổ sai số – error spectrum shaping) có thể được sử dụng để tối thiểu hóa tích lũy sai số roundoff. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ 7.6. Các ảnh hưởng của quá trình lượng tử hóa trong mạch lọc số Để không tràn các kết quả trung gian trong các phép tính của mạch lọc, các hệ số định tỷ lệ thích hợp có thể được đưa ra tại các điểm khác nhau trong các tầng lọc. Các chip DSP hiện đại giải quyết vấn đề ảnh hưởng do lượng tử hóa theo hai hướng: dùng các từ dài, như là 32 bit, để lưu trữ các hệ số, và dùng các bộ cộng dồn độ chính xác-kép để thực hiện nhiều phép toán MAC mà không bị sai số roundoff trước khi kết quả cuối cùng được làm tròn. CHUƠNG 7: THỰÏC HIỆÄN MẠÏCH LỌÏC SỐÁ
File đính kèm:
- bai_giang_xu_ly_so_tin_hieu_chuong_7_thuc_hien_mach_loc_so_l.pdf