Báo cáo Chương 5 NHÓM KHÁNH PHI NGUYỄN TUẤN 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN TỬ - VIỄN THÔNG


========== □□ ==========

BÁO CÁO CHƯƠNG 5

NGƯỜI HƯỚNG DẪN: TS. Võ Duy Phúc

NHÓM SVTH : Nguyễn Đình Khánh


Phạm Xuân Phi
Nguyễn Tuấn

Đà Nẵng, 2024
CHƯƠNG 1: LÝ THUYẾT

1.1 Bộ lọc là gì?


1.1.1 Khái niệm và phân loại
Bộ lọc là một thiết bị hoặc phần mềm được thiết kế để chọn lọc hoặc biến
đổi dữ liệu theo một cách nhất định dựa trên một tập các quy tắc hoặc thuật toán.
Mục đích chính của bộ lọc là loại bỏ hoặc giảm thiểu các thành phần không
mong muốn từ dữ liệu đầu vào, hoặc tạo ra một biến đổi của dữ liệu đó phù hợp
với mục tiêu cụ thể.
Bộ lọc thường được sử dụng trong các ứng dụng âm thanh, truyền thông, và
các hệ thống điện tử khác. Nó giúp loại bỏ các nhiễu tần số không mong muốn
trong tín hiệu, cải thiện chất lượng âm thanh, tăng cường độ rõ nét và giảm các
sai lệch tín hiệu.
Bộ lọc có thể được phân loại theo nhiều cách khác nhau, tuy nhiên, phân
loại chính dựa trên cách xử lý tín hiệu của chúng. Các phân loại chính của bộ lọc
bao gồm các loại bộ lọc như sau:
• Bộ lọc tuyến tính và bộ lọc phi tuyến: Bộ lọc tuyến tính xử lý tín hiệu
đầu vào bằng cách sử dụng các toán tử tuyến tính như cộng, trừ, nhân
và chia. Trong khi đó, bộ lọc phi tuyến sử dụng các toán tử phi tuyến,
chẳng hạn như lấy môđun, lấy logarit, hoặc các phép toán khác để xử
lý tín hiệu đầu vào.
• Bộ lọc rời rạc và bộ lọc liên tục: Bộ lọc rời rạc hoạt động trên các tín
hiệu được mô tả dưới dạng các giá trị rời rạc, thường là các mẫu được
lấy từ tín hiệu analog. Trong khi đó, bộ lọc liên tục xử lý các tín hiệu
analog mà không yêu cầu chuyển đổi thành tín hiệu rời rạc trước đó.
• Bộ lọc số và bộ lọc tần số: Bộ lọc số là bộ lọc thực hiện xử lý trên các
tín hiệu được mô tả dưới dạng các giá trị số. Trong khi đó, bộ lọc tần
số là bộ lọc thực hiện xử lý trên tín hiệu được mô tả dưới dạng một
hàm tần số.
• Bộ lọc chập và bộ lọc phân tán: Bộ lọc chập sử dụng một bộ lọc để
tìm các tính năng của tín hiệu trong một khoảng thời gian nhất định.
Trong khi đó, bộ lọc phân tán sử dụng nhiều bộ lọc để phân tích tín
hiệu ở nhiều mức độ tần số khác nhau.
Tuy nhiên trong thực tế chúng ta lại gặp các bộ lọc với những chức năng và
tên gọi khác nhau. Chúng được sử dụng trong nhiều lĩnh vực khác nhau và dưới
đây là một số bộ lọc phổ biến nhất:
• Bộ lọc thông thấp (Low-pass filter): Chặn các tín hiệu có tần số cao
hơn ngưỡng xác định, cho phép các tín hiệu có tần số thấp hơn đi qua.
Bộ lọc này thường được sử dụng trong xử lý tín hiệu âm thanh và
hình ảnh.
• Bộ lọc thông cao (High-pass filter): Chặn các tín hiệu có tần số thấp
hơn ngưỡng xác định, cho phép các tín hiệu có tần số cao hơn đi qua.
Bộ lọc này thường được sử dụng trong xử lý tín hiệu âm thanh và
hình ảnh.
• Bộ lọc thông dải (Band-pass filter): Chặn các tín hiệu có tần số nằm
ngoài một khoảng tần số xác định, cho phép các tín hiệu có tần số
nằm trong khoảng đó đi qua. Bộ lọc này thường được sử dụng trong
xử lý tín hiệu âm thanh và hình ảnh.
• Bộ lọc chống nhiễu (Noise filter): Loại bỏ tạp âm và nhiễu khỏi tín
hiệu. Bộ lọc này thường được sử dụng trong các ứng dụng liên quan
đến điện tử và viễn thông.
• Bộ lọc thông thấp và thông cao (Low-pass and high-pass filter): Kết
hợp cả bộ lọc thông thấp và bộ lọc thông cao để chặn các tín hiệu ở cả
hai đầu của phổ tần số. Bộ lọc này thường được sử dụng trong xử lý
tín hiệu âm thanh và hình ảnh.
• Bộ lọc FIR (Finite Impulse Response): Sử dụng một số hữu hạn mẫu
tin hiệu đầu vào để tính toán đầu ra, được sử dụng rộng rãi trong xử lý
tín hiệu kỹ thuật số.
• Bộ lọc IIR (Infinite Impulse Response): Sử dụng cả các mẫu tin hiệu
đầu vào trước đó và các mẫu tin hiệu đầu vào hiện tại để tính toán đầu
ra, được sử dụng rộng rãi trong xử lý tín hiệu kỹ thuật số.
Trên đây chỉ là một số loại bộ lọc phổ biến và không phải là tất cả các loại
bộ lọc được sử dụng trong thực tế.

