1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo cuối kỳ đề tài quyển 2 chương 10 sampling rate conversion

92 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 92
Dung lượng 6,57 MB

Nội dung

Do đó, có vẻ thuận lợi hơn nếu giảm tần số lấy mẫu xuống giá trị gần với và thực hiện các thao tác xử lý tín hiệu ở tốc độ thấp hơn này.Các ứng dụng khác bao gồm nhu cầu nội suy tối ưu t

Trang 1

BỘ GIÁO DỤC & ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINHKHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINHLê Thanh Như 21129059Lê Bùi Phương Thảo 19129048

Trang 2

MỤC LỤC

CHƯƠNG 10: Chuyển đổi tỷ lệ lấy mẫu……….3

GIỚI THIỆU 4

THIẾT KẾ BỘ LỌC FIR ĐỂ CHUYỂN ĐỔI TỶ LỆ LẤY MẪU 35

NỘI SUY SỐ NGUYÊN FIR 36

FIR INTEGER DECIMATION 48

DESIGN SPECIFICATIONS 55

CHUYỂN ĐỔI TỈ LỆ FIR HỢP LÝ 59

BỘ LỌC FIR VỚI NHIỀU BĂNG DẢI KHÁC NHAU 63

CẤU TRÚC BỘ LỌC FIR ĐỂ CHUYỂN ĐỔI TỈ LỆ LẤY MẪU .64

CẤU TRÚC BỘ LỌC FIR DẠNG TRỰC TIẾP .64

CẤU TRÚC BỘ LỌC POLYPHASE 69

Trang 3

CHƯƠNG 10: Chuyển đổi tỷ lệ lấy mẫu

Trong nhiều ứng dụng thực tế của xử lý tín hiệu số, người ta phải đối mặt với vấn đề thay đổi tốc độ lấy mẫu của tín hiệu, tăng hoặc giảm tín hiệu một lượng nào đó Quá trình chuyển đổi tín hiệu từ một tốc độ nhất định sang một tốc độ khác được gọi là chuyển đổi tốc độ lấy mẫu Đổi lại, các hệ thống sử dụng nhiều tốc độ lấy mẫu trong quá trình xử lý tín hiệu số được gọi là hệ thống xử lý tín hiệu số đa tốc độ Trong chương này, chúng tôi mô tả chuyển đổi tốc độ lấy mẫu và xử lý tín hiệu đa tốc độ trong miền kỹ thuật số.

Ví dụ, hãy xem xét hệ thống được minh họa trong Hình 10.1 trong đó một tín hiệu tương tự được lấy mẫu bằng cách sử dụng tốc độ lấy mẫu mẫu/giây Tín hiệu số thu được x(n) sau đó được lọc bằng bộ lọc thông thấp (LPF) với tần số cắt là

Do đó, tín hiệu đầu ra có toàn bộ năng lượng trong dải 0 ≤ ω ≤ Theo định lý lấy mẫu, một tín hiệu như vậy có thể được biểu thị bằng tốc độ mẫu/giây thay vì tốc độ hiện tại của nó là Lưu ý rằng Tuy nhiên, nếu 0,5 thì Do đó, có vẻ thuận lợi hơn nếu giảm tần số lấy mẫu xuống giá trị gần với và thực hiện các thao tác xử lý tín hiệu ở tốc độ thấp hơn này.

Các ứng dụng khác bao gồm nhu cầu nội suy tối ưu trong chụp cắt lớp vi tính và thiết kế nhiều tầng hiệu quả của bộ lọc thông thấp băng hẹp.

Trang 4

Hình 10 1 Một hệ thống xử lý tín hiệu điển hình GIỚI THIỆU

Ý tưởng về phép nội suy là một khái niệm rất quen thuộc với hầu hết chúng ta và có nguồn gốc từ giải tích số Thông thường, phép nội suy được thực hiện trên một bảng số đại diện cho một hàm toán học Một bảng như vậy có thể được in trong sổ tay hoặc được lưu trữ trong thiết bị bộ nhớ máy tính Phép nội suy, thường chỉ đơn giản là xấp xỉ tuyến tính (hoặc đường thẳng), tạo ra một lỗi gọi là lỗi nội suy Sự khác biệt chính giữa phép nội suy trong xử lý tín hiệu số và phép nội suy trong phân tích số là chúng ta sẽ giả định rằng dữ liệu đã cho được giới hạn băng thông ở một số dải tần số và phát triển các sơ đồ tối ưu trên cơ sở này, trong khi một nhà phân tích số thường giả định rằng dữ liệu bao gồm mẫu của các đa thức (hoặc gần như vậy) và phát triển các sơ đồ để giảm thiểu lỗi kết quả.

