2011-07-12 27 views
7

Trong Matlab, tôi thường tính toán phổ công suất bằng phương pháp Welch (pwelch), sau đó tôi hiển thị trên một ô log-log. Các tần số được ước tính bởi pwelch là khoảng cách bằng nhau, nhưng các khoảng cách lôgarit cách nhau sẽ thích hợp hơn cho lô log-log. Đặc biệt, khi lưu cốt truyện vào một tập tin PDF, điều này dẫn đến một kích thước tập tin rất lớn vì số điểm vượt quá ở tần số cao.Làm thế nào để lấy lại mẫu/làm lại phổ?

Một lược đồ hiệu quả để tái tạo lại (rebin) phổ là gì, từ tần số khoảng cách tuyến tính đến tần số khoảng cách log? Hoặc, cách nào để bao gồm phổ độ phân giải cao trong tệp PDF mà không tạo kích thước tệp quá lớn?

Các điều hiển nhiên phải làm là chỉ cần sử dụng interp1:

rate = 16384; %# sample rate (samples/sec) 
    nfft = 16384; %# number of points in the fft 

    [Pxx, f] = pwelch(detrend(data), hanning(nfft), nfft/2, nfft, rate); 

    f2 = logspace(log10(f(2)), log10(f(end)), 300); 
    Pxx2 = interp1(f, Pxx, f2); 

    loglog(f2, sqrt(Pxx2)); 

Tuy nhiên, điều này là không mong muốn vì nó không bảo tồn năng lượng trong quang phổ. Ví dụ, nếu có một đường phổ lớn giữa hai trong số các thùng tần số mới, nó sẽ bị loại trừ khỏi phổ lấy mẫu được ghi lại.

Để khắc phục điều này, chúng tôi thay vì có thể nội suy các thể thiếu của quang phổ điện:

df = f(2) - f(1); 
    intPxx = cumsum(Pxx) * df;      % integrate 
    intPxx2 = interp1(f, intPxx, f2);    % interpolate 
    Pxx2 = diff([0 intPxx2]) ./ diff([0 F]);  % difference 

Đây là dễ thương và chủ yếu hoạt động, nhưng các trung tâm bin không hoàn toàn đúng, và nó không xử lý thông minh vùng tần số thấp, nơi mà lưới tần số có thể trở nên được lấy mẫu tốt hơn.

ý tưởng khác:

  • ghi một chức năng để xác định sự di chuyển chuột tần số mới và sau đó sử dụng accumarray để làm rebinning.
  • Áp dụng bộ lọc làm mịn cho quang phổ trước khi thực hiện nội suy. Vấn đề: kích thước hạt làm mịn sẽ phải thích nghi với việc làm trơn logarit mong muốn.
  • Chức năng pwelch chấp nhận đối số vector tần số f, trong trường hợp này nó tính toán PSD ở tần số mong muốn bằng thuật toán Goetzel. Có lẽ chỉ cần gọi số pwelch với vectơ tần số có dấu log ở vị trí đầu tiên sẽ là đủ. (Điều này có hiệu quả hơn hay không?)
  • Đối với vấn đề kích thước tệp PDF: bao gồm hình ảnh bitmap của quang phổ (có vẻ kludgy - Tôi muốn đồ họa vector đẹp!);
  • hoặc có thể hiển thị vùng (đa giác/khoảng tin cậy) thay vì chỉ đơn giản là đường được phân đoạn để biểu thị phổ.

Trả lời

0

Giải pháp phát hiện: https://dsp.stackexchange.com/a/2098/64

Tóm lại, một giải pháp cho vấn đề này là để thực hiện phương pháp Welch với chiều dài tần số phụ thuộc vào biến đổi. Liên kết ở trên là câu trả lời dsp.SE có chứa trích dẫn giấy và triển khai mẫu. Một bất lợi của kỹ thuật này là bạn không thể sử dụng FFT, nhưng vì số lượng các điểm DFT được tính toán giảm đáng kể, đây không phải là một vấn đề nghiêm trọng.

2

Tôi sẽ để nó hoạt động cho tôi và cho nó các tần số ngay từ đầu. Tài liệu tuyên bố các freqs bạn chỉ định sẽ được làm tròn đến thùng DFT gần nhất. Đó không phải là một vấn đề vì bạn đang sử dụng kết quả cho cốt truyện. Nếu bạn lo ngại về thời gian chạy, tôi chỉ thử nó và thời gian.

Nếu bạn muốn tự mình tự mình làm lại, tôi nghĩ bạn nên chỉ cần viết chức năng của riêng mình để thực hiện tích hợp trên mỗi thùng mới của bạn. Nếu bạn muốn làm cho cuộc sống của bạn dễ dàng hơn, bạn có thể làm những gì họ làm và đảm bảo các thùng đăng nhập của bạn chia sẻ các ranh giới với các tuyến tính tuyến tính của bạn.

+0

Vấn đề với cách tiếp cận này là số lượng trung bình được đặt bởi bin tần số thấp nhất (độ phân giải cao nhất). Chúng tôi nhận được ít điểm hơn ở tần số cao (như mong muốn), nhưng chúng tôi không nhận được lợi thế về mức trung bình cao hơn ở tần số cao hơn. – nibot

0

Nếu bạn muốn đặt lại mẫu FFT với tốc độ thay đổi (logarit), thì bộ lọc làm mịn hoặc thông thấp sẽ cần phải có chiều rộng thay đổi để tránh việc răng cưa (mất điểm mẫu). Chỉ cần sử dụng một hạt nhân nội suy Đồng bộ chiều rộng khác nhau cho mỗi điểm lô (Chiều rộng đồng bộ xấp xỉ nghịch đảo của tỷ lệ lấy mẫu cục bộ).

Các vấn đề liên quan