Hình 1.1: Một số loại bộ lọc


Bộ lọc cũng có thể được phân loại theo các loại thành phần được sử dụng.
Các thành phần này bao gồm các tụ điện, cuộn cảm và điện trở. Bộ lọc tụ điện
sử dụng các tụ điện để lọc tín hiệu. Các bộ lọc cuộn cảm sử dụng các cuộn cảm
để lọc tín hiệu. Và cuối cùng, bộ lọc điện trở sử dụng các điện trở để lọc tín
hiệu. Mỗi loại bộ lọc có ưu điểm và hạn chế riêng, và việc lựa chọn bộ lọc phù
hợp phụ thuộc vào loại tín hiệu và yêu cầu lọc của nó.

1.1.2 Nguyên lý hoạt động


Bộ lọc hoạt động bằng cách loại bỏ hoặc giảm thiểu một dải tần số cụ thể
của tín hiệu. Khi tín hiệu đi qua bộ lọc, các thành phần tần số nằm trong dải tần
số bị loại bỏ hoặc giảm đáng kể, trong khi các thành phần tần số ở các dải tần số
khác sẽ được giữ nguyên hoặc giảm ít hơn. Kết quả là tín hiệu đầu ra có dải tần
số hẹp hơn hoặc không chứa các thành phần tần số không mong muốn.
Cách hoạt động của bộ lọc phụ thuộc vào loại bộ lọc và mục đích sử dụng
của nó. Các bộ lọc có thể hoạt động dựa trên các thành phần điện tử như tụ,
cuộn cảm, điện trở, hoặc các thuật toán xử lý tín hiệu kỹ thuật số để thực hiện
chức năng lọc.
Các bộ lọc thường được sử dụng trong các ứng dụng khác nhau như xử lý
âm thanh, xử lý ảnh, truyền thông, viễn thông, y tế và các ứng dụng khác. Các
bộ lọc cũng có thể được sử dụng để giảm tiếng ồn, loại bỏ nhiễu và cải thiện
chất lượng tín hiệu.
Bộ lọc hoạt động bằng cách thực hiện một số phép tính toán trên tín hiệu
đầu vào để tạo ra tín hiệu đầu ra mới với các tính chất khác nhau. Các phép tính
này có thể được thực hiện theo nhiều cách khác nhau tùy thuộc vào loại bộ lọc
và mục đích sử dụng.
Ví dụ, bộ lọc thông thấp có thể được sử dụng để loại bỏ tần số cao hơn
một ngưỡng nhất định từ tín hiệu đầu vào, trong khi bộ lọc thông cao lại có thể
được sử dụng để loại bỏ tần số thấp hơn một ngưỡng nhất định. Bộ lọc có thể
được sử dụng để giảm tiếng ồn, cải thiện chất lượng âm thanh, tăng độ phân giải
ảnh, và nhiều ứng dụng khác.
Để thực hiện các phép tính này, bộ lọc thường sử dụng các tham số được
thiết lập trước, bao gồm các thông số như độ dốc, độ rộng băng thông, tần số
cắt, hệ số truyền, và nhiều tham số khác. Các tham số này được sử dụng để điều
chỉnh tính chất của bộ lọc để đáp ứng các yêu cầu cụ thể của ứng dụng.