Để thúc đẩy khái niệm nội suy này trong xử lý tín hiệu, thật hữu ích khi nghĩ đến tín hiệu tương tự cơ bản (hoặc gốc được lấy mẫu để tạo ra tín hiệu rời rạc đã cho x(n) Nếu được lấy mẫu ở tốc độ yêu cầu tối thiểu, thì theo định lý lấy mẫu, nó có thể được phục hồi hoàn toàn từ các mẫu x(n) Nếu bây giờ chúng ta lấy mẫu tín hiệu tương tự đã phục hồi này, với tốc độ gấp đôi tốc độ cũ, thì chúng ta đã thành công trong việc nhân đôi tốc độ lấy mẫu hoặc nội suy theo hệ số 2 với lỗi nội suy bằng không Cụ thể, chúng tôi có:

Trang 5

Reconstructed analog signal: (10.2) Lấy mẫu lại tín hiệu tương tự:

Trong công thức nội suy lý tưởng ở trên, tín hiệu rời rạc được chuyển đổi thành tín hiệu tương tự và sau đó trở lại tín hiệu rời rạc với tốc độ gấp đôi Trong các phần tiếp theo, chúng ta sẽ nghiên cứu cách tránh cách tiếp cận đường vòng này và thực hiện chuyển đổi tỷ lệ lấy mẫu hoàn toàn trong miền kỹ thuật số.

Quá trình chuyển đổi tốc độ lấy mẫu trong miền kỹ thuật số có thể được xem như một hoạt động lọc tuyến tính, như được minh họa trong Hình 10.2(a) Tín hiệu đầu vào x(n) được đặc trưng bởi tốc độ lấy mẫu và tín hiệu đầu ra được đặc trưng bởi tốc độ lấy mẫu , trong đó và là các khoảng thời gian lấy mẫu tương ứng Theo cách xử lý của chúng tôi, tỷ lệ bị hạn chế ở mức hợp lý

trong đó D và I là các số nguyên tố tương đối Chúng ta sẽ chỉ ra rằng bộ lọc tuyến tính được đặc trưng bởi đáp ứng xung biến thiên theo thời gian, ký hiệu là

Trang 6

Hình 10 2 Chuyển đổi tốc độ lấy mẫu được coi như là quá trình lọc tuyến tính.

như Do đó, đầu vào và đầu ra có quan hệ với nhau bằng phép cộng chồng chất đối với các hệ thống biến thiên theo thời gian Quá trình chuyển đổi tỷ lệ lấy mẫu cũng có thể được hiểu từ quan điểm lấy mẫu lại kỹ thuật số của cùng một tín hiệu tương tự Đặt là tín hiệu tương tự được lấy mẫu ở tốc độ đầu tiên để tạo ra Mục tiêu của chuyển đổi tỷ lệ là thu được một chuỗi khác trực tiếp từ x(n), bằng với các giá trị được lấy mẫu của xa(t) ở tốc độ thứ hai Như được mô tả trong Hình 10.2(b), là phiên bản thay đổi theo thời gian của Sự dịch chuyển thời gian như vậy có thể được thực hiện bằng cách sử dụng bộ lọc tuyến tính có đáp ứng cường độ phẳng và đáp ứng pha tuyến tính (nghĩa là nó có đáp ứng tần số , trong đó là độ trễ thời gian do bộ lọc tạo ra) Nếu hai tốc độ lấy mẫu không bằng nhau, lượng thời gian dịch chuyển cần thiết sẽ thay đổi từ mẫu này sang mẫu khác, như thể hiện trong Hình 10.2(b) Do đó, bộ chuyển đổi tốc độ có thể được thực hiện bằng cách sử dụng một tập hợp các bộ lọc tuyến tính có cùng đáp ứng cường độ phẳng nhưng tạo ra độ trễ thời gian khác nhau Trước khi xem xét trường hợp chung của chuyển đổi tốc độ lấy mẫu, chúng ta sẽ xem xét hai trường hợp đặc biệt Một là trường hợp giảm tốc độ lấy mẫu theo hệ số nguyên và trường hợp thứ hai là trường hợp tăng tốc

Trang 7

độ lấy mẫu theo hệ số nguyên Quá trình giảm tốc độ lấy mẫu theo hệ số (lấy mẫu I D xuống theo ) được gọi là thập phân Quá trình tăng tốc độ lấy mẫu theo hệ số nguyên D I (lấy mẫu theo ) được gọi là nội suy bộ chuyển đổi tốc độ có thể được thực hiện bằng I cách sử dụng một tập hợp các bộ lọc tuyến tính có cùng đáp ứng cường độ phẳng nhưng tạo ra độ trễ thời gian khác nhau Trước khi xem xét trường hợp chung của chuyển đổi tốc độ lấy mẫu, chúng ta sẽ xem xét hai trường hợp đặc biệt Một là trường hợp giảm tốc độ lấy mẫu theo hệ số nguyên và trường hợp thứ hai là trường hợp tăng tốc độ lấy mẫu D theo hệ số nguyên Quá trình giảm tốc độ lấy mẫu theo hệ số (lấy mẫu xuống theo ) I D D được gọi là thập phân Quá trình tăng tốc độ lấy mẫu theo hệ số nguyên (lấy mẫu theo )I I được gọi là nội suy bộ chuyển đổi tốc độ có thể được thực hiện bằng cách sử dụng một tập hợp các bộ lọc tuyến tính có cùng đáp ứng cường độ phẳng nhưng tạo ra độ trễ thời gian khác nhau Trước khi xem xét trường hợp chung của chuyển đổi tốc độ lấy mẫu, chúng ta sẽ xem xét hai trường hợp đặc biệt Một là trường hợp giảm tốc độ lấy mẫu theo hệ số nguyên và trường hợp thứ hai là trường hợp tăng tốc độ lấy mẫu theo hệ số D nguyên Quá trình giảm tốc độ lấy mẫu theo hệ số (lấy mẫu xuống theo D) được gọi I D là thập phân Quá trình tăng tốc độ lấy mẫu theo hệ số nguyên (lấy mẫu theo ) được gọiI I là nội suy và thứ hai là trường hợp tốc độ lấy mẫu tăng theo hệ số nguyên Quá trình I giảm tốc độ lấy mẫu theo hệ số (downsampling by ) được gọi là decimation Quá D D trình tăng tốc độ lấy mẫu theo hệ số nguyên (lấy mẫu theo ) được gọi là nội suy và thứ I I hai là trường hợp tốc độ lấy mẫu tăng theo hệ số nguyên Quá trình giảm tốc độ lấy mẫuI theo hệ số (down sampling by ) được gọi là decimation Quá trình tăng tốc độ lấy D D mẫu theo hệ số nguyên (lấy mẫu theo ) được gọi là nội suy.I I

GIẢM BẰNG YẾU TỐ D

Trang 8

Thao tác cơ bản cần có trong số thập phân là lấy mẫu xuống của tín hiệu tốc độ cao thành tín hiệu tốc độ thấp Chúng tôi sẽ phát triển các mối quan hệ miền thời gian và miền tần số giữa hai tín hiệu này để hiểu aliasing miền tần số theo Sau đó, chúng ta sẽ nghiên cứu điều kiện cần thiết để thực hiện phép thập phân không có lỗi và cấu trúc hệ thống cần thiết để triển khai.

CÔNG CỤ GIẢM MẪU

Lưu ý rằng tín hiệu được lấy mẫu xuống có được bằng cách chọn một trong số D mẫu của và loại bỏ mẫu còn lại trong số mọi mẫu D, tức là

Biểu diễn sơ đồ khối của (10.6) được thể hiện trong Hình 10.3 Phần tử lấy mẫu xuống này thay đổi tốc độ xử lý và do đó về cơ bản khác với các phần tử sơ đồ khối khác mà chúng tôi đã sử dụng

Hình 10 3 Một phần tử thu nhỏ mẫu

Hình 10.3

trước đây Trên thực tế, chúng ta có thể chỉ ra rằng một hệ thống có chứa phần tử lấy mẫu xuống đang thay đổi theo độ dịch chuyển Tuy nhiên, thực tế này không cấm phân tích miền tần số của y(m) theo x(n) như chúng ta sẽ thấy sau.

VÍ DỤ 10.1

Sử dụng D = 2 và xác minh rằng bộ lấy mẫu xuống thay đổi theo thời gian Giải pháp

Trang 9

Tín hiệu được lấy mẫu xuống là Nếu bây giờ chúng ta trì hoãn ) một mẫu, chúng ta sẽ nhận được Tín hiệu được lấy mẫu xuống tương ứng là y1(m) = { , 2, 4, 2}, khác với 0

