Làm thế nào để lỗi lượng tử hóa tạo ra tiếng ồn?


11

Tôi đang tự học về lấy mẫu và DSP. Tôi có một thời gian khó hiểu làm thế nào các lỗi lượng tử hóa dẫn đến tiếng ồn. Tôi nghĩ rằng tôi bỏ lỡ một sự hiểu biết cơ bản nhưng không thể nói nó là gì. Vậy làm thế nào để lỗi lượng tử hóa tạo ra tiếng ồn?


Đó là sự biến dạng nhiều hơn tiếng ồn. Nó phụ thuộc vào tín hiệu, và không phải là ngẫu nhiên.
endolith

endolith, tôi nghĩ những gì tôi không hiểu là làm thế nào lỗi dẫn đến tần số.
Jan Deinhard

2
méo luôn tạo ra tần số bổ sung. nếu bạn làm biến dạng sóng hình sin, nó sẽ trở thành dạng sóng lặp lại khác nhau. bất kỳ dạng sóng lặp đi lặp lại nào khác với sóng hình sin được tạo thành từ nhiều tần số.
endolith

1
Như @endolith đã đề cập, chúng ta hãy giả sử rằng bạn có một ADC rất tệ, như vậy bạn cho nó một âm thanh thuần túy, nhưng nhận được một tín hiệu trông giống như một hình sin nhưng có những bước tiến lớn trong đó. (Vì vậy, bây giờ tín hiệu của bạn trông giống như một cầu thang đi lên và xuống với sin ban đầu.) Bây giờ, bạn biết một cách trực giác rằng một bước bao gồm nhiều tần số. Đây là cách một ADC sẽ thêm tần số như bạn đang yêu cầu. Nó là một btw hoạt động phi tuyến tính. Nếu nó là tuyến tính, bạn không thể tạo ra các tần số mới, chỉ có thể ghép nhiều tần số lại với nhau.
Spacey

Một nhận xét khác: Một cách giải thích hay được đưa ra bởi Yannis Tsividis trong ICASSP 2004: Lượng tử hóa là một phi tuyến cứng và tạo ra "số lượng sóng hài vô hạn". Quá trình lấy mẫu gấp tất cả chúng xuống. Đối với các tín hiệu đủ phức tạp, các "sóng hài hạ âm" này trông giống như một sàn nhiễu trắng.
divB

Câu trả lời:


6

Giả sử tôi có tín hiệu đa âm lượng (sáu sóng mang, ở tần số ± 1/1000, ± 2/1000 và ± 7/1000 tần số lấy mẫu)

x = (1:1000);
wave = sin(x/1000*2*pi) + sin(x/1000*2*pi*2) + sin(x/1000*2*pi*7);

được lượng tử hóa bằng cách sử dụng ADC 14 bit

wave_quant = round(wave * 16384) / 16384;

Sự khác biệt

wave_qnoise = wave_quant - wave;

đưa ra lỗi lượng tử hóa

Tiếng ồn lượng tử hóa theo thời gian

Phổ tương ứng

wave_qnoise_freq = mag(fftshift(fft(wave_qnoise)) / sqrt(1000));

Tiếng ồn lượng tử hóa theo tần số

hiển thị tầng tiếng ồn được tạo ra trên toàn bộ phổ.

Điều này giả định rằng lỗi lượng tử hóa không đưa ra sai lệch. Nếu ADC luôn chọn giá trị thấp hơn

wave_quant_biased = floor(wave * 16384) / 16384;

chúng ta nhận được một lỗi lượng tử hóa không còn tập trung vào khoảng không

wave_qnoise_biased = wave_quant_biased - wave;

Lỗi lượng tử hóa với xu hướng theo thời gian

có sự tăng đột biến trong FFT trong thùng DC

wave_qnoise_biased_freq = mag(fftshift(fft(wave_qnoise_biased)) / sqrt(1000));

Lỗi lượng tử hóa với xu hướng theo tần số

