Đây là những gì chúng ta gọi trong biz phát hiện cao độ, " vấn đề quãng tám ".
Trước hết, tôi sẽ thay đổi AMDF thành ASDF. Và tôi sẽ không giảm kích thước cửa sổ khi độ trễ tăng lên. (Ngoài ra, tôi đang thay đổi ký hiệu thành thứ mà tôi cho là thông thường hơn. " " là tín hiệu thời gian rời rạc.)x[n]
Hàm khác biệt bình phương trung bình (ASDF) của trong vùng lân cận của mẫu x [ n 0 ] là:x[n]x[n0]
Qx[k,n0]≜1N∑n=0N−1(x[n+n0−⌊N+k2⌋] − x[n+n0−⌊N+k2⌋+k])2
k ⌊ k⌊⋅⌋ là floor()
hàm và, nếu chẵn thì .k⌊k2⌋=⌊k+12⌋=k2
Bây giờ, mở rộng vuông và xem xét những gì trông giống như summations như (không phải là đang đi đến vô cùng, nhưng để cung cấp cho bạn một ý tưởng nếu là lớn). ASDF liên quan trực tiếp đến sự tự tương quan. Nó thực chất là sự tự động bị đảo lộn. Những bước này tôi sẽ để lại cho bạn. hãy xem câu trả lời nàyN NN→∞N N
Vì vậy, bây giờ hãy xem xét "tự tương quan" có độ dài hữu hạn này (trong vùng lân cận của mẫu ) được xác định từ ASDF:x[n0]
Rx[k,n0]=Rx[0,n0]−12Qx[k,n0]
Ở đâu
Rx[0,n0]≜1N∑n=0N−1(x[n+n0−⌊N2⌋])2
Vì và cho tất cả độ trễ , điều đó có nghĩa là cho tất cả độ trễ .Q x [ k , n 0 ] ≥ 0 k R x [ k , n 0 ] ≤ R x [ 0 , n 0 ] kQx[0,n0]=0Qx[k,n0]≥0kRx[k,n0]≤Rx[0,n0]k
Giả sử trong một phút rằng là định kỳ với chu kỳ (và xảy ra là một số nguyên), thìP Px[n]PP
x[n+P]=x[n]∀n
và và cho bất kỳ số lượng chu kỳ nào ( là số nguyên). Vì vậy, bạn nhận được một đỉnh tại và tại bằng với bất kỳ bội số nào khác của nếu là định kỳ. Nếu là không hoàn toàn định kỳ, những gì chúng ta có thể mong đợi là đỉnh lớn nhất tại , một đỉnh (nhưng hơi nhỏ) tại (giai đoạn chúng ta đang tìm kiếm) và đỉnh dần dần nhỏ hơn cho bội số lớn hơn .R x [ m P , n 0 ] = R x [ 0 , n 0 ] ≥ R x [ k , n 0 ] m k = 0 k P x [ n ] x [ n ] k = 0 k = P PQx[mP,n0]=0Rx[mP,n0]=Rx[0,n0]≥Rx[k,n0]mk=0kPx[n]x[n]k=0k=PP
Vì vậy, vấn đề quãng tám xuất hiện vì một vài lý do. Trước hết, không nhất thiết là một số nguyên. Đó là một vấn đề nội suy, không phải là một vấn đề lớn. P
Lý do thứ hai và vấn đề khó khăn hơn là của subharmonics . Hãy xem xét rằng bạn đang nghe một giai điệu định kỳ tốt ở chính xác A-440 Hz và nó có vẻ như là một A có 9 nửa cung ở giữa C. Bây giờ giả sử ai đó thêm vào âm đó một biên độ rất nhỏ (như giảm 60 dB) A -20? Nó sẽ nghe như thế nào và về mặt toán học thời gian "thực sự" là gì?
Chọn đỉnh "đúng" cho giai đoạn này.
Giả sử bạn chạy ghi chú của mình thông qua bộ lọc chặn DC, do đó giá trị trung bình của bằng không. Hóa ra nguyên nhân của giá trị tự động cho mỗi cũng bằng 0 (hoặc gần với nó nếu lớn). Điều đó có nghĩa là phải tính tổng (trên ) bằng 0, có nghĩa là có nhiều diện tích trên 0 như bên dưới.x[n]Rx[k,n0]n0NRx[k,n0]k
Được rồi, vì vậy đại diện cho sức mạnh của trong vùng lân cận xung quanh và phải không âm. không bao giờ vượt quá nhưng có thể lớn bằng khi là định kỳ. nếu . Vì vậy, nếu là định kỳ với chu kỳ và bạn có một loạt các đỉnh cách nhau bởi và bạn có một ý tưởng về việc các đỉnh đó nên cao đến mức nào. Và nếu thành phần DC của bằng 0, điều đó có nghĩa là ở giữa các đỉnh, nó phải có giá trị âm.Rx[0,n0]x[n]n=n0Rx[k,n0]Rx[0,n0]x[n]Rx[P,n0]=Rx[0,n0]x[n+P]=x[n]x[n]PPRx[k,n0]
Nếu là "bán định kỳ", một chu kỳ của sẽ trông rất giống một chu kỳ liền kề, nhưng không giống như một chu kỳ đi xa hơn tín hiệu theo thời gian. Điều đó có nghĩa là đỉnh thứ nhất sẽ cao hơn đỉnh thứ hai tại hoặc thứ ba . Người ta có thể sử dụng quy tắc để luôn chọn đỉnh cao nhất và mong muốn đỉnh cao nhất luôn luôn là đỉnh đầu tiên. Nhưng, vì subharmonics không nghe được, đôi khi đó không phải là trường hợp. đôi khi đỉnh thứ hai hoặc có thể là đỉnh thứ ba cao hơn một chút. Ngoài ra, vì khoảng thời gian có thể không phải là số nguyên mẫu mà là trongx[n]x[n]x[n]Rx[P,n0]Rx[2P,n0]Rx[3P,n0]PkRx[k,n0]luôn luôn là một số nguyên, do đó, đỉnh thực sự có thể sẽ nằm giữa các giá trị nguyên của . Ngay cả khi bạn đã nội suy đỉnh cực đại (mà tôi khuyên dùng và phép nội suy bậc hai là đủ tốt) và mức độ thực sự của nó là bao nhiêu giữa số nguyên , phép nội suy của bạn có thể làm cho một đỉnh cao hơn một chút hoặc thấp hơn một chút so với thực tế. Vì vậy, việc chọn đỉnh hoàn toàn cao nhất có thể dẫn đến việc chọn thứ hai một cách ngẫu nhiên so với đỉnh đầu tiên (hoặc ngược lại) khi bạn thực sự muốn thứ khác.kk
Vì vậy, bằng cách nào đó bạn phải chấp nhận các đỉnh ở mức tăng để đỉnh thứ nhất có lợi thế hơn một chút so với đỉnh thứ hai và thứ hai so với thứ tư (quãng tám tiếp theo xuống), v.v ... Làm thế nào để bạn làm điều đó?k
Bạn làm điều đó bằng cách nhân với một chức năng giảm của sao cho đỉnh tại bị giảm bởi một số yếu tố, liên quan đến một đỉnh cao giống hệt nhau tại . Hóa ra hàm năng lượng (không phải hàm mũ) thực hiện điều đó. thật tính toánRx[k,n0]kk=2Pk=P
k−α Rx[k,n0]
Vì vậy, nếu hoàn toàn định kỳ với chu kỳ và bỏ qua các vấn đề nội suy cho không nguyên , thìx[n]PP
Rx[2P,n0]=Rx[P,n0]
nhưng
(2P)−αRx[2P,n0](2P)−αRx[P,n0]=<P−αRx[P,n0]
Yếu tố làm giảm đỉnh của một quãng tám thấp hơn là tỷ lệ
(2P)−αRx[2P,n0]P−αRx[P,n0]=(2P)−αP−α=2−α
Vì vậy, nếu bạn muốn tăng đỉnh đầu tiên của mình lên 1% so với đỉnh thứ hai, điều đó có nghĩa là bạn sẽ không chọn cao độ là cao độ phụ hài hòa, trừ khi tự động tương thích cao độ phụ ít hơn 1% so với đỉnh thứ nhất đỉnh điểm, bạn sẽ giải quyết cho từα
2−α=0.99
Đó là cách nhất quán để cân hoặc giảm nhấn mạnh hoặc tàn tật đỉnh tương ứng với cao độ dưới âm một quãng tám dưới đây.
Nó vẫn để lại cho bạn một vấn đề ngưỡng. Bạn phải chọn tốt. Nhưng đây là một cách nhất quán nhấn mạnh đỉnh đầu tiên trong lần thứ hai, đó là một quãng tám thấp hơn, nhưng không quá nhiều đến nỗi nếu ghi chú thực sự là một quãng tám thấp hơn, nhưng năng lượng trong tất cả các giai điệu thậm chí là mạnh mẽ, so với kỳ quặc hài hòa, điều này vẫn sẽ để lại một khả năng cho đỉnh thứ hai được chọn.α