1.1.3 Ưu nhược điểm


Mặc dù bộ lọc hay mạch lọc được sử dụng rất phổ biến trong điện tử và
chúng ta thường biết đến với những ưu điểm của nó. Tuy nhiên bên cạnh đó thì
nó cũng có không ít những nhược điểm.
Ưu điểm :
• Giảm nhiễu: Bộ lọc có thể giảm nhiễu và loại bỏ các tạp âm không
mong muốn khỏi tín hiệu.
• Cải thiện chất lượng: Bộ lọc có thể cải thiện chất lượng tín hiệu
bằng cách loại bỏ các nhiễu và tạp âm.
• Tiết kiệm thời gian: Bộ lọc có thể giảm thời gian xử lý tín hiệu
bằng cách loại bỏ các thành phần không mong muốn.
• Dễ dàng triển khai: Bộ lọc có thể được triển khai dễ dàng trên nhiều
nền tảng khác nhau và có thể được tích hợp vào các ứng dụng khác
nhau.
• Độ chính xác cao: Bộ lọc có thể được thiết kế để loại bỏ chính xác
các thành phần không mong muốn khỏi tín hiệu.

Nhược điểm :
• Giảm thông tin: Bộ lọc có thể giảm thông tin trong tín hiệu nếu
được áp dụng một cách sai lầm.
• Độ phức tạp tính toán: Các bộ lọc phức tạp có thể đòi hỏi tính toán
và tài nguyên máy tính cao.
• Không thể hoàn hảo: Không có bộ lọc nào hoàn hảo, và việc áp
dụng bộ lọc có thể dẫn đến mất mát hoặc thay đổi không mong
muốn của tín hiệu.
• Không ổn định: Một số loại bộ lọc có thể không ổn định trong một
số tình huống hoặc không thể áp dụng được trên mọi loại tín hiệu.
• Phụ thuộc vào thông số đầu vào: Hiệu quả của bộ lọc phụ thuộc vào
thông số đầu vào của tín hiệu và các thông số của bộ lọc.

1.1.4 Ứng dụng


Các bộ lọc có rất nhiều ứng dụng khác nhau, tùy thuộc vào lĩnh vực sử dụng
và mục đích sử dụng cụ thể. Dưới đây là một số ứng dụng của mạch lọc :
• Xử lý tín hiệu: Bộ lọc được sử dụng để xử lý tín hiệu âm thanh và
hình ảnh. Ví dụ, các bộ lọc có thể được sử dụng để giảm tiếng ồn
trong các bức ảnh hoặc video.
• Xử lý tín hiệu y tế: Bộ lọc được sử dụng trong y tế để lọc các tín hiệu
về tim, não và các cơ quan khác. Các bộ lọc này giúp phân tích dữ
liệu y tế và phát hiện các bất thường trong sức khỏe.
• Mạng lưới viễn thông: Bộ lọc được sử dụng trong các mạng lưới viễn
thông để giảm nhiễu và đảm bảo chất lượng tín hiệu. Các bộ lọc này
giúp tăng khả năng truyền tải tín hiệu và giảm thiểu các sai sót.
• Điều khiển robot: Bộ lọc được sử dụng trong các ứng dụng điều khiển
robot. Các bộ lọc này giúp lọc tạp âm và nhiễu trong các tín hiệu điều
khiển và tăng độ chính xác của các chức năng điều khiển.
• Xử lý tín hiệu thời gian thực: Bộ lọc được sử dụng trong các ứng
dụng xử lý tín hiệu thời gian thực, chẳng hạn như xử lý tín hiệu âm
thanh và hình ảnh trực tiếp. Các bộ lọc này giúp loại bỏ nhiễu và cải
thiện chất lượng tín hiệu.

1.2 Bộ lọc Digital?