Triển khai MATLAB

MATLAB cung cấp hàm [y] = downsample (x, D) lấy mẫu của mảng đầu vào x thành mảng đầu ra y bằng cách giữ mọi mẫu thứ D bắt đầu bằng mẫu đầu tiên Tham số thứ ba tùy chọn “pha” chỉ định độ lệch mẫu phải là số nguyên trong khoảng từ 0 đến (D-1) Ví dụ

giảm mẫu theo hệ số 2 bắt đầu với mẫu đầu tiên Tuy nhiên

tạo ra một chuỗi hoàn toàn khác bằng cách lấy mẫu xuống, bắt đầu với mẫu thứ hai (nghĩa là bù bằng 1) Biểu diễn miền tần số của tín hiệu được lấy mẫu xuống Bây giờ chúng ta biểu thị theo bằng cách sử dụng quan hệ biến đổi z Hướng tới điều này, chúng tôi giới thiệu một chuỗi tốc độ cao ), được cho bởi

Rõ ràng, ¯x(n) có thể được xem như một dãy thu được bằng cách nhân x(n) với một chuỗi xung tuần hoàn p(n), với chu kỳ D, như được minh họa trong Hình 10.4 Biểu diễn chuỗi Fourier rời rạc của p(n) là

(10.8) Do đó chúng ta có thể viết

Trang 10

(10.10) như trong (10.6) Hình 10.4 cho thấy một ví dụ về các dãy , và được xác định

trong (10.7) – (10.10)

Hình 10 4 Đồ thị của việc giảm mẫu: (a) Tín hiệu gốc x(n), (b) Dãy xung lặp chu kỳ p(n) với chu kỳ D = 3, (c) Nhân x(n) với p(n), và (d) Tín hiệu bị giảm mẫu y(n).

Bây giờ biến đổi z của chuỗi đầu ra là

Trang 11

