Ảnh hưởng của răng cưa đến độ lớn của sự tự tương quan là gì?


8

Tôi có một câu hỏi về ảnh hưởng của răng cưa đối với mức độ tự kỷ. Từ một mô phỏng trong MATLAB, tôi không thấy bất kỳ ảnh hưởng nào của răng cưa hoặc bất kỳ nhu cầu nào đối với bộ lọc khử răng cưa khi tôi lấy độ lớn của tự động tương quan. Điều đó có nghĩa là tôi có thể lấy mẫu dữ liệu và sau đó lấy tự động. Có một bài báo "Hiệu ứng của răng cưa đối với ước tính thời điểm phổ xuất phát từ chức năng tự tương quan hoàn chỉnh" có nội dung giống như những gì tôi tuyên bố. Có ai vui lòng cho tôi biết nếu tôi đã phạm sai lầm không?

Câu trả lời:


4

Giảm dần trước khi tính toán tự động tương quan, với sự hiện diện của nhiễu, kém hơn so với tính toán tự động tương quan bằng cách sử dụng bộ dữ liệu đầy đủ. Giả sử rằng tín hiệu quan tâm được nhúng trong nhiễu trắng. Vectơ bao gồm các mẫu từ một quá trình ngẫu nhiên rời rạc. Hàm tự tương quan của vectơ x [ n ] là:x[n],n= =0,1,...,N-1x[n]

Mộtx[k]= =1N-kΣTôi= =0N-1-kx[Tôi]x[Tôi+k]

Nghĩa là, là độ trễ được sử dụng để tính toán tự động tương quan. Trong kịch bản đề xuất của bạn, bạn đang decimating chức năng tự tương quan sản lượng bởi một yếu tố D (tức là bạn chỉ được tính toán hàm cho trễ 0 , D , 2 D , . . . ) Và so sánh kết quả đó với chức năng tự tương quan của x [ n ] hao bởi các yếu tố tương tự D . Đặt x d [ n ] là dãy số thập phân; chức năng tự tương quan của nó là:kD0,D,2D,...x[n]Dxd[n]

Mộtxd[k]= =DN-kΣTôi= =0N-1-kDx[TôiD]x[(Tôi+k)D]

(để đơn giản ở đây, tôi đã giả sử rằng là một yếu tố của N trong phương trình trên)DN

Yêu cầu của bạn có thể được viết là:

Mộtx[kD]?Mộtxd[k]

1N-kDΣTôi= =0N-1-kDx[Tôi]x[Tôi+kD]?DN-kΣTôi= =0N-1-kDx[TôiD]x[(Tôi+k)D]

Nhìn vào chất lượng này, tổng kết ở phía bên trái có nhiều điều khoản hơn so với đối tác của nó ở phía bên phải. Nếu là văn phòng phẩm thứ hai, thì giá trị kỳ vọng của mỗi số hạng trong mỗi tổng là như nhau; hành động lấy trung bình nhiều mẫu có cùng giá trị dự kiến ​​sẽ làm tăng tỷ lệ tín hiệu / nhiễu. Nói cách khác một chút, bạn có thể nghĩ các thuật ngữ trong mỗi tổng là mẫu từ một quy trình ngẫu nhiên mới:x[n]

y[n]= =x[n]x[n+kD]

x[n]y[n]kDy[n]

Vì vậy, nếu có nhiễu trắng xuất hiện trong tín hiệu (thường là như vậy), bạn sẽ có được ước tính tốt hơn về thống kê bậc hai của tín hiệu cơ bản bằng cách sử dụng cỡ mẫu lớn hơn trong phép tính (điều này có thể nghe có vẻ trực quan hiển nhiên). Trong ngữ cảnh của hai cách tiếp cận của bạn, điều này được thực hiện bằng cách sử dụng tín hiệu đầy đủ, không suy giảm trong tính toán tự động tương quan và giảm dần sau đó (nghĩa là chỉ tính kết quả cho các giá trị độ trễ nhất định).