1.2.1 Khái niệm và phân loại
Bộ lọc kỹ thuật số là thiết bị điện tử kỹ thuật số được sử dụng để lọc tín
hiệu. Chúng hoạt động bằng cách sử dụng phép biến đổi Fourier để chuyển tín
hiệu từ dạng thời gian sang dạng tần số, sau đó áp dụng các phép toán số để
loại bỏ hoặc tăng cường các thành phần tần số mong muốn trong tín hiệu. Kết
quả cuối cùng được biến đổi ngược lại sang dạng thời gian.
So với bộ lọc analog, bộ lọc kỹ thuật số có khả năng lọc tín hiệu vượt trội
hơn do độ chính xác cao hơn khi sử dụng các phép tính số. Chúng cũng dễ
thiết kế và mở rộng chức năng hơn. Điều này giúp bộ lọc kỹ thuật số trở nên
phổ biến trong các hệ thống xử lý tín hiệu số ngày nay.
Một bộ lọc kỹ thuật số là một hệ thống mà thực hiện các phép toán trên
tín hiệu rời rạc và lấy mẫu thời gian, để tăng cường hoặc giảm bớt một số khía
cạnh của rằng tín hiệu đặc biệt như có thể cần thiết. Các đặc tính của bộ lọc kỹ
thuật số có thể dễ dàng thay đổi dưới sự điều khiển của phần mềm. Vì vậy,
chúng được sử dụng rộng rãi trong các ứng dụng lọc thích ứng trong truyền
thông như khử tiếng vang trong modem, khử tiếng ồn và nhận dạng giọng nói.
Bộ lọc số được đặc trưng bởi hàm truyền của nó hoặc tương đương
là phương trình sai phân của nó . Phân tích toán học của hàm truyền có thể mô
tả cách nó phản ứng với bất kỳ đầu vào nào. Như vậy, việc thiết kế bộ lọc bao
gồm việc phát triển các thông số kỹ thuật phù hợp với vấn đề (ví dụ: bộ lọc
thông thấp bậc hai với tần số cắt cụ thể), sau đó tạo ra hàm truyền đáp ứng các
thông số kỹ thuật.
Hàm truyền cho bộ lọc kỹ thuật số tuyến tính, bất biến theo thời gian có
thể được biểu diễn dưới dạng hàm truyền trong miền Z ; nếu là nhân quả thì có
dạng:
trong đó thứ tự của bộ lọc lớn hơn N hoặc M .

Các loại bộ lọc kỹ thuật số.


• Bộ lọc FIR: Có phản hồi đầu ra hữu hạn, dễ thiết kế, thường có pha
tuyến tính.
• Bộ lọc IIR: Có phản hồi đầu ra vô hạn, dựa trên bộ lọc tương tự, hiệu
quả tính toán cao hơn FIR.
• Bộ lọc Lattice: Triển khai FIR hoặc IIR dưới dạng mạng lattice,
thường dùng cho xử lý giọng nói.
• Bộ lọc thích ứng: Có thể thay đổi đặc tính dựa trên tín hiệu vào.

Hình 2.2: Bộ lọc FIR

Hình 2.3: Bộ lọc IIR

1.2.2 Nguyên lý hoạt động