trong đó bước cuối cùng xuất phát từ thực tế là , ngoại trừ bội số của Bằng cáchD sử dụng các quan hệ trong (10.7) và (10.8) trong (10.11), chúng ta thu được

• giới thiệu chuỗi tốc độ cao , có số 0 ở giữa các giá trị được giữ lại và • biểu diễn chuỗi xung (10.8) cho chuỗi lấy mẫu định kỳ liên quan đến x(n) đến ¯x(n).

Bằng cách đánh giá trên vòng tròn đơn vị, chúng ta thu được phổ của tín hiệu đầu ra Vì tốc độ của là , nên biến tần số, mà chúng ta ký hiệu là ωy, tính bằng radian và tương đối với tốc độ lấy mẫu ,

Trang 12

Hình 10 5 Spectra of x(n) and y(m) in no-aliasing case

có liên quan bởi

Do đó, đúng như mong đợi, dải tần số được kéo giãn thành dải tần số tương ứng bằng quy trình giảm tần số lấy mẫu của tín hiệu.

Chúng tôi kết luận rằng phổ , thu được bằng cách đánh giá (10.12) trên vòng tròn đơn vị, có thể được biểu thị bằng 1

đó là phiên bản bí danh của phổ X(ωx) của x(n) Để tránh lỗi aliasing, người ta cần phổ X(ωx) nhỏ hơn toàn dải hoặc giới hạn băng tần (lưu ý rằng giới hạn băng tần này nằm trong miền tần số kỹ thuật số) Thực ra chúng ta phải có

( ) 0x

Trang 20

tạo ra hai tín hiệu khác nhau bằng cách lấy mẫu ngược, bắt đầu với mẫu thứ hai và mẫu thứ ba (nghĩa là bù 1), tương ứng Lưu ý rằng độ dài của các tín hiệu được lấy mẫu lại gấp I lần độ dài của tín hiệu ban đầu.

Biểu diễn miền tần số của tín hiệu được lấy mẫu lại y(m) Dãy v(m) có biến đổi

trong đó ωy biểu thị biến tần số tương ứng với tốc độ lấy mẫu mới (nghĩa là ) Bây giờ mối quan hệ giữa tốc độ lấy mẫu là , và do đó các biến tần số và có liên quan theo công thức

xy

Phổ và được minh họa trong Hình 10.10 Chúng tôi quan sát thấy rằng tốc độ lấy mẫu tăng, thu được bằng cách thêm zero mẫu giữa các giá trị liên tiếp của x(n), dẫn đến tín hiệu có phổ là sự lặp lại định kỳ gấp I của phổ tín hiệu đầu vào ).

MÁY NỘI SOI LÝ TƯỞNG

Vì chỉ các thành phần tần số của x(n) trong khoảng là duy nhất nên ảnh của X(ω) trên nên bị loại bỏ

Trang 21

Hình 10 10 Spectra of x(n) and v(m) where V (ωy) = X(ωyI)

bằng cách chuyển chuỗi v(m) qua bộ lọc thông thấp có đáp ứng tần số lý tưởng là

do đó, C = I là hệ số chuẩn hóa mong muốn.

Cuối cùng, chúng tôi chỉ ra rằng chuỗi đầu ra y(m) có thể được biểu diễn dưới dạng một tích chập của chuỗi v(n) với đáp ứng mẫu đơn vị h(n) của bộ lọc thông thấp

Trang 22

Bộ nội suy lý tưởng được thể hiện trong Hình 10.11.

Hình 10 11 Ideal interpolation by a factor I

Triển khai MATLAB

MATLAB cung cấp hàm [y,h] = interp(x,I) lấy mẫu lại tín hiệu trong mảng x với I nhân với tốc độ lấy mẫu ban đầu Mảng y được lấy lại mẫu thu được dài hơn tôi gấp nhiều lần—tức là, length(y) = I*length(x) Bộ lọc thông thấp lý tưởng được đưa ra trong (10.30) được xấp xỉ bằng đáp ứng xung của bộ lọc đối xứng, h, được thiết kế bên trong Nó cho phép các mẫu ban đầu đi qua không đổi và nội suy giữa các mẫu sao cho sai số bình phương trung bình giữa chúng và các giá trị lý tưởng của chúng được giảm thiểu Tham số tùy chọn thứ ba L chỉ định độ dài của bộ lọc đối xứng là 2*L*I+1 và ngưỡng tham số tùy chọn thứ tư chỉ định tần số cắt của tín hiệu đầu vào theo đơn vị π Các giá trị mặc định là L=5 và ngưỡng = 0,5 Do đó, nếu I=2, thì độ dài của bộ lọc đối xứng là 21 với L=5 mặc định.

VÍ DỤ 10.4

Trang 23

Đặt Tạo các mẫu của x(n) và nội suy chúng bằng cách sử dụng để hiển thị kết quả của phép nội suy.

Giải pháp

Chúng tôi sẽ vẽ các phân đoạn giữa của tín hiệu để tránh các hiệu ứng cuối do bộ lọc thông thấp mặc định trong chức năng xen kẽ Tập lệnh MATLAB sau đây trình bày chi tiết về các thao tác này và Hình 10.12 thể hiện sơ đồ của các chuỗi.