Cảm ơn rât nhiều. Bạn đúng nhưng trong trường hợp tín hiệu của tôi thì đó không phải là vấn đề chi phối. Vấn đề của tôi chủ yếu là ảnh hưởng của răng cưa. Bạn đã giải thích rằng tín hiệu không suy giảm hoàn toàn có thể tốt hơn nhưng nếu chúng ta sẽ giảm hiệu ứng khử răng cưa, chúng ta nên lấy nhiều mẫu hơn như hai (3) lần số mẫu và nó thực sự làm tăng độ phức tạp.
Hossein

2

Có vẻ hơi kỳ lạ với tôi. Kịch bản Matlab dưới đây so sánh "tự động tương tự xuống" với "tự tương quan của các tín hiệu được ghép xuống". Đối với sóng hình sin kép, điều này thực sự đến khá gần (sai số tương đối khoảng -50dB) nhưng đối với nhiễu trắng thì đơn giản là sai (sai số tương đối> +6 dB). Mặc dù có thể có một số lợi thế về mặt tính toán nhưng đối với tôi, việc tự động giảm nhiễu được ghép xuống có ích như thế nào ngay cả trong trường hợp sóng hình sin kép. Các đỉnh trong phổ vẫn hiển thị ở vị trí sai.

% script to check whether autocorrelation is immune to aliasing
% create two sine waves at 18k and 21k (assuming sample rate of 444.1k) 
n = 8192;
t = (0:n-1)'/44100;
x = sin(2*pi*t*21000)+sin(2*pi*t*18000);
% calculate autocorrelation of original signal and one that's downsampled
% by 4 and thus heavily aliased
y = xcorr(x,x);
y2 = xcorr(x(1:4:end),x(1:4:end));
d = y(4:4:end)-4*y2;
% calculate the error in dB
err = 10*log10(sum(d.^2)./sum(y2.^2));
fprintf('Dual sine wave relative error = %6.2f dB\n',err);

%% try the same thing for white noise
x = 2*rand(n,1)-1;
y = xcorr(x,x);
y2 = xcorr(x(1:4:end),x(1:4:end));
d = y(4:4:end)-4*y2;
err = 10*log10(sum(d.^2)./sum(y2.^2));
fprintf('White noise relative error = %6.2f dB\n',err);

Cảm ơn bạn rất nhiều nhưng vị trí của các đỉnh trong tự động tương quan rất quan trọng đối với tôi và do đó tôi không chắc chắn rằng mã này cho thấy vấn đề của tôi. Nhưng khi bạn chỉ ra trong khi phổ thay đổi, chúng ta phải đối mặt với những thay đổi nhỏ trong miền thời gian tương tự như những gì tờ báo nói.
Hossein

0

Đối với các loại đầu vào cụ thể, ảnh hưởng của khử răng cưa tần số đến cường độ tự tương quan có thể không đáng kể. Tuy nhiên, tôi không nghĩ rằng điều này sẽ đúng nói chung.

Ví dụ, đối với đầu vào có giới hạn băng tần hoặc đối với nhiễu trắng, việc lấy mẫu dưới mức sẽ không ảnh hưởng đến hình dạng của tự động tương quan (mặc dù nó có thể thay đổi tỷ lệ theo cách dự đoán). Sự tương quan của nhiễu trắng là một delta và nó sẽ vẫn là một delta nếu được lấy mẫu xuống.

Bây giờ, phổ công suất có liên quan đến sự tự tương quan bởi biến đổi fourier. Vì vậy, nếu yêu cầu của bạn là đúng, có vẻ như bạn cũng có thể cho rằng việc khử răng cưa tần số không làm thay đổi nội dung tần số của đầu vào. Và điều này không đúng. Nhưng có thể có ngoại lệ (trường hợp đặc biệt).

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.