Việc sử dụng thuật toán Goertzel có thực sự cho độ phân giải tần số tốt hơn không?


19

Tôi đang đọc bài viết này và tôi cảm thấy hơi bối rối bởi việc sử dụng 'độ phân giải tần số' tự do của tác giả liên quan đến Thuật toán Goertzel.

Câu hỏi cơ bản: Việc sử dụng thuật toán Goertzel có thực sự mang lại cho bạn độ phân giải tần số nhiều hơn trên một dải quan tâm cụ thể hay đơn giản là nó tính toán FFT một cách hiệu quả chỉ với dải quan tâm đã chỉ định, nhưng ở cùng độ phân giải tần số được chỉ định bởi tần số lấy mẫu chia cho số của mẫu?

Ví dụ: giả sử là 100 KHz, (cố định) và số lượng mẫu dữ liệu N là 10000. (Cũng cố định). Nếu tôi tính FFT bình thường, trong đó độ dài FFT cũng là N , độ phân giải tần số của tôi là F sFSNN như dự kiến, và nó sẽ bằng 10 Hz. Điều này có nghĩa là các thùng của tôi cách nhau 10 Hz, từ -50.000 Hz đến 50.000 Hz.FsN

Bây giờ hãy để chúng tôi nói rằng tôi muốn sử dụng Thuật toán Geortzel để chỉ xem xét các tần số trong phạm vi nói, 20.000-21.000 Hz. Nếu tôi sử dụng cùng cho số lượng mẫu và sử dụng cùng N cho kích thước FFT của tôi thì độ phân giải tần số của tôi là bao nhiêu? Vẫn là 10 Hz? Hoặc là 21 , 000 - 20 , 000NNHz?21,00020,00010000=0.1

Tôi có cảm giác rằng tôi không thực sự tăng độ phân giải tần số của mình, nhiều như chỉ đơn giản là nội suy các điểm trên thùy chính, bằng cách sử dụng cùng một để đánh giá tần số từ 21.000 đến 20.000 như tôi đã làm từ 0 đến 50.000.N

Đây có phải là một sự hiểu biết chính xác?

Câu trả lời:


18

Sự am hiểu của bạn đa đung đăn.

Các thuật toán Goertzel cho kết quả gần như chính xác với 1 thùng DFT hoặc FFT có cùng độ dài hoặc số lượng mẫu (và trong đó các yếu tố twiddle FFT được tạo bởi đệ quy trig), khi được sử dụng cho các tần số có số nguyên chính xác theo chu kỳ Chiều dài Goertzel. Nhưng nhiều dạng của thuật toán Goertzel chỉ cung cấp độ lớn, không phải là kết quả phức tạp hoặc pha của kết quả bin FFT 1. Ngoài ra, về mặt tính toán, một Goertzel chung có thể kém ổn định hơn một chút so với FFT chung. Đối với các tần số không phải là số nguyên định kỳ, kết quả tương đương với phép nội suy chân thực giữa các thùng của DFT hoặc FFT có cùng độ dài (có thể chính xác hơn một chút về phép nội suy so với phép nội suy parabol điển hình hơn của kết quả FFT ).

Phép nội suy có thể được cho là tăng độ phân giải theo nghĩa đồ họa (nhiều điểm cốt truyện hơn) hoặc giúp dễ dàng phát hiện cực đại hơn, nhưng không phải theo nghĩa lý thuyết thông tin, cũng như không phân tách tốt hơn 2 vạch quang phổ cách nhau thành 2 đỉnh riêng biệt.


3
Đoạn thứ hai: Hotpaw2 nói rất hay. Đây là điều tôi nghĩ khiến nhiều người nhầm lẫn. Vâng, có vẻ như Goertzel Algo là một cách nhanh chóng để tính toán FFT qua một băng con được chọn, với phép nội suy miền F tích hợp được đưa vào, nếu bạn tình cờ giữ mọi thứ giống như khi bạn đi bình thường FFT.
Spacey

1

Tôi không thể truy cập bài viết mà bạn đang đề cập, nhưng tôi nghĩ bạn có thể thấy bài viết này khá thú vị. Các tác giả đã trình bày phiên bản thuật toán Goertzel của họ có thể được sử dụng để tìm biên độ và pha ở tần số là bội số không nguyên của tần số cơ bản trong tín hiệu đã cho. Điều đó có nghĩa là thuật toán của họ không cải thiện độ phân giải tần số. Bài viết chứa bằng chứng toán học và mã của thuật toán.

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.