Trang 24

Hình 10 12 Original and interpolated signals in Example 10.4

Từ Hình 10.11, chúng ta quan sát thấy rằng các chuỗi nội suy cho cả ba giá trị của

Trang 25

I đều phù hợp và biểu thị tín hiệu hình sin ban đầu x(n) ở tốc độ lấy mẫu cao hơn Trong trường hợp I = 8, chuỗi kết quả dường như không hoàn toàn có dạng hình sin Điều này có thể là do bộ lọc thông thấp không gần với bộ lọc lý tưởng.

VÍ DỤ 10.5

Kiểm tra đáp ứng tần số của bộ lọc thông thấp được sử dụng trong phép nội suy tín hiệu trong Ví dụ 10.4.

Giải pháp

Đối số tùy chọn thứ hai trong hàm interp cung cấp đáp ứng xung mà từ đó chúng ta có thể tính toán đáp ứng tần số, như thể hiện trong tập lệnh MATLAB sau đây.

Trang 26

Biểu đồ đáp ứng tần số được thể hiện trong Hình 10.13 Ba biểu đồ đầu tiên dành cho L=5 và, như mong đợi, tất cả các bộ lọc đều là thông thấp với các cạnh dải thông xấp xỉ xung quanh tần số π/I và độ lợi của I Cũng lưu ý rằng các bộ lọc không có chuyển tiếp sắc nét và do đó không phải là phép tính gần đúng tốt đến bộ lọc lý tưởng Biểu đồ cuối cùng cho thấy phản hồi đối với L = 10, biểu thị sự chuyển đổi sắc nét hơn, điều được mong đợi Bất kỳ giá trị nào vượt quá L = 10 đều dẫn đến thiết kế bộ lọc không ổn định và do đó nên tránh

Hình 10 13 Filter frequency responses in Example 10.5

Trang 27

CHUYỂN ĐỔI TỶ LỆ MẪU BẰNG YẾU TỐ HỢP LÝ I/D

Đã thảo luận về các trường hợp đặc biệt của phép thập phân (lấy mẫu giảm theo hệ số ) và phép nội suy (lấy mẫu tăng theo hệ số ), bây giờ chúng ta xem xét trường hợp D I chung của chuyển đổi tốc độ lấy mẫu theo hệ số hữu tỷ Về cơ bản, chúng ta có thể đạt được sự chuyển đổi tốc độ lấy mẫu này bằng cách thực hiện phép nội suy đầu tiên theo hệ số và sau đó giảm đầu ra của bộ nội suy theo hệ số Nói cách khác, việc chuyển đổi I D tốc độ lấy mẫu theo hệ số hữu tỷ được thực hiện bằng cách xếp tầng một nội suy với một bộ giải mã, như được minh họa trong Hình 10.14 Chúng tôi nhấn mạnh rằng tầm quan trọng của việc thực hiện phép nội suy trước và phép thập phân thứ hai là để bảo toàn các đặc tính phổ mong muốn của Hơn nữa, với cấu hình tầng được minh họa trong Hình 10.14,

Hình 10 14 Cascade of interpolator and decimator for sampling rate conver-sion by a factor I/D

Hình 10.15 Đáp ứng tần số của bộ lọc kết hợp phải kết hợp các hoạt động lọc cho cả phép nội suy và phép thập phân, và do đó, lý tưởng nhất là nó phải sở hữu đặc tính đáp

Giải thích (10.36): Lưu ý rằng và do đó trong Hình 10.15 tuần hoàn với chu kỳ 2π/I Như vậy, nếu

Trang 28

•, khi đó bộ lọc H(ωv) cho phép toàn bộ chu kỳ đi qua và không có bộ lọc thông thấp thực.

• , thì trước tiên bộ lọc phải cắt bớt chu kỳ cơ bản của )để tránh lỗi aliasing trong giai đoạn thập phân (D ↓1) tiếp theo.

Đặt hai quan sát này lại với nhau, chúng ta có thể nói rằng khi , chúng ta có phép nội suy ròng và không yêu cầu làm mịn ngoài việc trích xuất chu kỳ cơ bản của Về mặt này, hoạt động như một bộ lọc thông thấp như trong bộ nội suy lý tưởng Mặt khác, nếu , thì chúng ta có số thập phân ròng Do đó, trước tiên cần phải cắt ngắn ngay cả chu kỳ cơ bản của để đưa dải tần số xuống và để tránh hiện tượng aliasing trong phép thập phân diễn ra sau đó Về mặt này, hoạt động như một bộ lọc làm mịn trong bộ lọc thập phân lý tưởng Khi hoặc bằng 1, bộ suy giảm chung / bộ nội suy trong Hình 10.15 cùng với D I (10.36) lần lượt giảm xuống thành bộ nội suy lý tưởng hoặc bộ suy giảm số thập phân trong trường hợp đặc biệt.

Hình 10 15 Method for sampling rate conversion by a factor I/D

Trong miền thời gian, đầu ra của bộ lấy mẫu ngược là chuỗi

Trang 29