Nguyên lý hoạt động của bộ lọc số dựa trên việc xử lý tín hiệu số để loại
bỏ các thành phần không mong muốn hoặc nhiễu từ tín hiệu đầu vào. Bộ lọc số
thực hiện các phép toán số học trên dữ liệu số để chặn hoặc giảm thiểu các tần
số không cần thiết và chỉ cho phép các tín hiệu ở các dải tần số cụ thể đi qua.
Hình 2.4: Nguyên lý bộ lọc kỹ thuật số
Chuyển đổi tín hiệu analog sang tín hiệu số: Đầu tiên, tín hiệu analog đầu
vào được chuyển đổi thành tín hiệu số bằng cách sử dụng một bộ chuyển đổi tín
hiệu analog-số (ADC). Quá trình này chuyển đổi các giá trị liên tục của tín hiệu
thành các giá trị rời rạc tại các điểm thời gian cố định.
Xử lý tín hiệu số: Sau khi tín hiệu được chuyển đổi sang dạng số, bộ lọc
số sẽ thực hiện các phép toán số học trên dữ liệu số để loại bỏ các thành phần
không mong muốn. Các phép toán này có thể bao gồm phép nhân, phép cộng,
phép trừ, phép chia, và các phép toán khác tùy thuộc vào loại bộ lọc và mục đích
sử dụng.
Áp dụng hàm truyền: Bộ lọc số sử dụng hàm truyền để xác định cách tín
hiệu đầu vào sẽ được xử lý. Hàm truyền có thể được biểu diễn dưới dạng một
hàm số hoặc một bảng giá trị. Nó xác định cách tín hiệu đầu vào sẽ được biến
đổi và loại bỏ các thành phần không mong muốn.
Xử lý tín hiệu đầu ra: Sau khi tín hiệu đã được xử lý bởi bộ lọc số, nó
được chuyển đổi trở lại dạng analog bằng cách sử dụng một bộ chuyển đổi số-
analog (DAC). Quá trình này chuyển đổi các giá trị số thành các giá trị liên tục
tại các điểm thời gian cố định.
Tín hiệu đầu ra: Cuối cùng, tín hiệu đầu ra của bộ lọc số là tín hiệu đã
được xử lý và loại bỏ các thành phần không mong muốn. Tín hiệu này có thể
được sử dụng cho các mục đích tiếp theo như xử lý tín hiệu, truyền thông, hoặc
hiển thị.

1.2.3 Ưu nhược điểm


Ưu điểm:
• Bộ lọc số có thể điều chỉnh được, nghĩa là hoạt động của nó được
quyết định bởi chương trình lưu trữ trong bộ nhớ của bộ xử lý. Điều
này có nghĩa bộ lọc kỹ thuật số có thể dễ dàng thay đổi mà không
ảnh hưởng đến phần cứng.
• Bộ lọc kỹ thuật số được thiết kế, thử nghiệm và triển khai dễ dàng
trên máy tính hoặc trạm làm việc.
• Bộ lọc số rất ổn định theo thời gian và nhiệt độ, không bị ảnh
hưởng bởi sự trôi dạt của các thành phần tích cực hoặc phụ thuộc
vào nhiệt độ như bộ lọc tương tự.
• Bộ lọc số có khả năng xử lý tín hiệu ở tần số thấp một cách chính
xác.
• Bộ lọc kỹ thuật số đa dạng và linh hoạt hơn trong khả năng xử lý
tín hiệu.

Nhược điểm:
• Yêu cầu phải chuyển đổi tín hiệu tương tự thành số bằng bộ chuyển
đổi ADC.
• Chi phí của bộ xử lý số và bộ chuyển đổi ADC/DAC cao hơn bộ
lọc tương tự.
• Khả năng xử lý tín hiệu ở tần số cao hơn của bộ lọc tương tự.
• Sai số do phần cứng và quá trình lượng tử hóa.
• Chi phí phần mềm cao hơn khi phải thiết kế và lập trình bộ lọc số.

1.2.4 Ứng dụng