Điều này trở thành một vấn đề thực sự với ví dụ Điều chế biên độ cầu phương , trong đó độ lệch DC trong tín hiệu giải điều chế tương ứng với sóng hình sin ở tần số giải điều chế.


Điều này rất tuyệt vời cảm ơn sự giúp đỡ của bạn. bằng cách này tôi đã khám phá sự biến dạng liên quan đến lượng tử hóa.

9

"Nhiễu" trong ngữ cảnh này đề cập đến bất cứ điều gì không mong muốn được thêm vào tín hiệu, điều đó không nhất thiết có nghĩa đó là nhiễu gaussian, nhiễu trắng hoặc bất kỳ quy trình được mô tả tốt ngẫu nhiên nào.

Trong bối cảnh lượng tử hóa, đó là một lập luận đại số thuần túy. Người ta có thể xem lượng tử hóa như việc thêm một tín hiệu không mong muốn ("nhiễu") bằng ... sự khác biệt giữa tín hiệu gốc và tín hiệu lượng tử. Lưu ý rằng nhiễu định lượng này không phải là ngẫu nhiên và tương quan với tín hiệu đầu vào. Ví dụ, nếu một tín hiệu là định kỳ, nhiễu lượng tử hóa được đưa ra khi lượng tử hóa nó cũng sẽ là định kỳ.


Tôi nghĩ rằng tôi đã hiểu làm thế nào lượng tử hóa gây ra lỗi. Điều đánh đố tôi là làm thế nào nó tạo ra tần số. Hiểu biết của tôi là: "Tín hiệu không mong muốn" có nghĩa là tần số không mong muốn. Giả sử tôi lấy mẫu tín hiệu hình sin thuần túy. Sau đó, lỗi lượng tử hóa giới thiệu "âm bội". Tôi cho rằng các âm bội bắt nguồn từ hình dạng "cầu thang" của tín hiệu được lấy mẫu. Đúng không?
Jan Deinhard

1
@FairDinkumThinkum: có, nếu bạn làm biến dạng sóng hình sin thuần túy, bạn sẽ bị méo sóng hài, tạo ra tần số mới ở bội số của tần số sóng hình sin của bạn. vi.wikipedia.org/wiki/Distortion#Harmonic_distortion
endolith

3

Để mở rộng những gì pichenettes đã nói, hãy xem xét nếu bạn có tín hiệu âm thanh đang được số hóa bởi bộ chuyển đổi D-to-A chỉ có độ phân giải 0,01 volt. Nếu tại một thời điểm cụ thể nào đó, tín hiệu âm thanh ở mức 7.3269 volt, sẽ được làm tròn thành 7.33 volt hoặc bị cắt thành 7.32 volt (tùy thuộc vào thiết kế của bộ chuyển đổi). Trong trường hợp đầu tiên, bạn đã thêm "nhiễu" 7.33-7.3269 volt hoặc 0,0031 volt. Trong trường hợp thứ hai, bạn đã thêm "nhiễu" 7.32-7.3269 volt, hoặc -0.0069 volt.

Tất nhiên, có thêm tiếng ồn do thực tế là bộ chuyển đổi chắc chắn là không chính xác vô cùng, và có lẽ có độ chính xác ngang với độ chính xác của nó.


0

Đây là một lời giải thích cơ bản hơn để có được điểm cơ bản.

  1. Thò tay vào túi và lấy iPhone ra.
  2. Mở ứng dụng Sức khỏe -> Hoạt động thể dục -> Bước đi (điều này được bật theo mặc định).
  3. Viết ra bao nhiêu bước bạn đã đi trong mỗi mười ngày qua.

Làm tròn số đó đến hàng ngàn và gửi chúng ở đây. Bây giờ những người khác ở đây phải đoán số gốc của bạn dựa trên những gì bạn đã đăng.

Những người khác không thể đoán chính xác số chính xác dựa trên số làm tròn bạn cung cấp. Đó là mất dữ liệu. Và trong trường hợp này (vì bạn đã sử dụng làm tròn) được gọi là lỗi lượng tử hóa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.