bằng cách lấy mẫu xuống chuỗi {w(k)} theo hệ số D Do đó

Các hoạt động này được thể hiện trong Hình 10.16 cho I = 3 và D = 2 Rõ ràng từ (10.41) và Hình 10.16, đầu ra y(m) thu được bằng cách chuyển chuỗi đầu vào x(n) qua bộ lọc biến thiên theo thời gian có đáp ứng xung.

( , ) [ (( )) ]I

g n m h nI mD m n, (10.43)

Trang 30

Hình 10 16 Examples of signals x(n), v(k), w(k), and y(m) in the sampling rate converter of Figure 10.15 for I = 3 and D =

trong đó h(k) là đáp ứng xung của bộ lọc thông thấp bất biến theo thời gian hoạt động ở tốc độ lấy mẫu Chúng tôi quan sát thêm rằng với mọi số nguyên k,

( , ) [ (( )) )I [ (( )) ]I g n m kI h nI mD kDI h nI mD

( , )

Do đó g (n, m) tuần hoàn trong biến m với chu kỳ I.

Về độ phức tạp tính toán của bộ lọc thông thấp trong bộ lấy mẫu lại chung, chúng

Trang 31

tôi lưu ý rằng nó chỉ có đầu vào khác 0 cho mỗi mẫu I và đầu ra chỉ được yêu cầu cho mỗi mẫu D Nếu chúng tôi sử dụng triển khai FIR cho bộ lọc thông thấp này, chúng tôi chỉ cần tính toán đầu ra của nó một trong số mọi mẫu D Tuy nhiên, nếu thay vào đó chúng ta sử dụng triển khai IIR, chúng ta thường phải tính toán các đầu ra trung gian cũng do tính chất đệ quy của bộ lọc Tuy nhiên, cả hai loại bộ lọc đều được hưởng lợi từ việc tiết kiệm tính toán do đầu vào thưa thớt của chúng.

Biểu diễn miền tần số của tín hiệu được lấy mẫu lại y(m)Các mối quan hệ miền

tần số có thể thu được bằng cách kết hợp các kết quả của quá trình nội suy và thập phân Như vậy, phổ ở đầu ra của bộ lọc tuyến tính có đáp ứng xung h(k) là

trong đó Do bộ lọc tuyến tính ngăn hiện tượng aliasing như được ngụ ý bởi (10.45), nên phổ của chuỗi đầu ra được cho bởi (10.46) giảm xuống còn

Triển khai MATLAB

MATLAB cung cấp hàm [y,h] = resample(x,I,D) để lấy mẫu lại tín hiệu trong mảng x với I/D nhân với tốc độ lấy mẫu ban đầu Kết quả là mảng được lấy lại mẫu y dài hơn I/D lần (hoặc mức trần của nó nếu tỷ lệ không phải là số nguyên)—tức là, length(y) = ceil(I/D)*length(x) Hàm xấp xỉ bộ lọc anti-aliasing (thông thấp) được đưa ra trong

Trang 32

(10.36) bởi bộ lọc FIR, h, được thiết kế (nội bộ) bằng cách sử dụng cửa sổ Kaiser Nó cũng bù cho độ trễ của bộ lọc.

Độ dài của bộ lọc FIR h mà việc lấy mẫu lại sử dụng tỷ lệ với tham số thứ tư (tùy chọn) L có giá trị mặc định là 10 Đối với L=0, việc lấy mẫu lại thực hiện phép nội suy lân cận gần nhất Tham số tùy chọn thứ năm beta (giá trị mặc định 5) có thể được sử dụng để chỉ định tham số suy giảm băng chặn cửa sổ Kaiser β Các đặc tính của bộ lọc có thể được nghiên cứu bằng cách sử dụng đáp ứng xung h.

Trang 33

Các biểu đồ kết quả được hiển thị trong Hình 10.17 Tín hiệu ban đầu có 16 mẫu trong một chu kỳ của dạng sóng cosin Vì chuyển đổi tỷ lệ lấy mẫu đầu tiên bằng lớn hơn một, nên hiệu ứng tổng thể là nội suy Tín hiệu thu được có mẫu trong một khoảng thời

Trang 34

gian Hai hệ số chuyển đổi tỷ lệ lấy mẫu khác nhỏ hơn một; do đó, hiệu quả tổng thể là giảm Các tín hiệu thu được lần lượt có và mẫu mỗi chu ki

THIẾT KẾ BỘ LỌC FIR ĐỂ CHUYỂN ĐỔI TỶ LỆ LẤY MẪU

Trong thực tế thực hiện các bộ chuyển đổi tốc độ lấy mẫu, chúng ta phải thay thế các phương trình bộ lọc thông thấp lý tưởng (10.20), (10.30), và (10.36) bằng bộ lọc apractical bậc hữu hạn Mạch lọc thông thấp có thể được thiết kế để có

Hình 10.17: Tính hiệu gốc và tín hiệu lấy lại mẫu trong ví dụ 10.6