Bộ lọc kỹ thuật số là một thiết bị quan trọng trong xử lý tín hiệu số,
cho phép loại bỏ các thành phần không cần thiết hoặc tách rời các tần số
mong muốn ra khỏi tín hiệu vật lý. So với bộ lọc tương tự, bộ lọc số có
khả năng lọc và xử lý đa dạng hơn nhờ đặc tính lập trình được. Chính vì
vậy, bộ lọc kỹ thuật số đã và đang được ứng dụng rộng rãi trong nhiều
lĩnh vực:
• Giảm nhiễu: Bộ lọc kỹ thuật số có thể loại bỏ các thành phần nhiễu
ngẫu nhiên trong tín hiệu.
• Trích xuất tần số: Bộ lọc cho phép trích xuất ra các thành phần tần
số nằm trong phạm vi tần số nhất định của tín hiệu.
• Cải thiện chất lượng tín hiệu video: Bộ lọc số có thể được dùng để
loại bỏ nhiễu và làm tăng độ phân giải tín hiệu video.
• Bộ tăng cường đa kênh trong hệ thống âm thanh: Sử dụng bộ lọc để
điều chỉnh đặc tính tần số của từng kênh.
• Giảm xóc và giảm rung: Áp dụng trong các hệ thống kiểm soát điện
tử để làm giảm ảnh hưởng của xóc hay rung động.
• Xử lý tín hiệu trong hệ thống viễn thông và radar: Sử dụng bộ lọc
số để loại bỏ nhiễu trong quá trình truyền và thu tín hiệu.
Nhìn chung, nhờ khả năng xử lý linh hoạt và chính xác, bộ lọc kỹ
thuật số đang ngày càng được ứng dụng rộng rãi, góp phần cải thiện hiệu
quả hoạt động của nhiều thiết bị điện tử tiêu dùng cũng như hệ thống
kiểm soát công nghiệp hiện đại.
CHƯƠNG 2: MÔ PHỎNG
2.1 Bài 1:
2.1.1 Code với fs=1000 Hz:
% from analog filter to digital filter
%Analog filter (wc= 63rad/s = 10Hz.):
num=[63]; % transfer function numerator;
den=[1 63]; %transfer function denominator
%Digital filter
fs=1000; %sampling frequency in Hz.
%bilinear transformation:
[numd,dend]= bilinear(num,den,fs);
%logaritmic set of frequency values in Hz:
f=logspace(-1,2);
G=freqz(numd,dend,f,fs); %computes frequency response
AG=20*log10(abs(G)); %take decibels
Fl=angle(G); %take phases (rad)
subplot(2,1,1); semilogx(f,AG,'k'); %plots decibels
grid;axis([1 100 -25 5]);
ylabel('dB');
title( 'frequency response for the bilinear transformation
(Day la ket qua cua nhom Khanh, Phi, Tuan)')
subplot(2,1,2); semilogx(f,Fl,'k'); %plots phases
grid;axis([1 100 -1.5 0]);
ylabel('rad.'); xlabel('Hz.')

2.1.2 Kết quả :


2.1.3 Code với fs=100Hz :
% from analog filter to digital filter
%Analog filter (wc= 63rad/s = 10Hz.):
num=[63]; % transfer function numerator;
den=[1 63]; %transfer function denominator
%Digital filter
fs=100; %sampling frequency in Hz.
%bilinear transformation:
[numd,dend]= bilinear(num,den,fs);
%logaritmic set of frequency values in Hz:
f=logspace(-1,2);
G=freqz(numd,dend,f,fs); %computes frequency response
AG=20*log10(abs(G)); %take decibels
Fl=angle(G); %take phases (rad)
subplot(2,1,1); semilogx(f,AG,'k'); %plots decibels
grid;axis([1 100 -25 5]);
ylabel('dB');
title( 'frequency response for the bilinear transformation
(Day la ket qua cua nhom Khanh, Phi, Tuan)')
subplot(2,1,2); semilogx(f,Fl,'k'); %plots phases
grid;axis([1 100 -1.5 0]);
ylabel('rad.'); xlabel('Hz.')
2.1.4 Kết quả:

2.2 Bài 2:
2.2.1 Code: File1 tên file (Hr_Type4.m)
function [Hr,w,d,L] = Hr_Type4(h);
% Computes Amplitude response of Type-4 LP FIR filter
% ---------------------------------------------------
% [Hr,w,d,L] = Hr_Type4(h)
% Hr = Amplitude Response
% w = frequencies between [0 pi] over which Hr is
computed

% d = Type-4 LP filter coefficients


% L = Order of d
% h = Type-4 LP impulse response
%
M = length(h); L = M/2;
d = 2*[h(L:-1:1)]; n = [1:1:L]; n = n-0.5;
w = [0:1:500]'*pi/500; Hr = sin(w*n)*d';
2.2.2 Code: File2
h = [4,1,1,2,5,6,5,2,1,1,4];
M = length(h); n = 0:M-1;
[Hr,w,d,L] = Hr_Type4(h);
d,L
amax = max(d)+1; amin = min(d)-1;
subplot(2,2,1); stem(n,h); axis([-1 2*L+1 amin amax])
xlabel('n'); ylabel ('h(n)'); title('Impulse Response(Day
la ket qua cua nhom Khanh, Phi, Tuan)')
subplot(2,2,3); stem(0:length(d)-1, d); axis([-1 2*L+1
amin amax]);
xlabel('n'); ylabel('a(n)'); title('a(n) coefficients(Day
la ket qua cua nhom Khanh, Phi, Tuan)')
subplot(2,2,2); plot(w/pi,Hr);grid
xlabel('frequency in pi units'); ylabel ('Hr')
title('Type-4 Amplitude Response (Day la ket qua cua nhom
Khanh, Phi, Tuan)')
subplot(2,2,4); zplane(h, 1);
title('Pole-Zero Map (Day la ket qua cua nhom Khanh, Phi,
Tuan)')
2.2.3 Kết quả:
2.3 Bài 3:
2.3.1 Code:
x = -pi:0.1:5*pi;
y = sin(x)./(x);
plot(x,y)
title('(Day la ket qua cua nhom Khanh, Phi, Tuan)')

2.3.2 Kết quả:


2.4 Bài 4:
2.4.1 Code:
% h(n)= 13 ones, H(w) of the digital filter
n=-6:1:6; %sample times
h=ones(13,1); % vector of 13 ones
subplot(3,1,1); stem(n,h,'k'); %plots h(n)
axis([-4 4 0 1.2]); title('h(n)');
xlabel('n');
%discrete Fourier transform:
H1=real(fft(h,512)); Hf=H1/max(H1);
w=-pi:(2*pi/511):pi;
subplot(3,1,2); plot(w,fftshift(Hf),'k'); %plots H(w)
axis([-pi pi -0.3 1]); title('Day la ket qua cua Khanh,
Phi, Nguyen Tuan');
xlabel('Normalized frequency');
hold on;
plot([-pi pi],[0 0],'--k'); %horizontal dotted line

2.4.2 Kết quả:


2.5 Bài 5:
2.5.1 Code 1: File 1 tên file (freqz_m.m)
function [db, mag, pha, grd, w] = freqz_m(b, a)
% Custom frequency response calculation
% Inputs:
% b: Numerator coefficients of the filter
% a: Denominator coefficients of the filter
% Outputs:
% db: Magnitude response in dB
% mag: Magnitude response
% pha: Phase response
% grd: Group delay
% w: Frequency vector

N = 1000; % Number of frequency points


[H, w] = freqz(b, a, N);
mag = abs(H);
db = 20*log10((mag+eps)/max(mag));
pha = angle(H);
grd = grpdelay(b, a, w);
end
2.5.2 Code 2: File 2 tên file (ideal_lp.m)

function hd = ideal_lp(wc,M)
% Ideal Lowpass Filter Impulse Response
% -------------------------------------
% [hd] = ideal_lp(wc,M)
% hd = ideal impulse response between 0 to M-1
% wc = cutoff frequency in radians
% M = length of the ideal filter
alpha = (M-1)/2;
n = [0:1:(M-1)];
m = n - alpha + eps; % 'eps' is a small value to avoid
division by zero
hd = sin(wc*m)./(pi*m);

2.5.3 Code chính:


wp = 0.5*pi; ws = 0.8*pi; tr_width = ws - wp;
M = ceil(6.6*pi/tr_width) + 1;
M =67
n=[0:1:M-1];
wc = (ws+wp)/2; % Ideal LPF cutoff frequency
hd = ideal_lp(wc,M);
w_ham = (hamming(M))';
h = hd.* w_ham;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
delta_w = 2*pi/1000;
Rp = -(min(db(1:1:wp/delta_w+1))); % Actual Passband
Ripple
Rp = 0.03
As =-round(max(db(ws/delta_w+1:1:501))); % Min Stopband
attenuation
As = 70
subplot(2,2,1); stem(n,hd); title('Ideal Impulse
Response');
axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('d(n)' );
subplot(2,2,2); stem(n,w_ham);title('Hamming Window');
axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)');
subplot(2,2,3); stem(n,h);title('Actual Impulse
Response');
axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)');
subplot(2,2,4); plot(w/pi,db);title('Day la ket qua cua
Khanh, Phi, Nguyen Tuan');grid;
axis([0 1 -100 10]); xlabel('frequency in pi units');
ylabel('Decibels');

2.5.4 Kết quả:


2.6 Bài 6:
2.6.1 Code:
% Read the first audio file
[y1, fs1] = audioread('piano_G6.wav');
% Decimate the audio
R = 3;
y1r = decimate(y1, R);
% Play the decimated audio
soundsc(y1r, fs1/R);

% Read the second audio file


[y2, fs2] = audioread('piano_C6.wav');
% Decimate the audio
R = 3;
y2r = decimate(y2, R);
% Play the decimated audio
soundsc(y2r, fs2/R);

disp('Computing G6 model for the first audio');


na = 40;
nb = 40;

% Define chunk size


chunkSize = 10000; % Adjust as needed

% Compute number of chunks


numChunks1 = ceil(length(y1r) / chunkSize);
numChunks2 = ceil(length(y2r) / chunkSize);
% Initialize impulse responses
h1 = zeros(length(y1r), 1);
h2 = zeros(length(y2r), 1);

% Process chunks for the first audio


for i = 1:numChunks1
chunkStart = (i - 1) * chunkSize + 1;
chunkEnd = min(i * chunkSize, length(y1r));
chunk = y1r(chunkStart:chunkEnd);

% Compute power spectral density estimate


[pxx, f] = pwelch(chunk, [], [], [], fs1/R);

% Fit an autoregressive (AR) model


[~, ~, sos_chunk] = tfestimate(pxx, pxx, [], [], na,
'twosided');

% Update impulse response


h1(chunkStart:chunkStart+size(sos_chunk,1)-1) =
sos_chunk(:,1); % Store only the first column of sos_chunk
end

% Process chunks for the second audio


for i = 1:numChunks2
chunkStart = (i - 1) * chunkSize + 1;
chunkEnd = min(i * chunkSize, length(y2r));
chunk = y2r(chunkStart:chunkEnd);

% Compute power spectral density estimate


[pxx, f] = pwelch(chunk, [], [], [], fs2/R);

% Fit an autoregressive (AR) model


[~, ~, sos_chunk] = tfestimate(pxx, pxx, [], [], na,
'twosided');

% Update impulse response


h2(chunkStart:chunkStart+size(sos_chunk,1)-1) =
sos_chunk(:,1); % Store only the first column of sos_chunk
end

% Plot the impulse responses


subplot(2,1,1);
plot(h1);
title('Beach-pianowav model(Day la ket qua cua khanh, Phi,
Nguyen Tuan) ');
soundsc(h1);

subplot(2,1,2);
plot(h2);
title('The-last-piano model(Day la ket qua cua khanh, Phi,
Nguyen Tuan) ');
soundsc(h2);

pause(1);

% Play the first and second audio alternately for 5 times


for n = 1:5
soundsc(h1);
pause(0.4);
soundsc(h2);
pause(0.4);
end
2.6.2 Kết quả:
KẾT LUẬN

Bộ lọc là một phần quan trọng trong nhiều hệ thống và ứng dụng, từ
viễn thông đến xử lý tín hiệu và máy tính. Chức năng chính của bộ lọc là loại
bỏ hoặc giảm thiểu các thành phần không mong muốn từ dữ liệu hoặc tín
hiệu đầu vào, giúp cải thiện chất lượng và hiệu suất của hệ thống.
Dựa vào tính chất và mục đích sử dụng, có nhiều loại bộ lọc khác nhau
như bộ lọc analog và bộ lọc số. Trong đó, bộ lọc số đặc biệt được ưa chuộng
với tính linh hoạt, chính xác cao và khả năng thực hiện các chức năng phức
tạp mà không cần thay đổi phần cứng.
Các loại bộ lọc như bộ lọc thông thấp, thông cao, thông dải và thông
hợp đều có vai trò quan trọng trong việc xử lý tín hiệu và dữ liệu. Chúng
được sử dụng rộng rãi trong nhiều lĩnh vực như viễn thông, điện tử, xử lý
ảnh và âm thanh, giúp cải thiện chất lượng và độ tin cậy của hệ thống.
Tóm lại, bộ lọc là một công cụ quan trọng và không thể thiếu trong
nhiều ứng dụng công nghệ khác nhau. Sự phát triển của các phương pháp và
công nghệ xử lý tín hiệu đã tạo ra những tiến bộ đáng kể trong lĩnh vực này,
đồng thời cung cấp cho chúng ta những công cụ mạnh mẽ để xử lý và tối ưu
hóa dữ liệu và tín hiệu theo nhu cầu của mỗi ứng dụng cụ thể.

You might also like