pha tuyến tính, một gợn sóng băng thông được chỉ định và suy giảm băng dừng Bất kỳ kỹ thuật thiết kế bộ lọc FIR tiêu chuẩn, nổi tiếng nào (ví dụ: cửa sổ phương pháp, phương pháp lấy mẫu tần số) có thể được sử dụng để thực hiện thiết kế này Chúng tôi xem xét các bộ lọc FIR pha tuyến tính cho mục đích này vì tính dễ dàng của chúng của thiết kế và bởi vì chúng rất phù hợp với một giai đoạn decimator nơi chỉ cần một trong các kết quả D [xem thảo luận sau (10.44) trên trang 504] Đầu tiên chúng ta sẽ thảo luận về nội suy số nguyên, tiếp theo là số nguyên decimators và sau đó là các bộ lấy mẫu lại hợp lý Điểm nhấn chính sẽ là về thông số kỹ thuật của các bộ lọc

Trang 35

lowpass FIR này, vì vấn đề thiết kế đã được xem xét trong Chương 7.

NỘI SUY SỐ NGUYÊN FIR

Thay thế bộ lọc lý tưởng của hệ thống được đưa ra trên trang 498 bằng FIR bộ lọc, chúng tôi có được hệ thống được hiển thị trong Hình 10.18 Phương trình liên quan liên quan đến các biến đổi Fourier V (ω) và X(ω) là (10,28), lặp lại

bên dưới để thuận tiện

V (ω) = X(ωI)

Xem xét độ nén tần số của I và biên độ yêu cầu hệ số tỷ lệ của I, bộ lọc lowpass lý tưởng được xác định trong (10,30) và (10.33)

HI(ω) = I, |ω| < π/I;

0, nếu không (10.49)

Triển khai MATLAB Để thiết kế bộ lọc FIR pha tuyến tính cho

sử dụng trong hoạt động nội suy (và như chúng ta sẽ thấy sau cho phép thập phân), MATLAB cung cấp hàm h = intfilt(I,L,alpha) Khi sử dụng

trên một dãy xen kẽ với các số không liên tiếp I-1 giữa mọi I

mẫu, hàm thực hiện nội suy giới hạn băng tần lý tưởng bằng cách sử dụng mẫu 2 * L không gần nhất Nó giả định rằng băng thông của tín hiệu x(n) là alpha lần π radian/mẫu—tức là, alpha=1 có nghĩa là tín hiệu đầy đủ băng thông Độ dài của mảng phản ứng xung bộ lọc h là 2 * I * L-1.

Bộ lọc được thiết kế giống với bộ lọc được sử dụng bởi hàm interp Do đó, tham số L nên

Trang 36

được lựa chọn cẩn thận để tránh mất ổn định số Nó phải là một giá trị nhỏ hơn cho giá trị I cao hơn nhưng không quá mười.

VÍ DỤ 10.7 Thiết kế bộ lọc nội suy FIR pha tuyến tính để nội suy tín hiệu theo hệ số của 4, sử dụng phương pháp giới hạn bang tầng(bandlimited )

Cách giải quyết: Chúng ta sẽ khám phá hàm intfilt cho thiết kế sử dụng L = 5 và nghiên cứu Ảnh hưởng của alpha đến thiết kế bộ lọc Tập lệnh MATLAB sau đây cung

[Hr,w,a,L] = Hr_Type1(h); Hr_min = min(Hr); w_min = find(Hr == Hr_min); H = abs(freqz(h,1,w)); Hdb = 20*log10(H/max(H)); min_attn = Hdb(w_min); subplot(2,2,1); plot(ww/pi,Hr,’g’,’linewidth’,1.0); axis([0,1,-1,5]);

set(gca,’xtick’,[0,1/I,1],’ytick’,[0,I]); grid; ylabel(’Amplitude’); title(’Amplitude Response: alpha = 1’,’fontsize’,TF)

subplot(2,2,3); plot(w/pi,Hdb,’m’,’linewidth’,1.0); axis([0,1,-50,10]); set(gca,’xtick’,[0,1/I,1],’ytick’,[-50,round(min_attn),0]); grid

ylabel(’Decibels’); xlabel(’\omega/\pi’, ’fontsize’,10); title(’Log-mag Response: alpha = 1’,’fontsize’,TF) % (b) Partial signal bandwidth: alpha = 0.75 alpha = 0.75; h = intfilt(I,L,alpha);

[Hr,w,a,L] = Hr_Type1(h); Hr_min = max(Hr(end/2:end)); w_min = find(Hr == Hr_min); H = abs(freqz(h,1,w)); Hdb = 20*log10(H/max(H)); min_attn = Hdb(w_min);

subplot(2,2,2); plot(ww/pi,Hr,’g’,’linewidth’,1.0); axis([0,1,-1,5]); set(gca,’xtick’,[0,1/I,1],’ytick’,[0,I]); grid; ylabel(’Amplitude’); title(’Amplitude Response: alpha = 0.75’,’fontsize’,TF)

Trang 37

subplot(2,2,4); plot(w/pi,Hdb,’m’,’linewidth’,1.0); axis([0,1,-50,10]); set(gca,’xtick’,[0,1/I,1],’ytick’,[-50,round(min_attn),0]); grid ylabel(’Decibels’); xlabel(’\omega/\pi’, ’fontsize’,10); title(’Log-mag Response: alpha = 0.75’,’fontsize’,TF

Các ô được thể hiện trong Hình 10.19 Đối với trường hợp băng thông đầy đủ của alpha = 1,Bộ lọc có nhiều gợn sóng hơn ở cả băng thông và băng dừng với suy giảm băng chặn tối thiểu là 22 DB Điều này là do quá trình chuyển đổi bộ lọc

Trang 38

Hình 10.19 Biểu đồ thiết kế bộ lọc nội suy FIR cho I = 4 và L = 5

Dải rất hẹp Đối với alpha = 0,75, thông số kỹ thuật của bộ lọc khoan dung hơn, và do đó phản ứng của nó được xử lý tốt với sự suy giảm điểm dừng tối thiểu là 40 DB Lưu ý rằng chúng tôi không có toàn quyền kiểm soát các thông số thiết kế khác Những vấn đề này được thảo luận chi tiết hơn trong phần này.

Trong ví dụ sau, chúng tôi thiết kế bộ lọc nội suy FIR cân bằng pha tuyến tính bằng thuật toán Parks-McClellen

VÍ DỤ 10.8 Thiết kế một nội suy làm tăng tốc độ lấy mẫu đầu vào theo hệ số I = 5 Sử dụng thuật toán firpm để xác định các hệ số của bộ lọc FIR

có gợn sóng 0,1 dB trong băng thông và giảm ít nhất 30 dB trong Băng dải Chọn giá trị hợp lý cho tần số cạnh băng tần.

Trang 39

Giải pháp Tần số cắt băng tần phải là ωp = π / I = 0,2π Để có được một hợp lý

giá trị cho chiều dài bộ lọc, chúng tôi chọn chiều rộng chuyển tiếp là 0,12π, cho Tần số cắt băng chặn ωs = 0,32π Lưu ý rằng mức tăng danh nghĩa của

bộ lọc trong băng thông phải bằng I = 5,which means that the ripple values computed using the decibel values are scaled by 5 Một bộ lọc với chiều dài M = 31 đạt được các thông số kỹ thuật thiết kế được đưa ra ở trên Chi tiết được đưa trong tập lệnh Matlab sau

I = 5; Rp = 0.1; As = 30; wp = pi/I; ws = wp+pi*0.12; [delta1,delta2] = db2delta(Rp,As); weights = [delta2/delta1,1]; F = [0,wp,ws,pi]/pi; A = [I,I,0,0];

h = firpm(30,F,A,weights); n = [0:length(h)-1];

[Hr,w,a,L] = Hr_Type1(h); Hr_min = min(Hr); w_min = find(Hr == Hr_min); H = abs(freqz(h,1,w)); Hdb = 20*log10(H/max(H)); min_attn = Hdb(w_min); Hf1 = figure(’units’,’inches’,’position’,[1,1,6,4],

subplot(2,2,1); Hs1 = stem(n,h,’filled’); set(Hs1,’markersize’,2);

axis([-1,length(n),-0.5,1.5]); ylabel(’Amplitude’); xlabel(’n’,’vertical’,’bottom’); Title(’Impulse Response’,’fontsize’,TF);

subplot(2,2,3); plot(ww/pi,Hr,’m’,’linewidth’,1.0); axis([0,1,-1,6]); set(gca,’xtick’,[0,wp/pi,ws/pi,1],’ytick’,[0,I]); grid; ylabel(’Amplitude’); title(’Amplitude Response’,’fontsize’,TF); xlabel(’Frequency in \pi units’); subplot(2,2,2); plot(w/pi,Hdb,’m’,’linewidth’,1.0); axis([0,1,-50,10]);

Trang 40

delta1 = round(delta1*I*100)/100; delta2 = round(delta2*I*100)/100; set(AX(1),’xtick’,[0,wp/pi,ws/pi,1],’ytick’,[-delta1,0,delta1],’Ycolor’,’g’); set(AX(2),’xtick’,[0,wp/pi,ws/pi,1],’ytick’,[-delta2,0,delta2],’Ycolor’,’r’); set(H1,’color’,’g’,’linewidth’,1); set(H2,’color’,’r’,’linewidth’,1); title(’Scaled Ripples’,’fontsize’,TF); xlabel(’Frequency in \pi units’);

Các phản hồi của bộ lọc FIR được thiết kế được đưa ra trong Hình 10.20 Mặc bộ lọc này vượt qua tín hiệu ban đầu, có thể một số năng lượng quang phổ lân cận cũng có thể bị rò rỉ qua nếu tín hiệu có băng thông đầy đủ của π radian Do đó, chúng ta cần thiết kế thông số kỹ thuật tốt hơn, được thảo luận nhiều hơn trong phần này

Hình 10.20 : Phản hồi của bộ lọc nội suy FIR trong Ví dụ 10.8 Triển khai MATLAB Để sử dụng bộ lọc FIR để nội suy

Mục đích (chẳng hạn như chức năng được thiết kế trong ví dụ trên), MATLAB đã

Ngày đăng: 16/04/2024, 16:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w