Hiệu ứng trung bình
Sử dụng bộ lọc trung bình di động sẽ làm giảm các bất thường trong tín hiệu. Tiếng ồn trở thành E / N trong đó N là chiều dài của bộ lọc trung bình di chuyển. Tác dụng phụ của việc sử dụng MA là các đỉnh tín hiệu trở nên rộng hơn và nông hơn.
Ngoài ra, nội dung tần số của tín hiệu sẽ thay đổi. Một bộ lọc trung bình di chuyển trong miền thời gian cũng giống như việc tạo tín hiệu miền tần số bằng một hàm chân, mọi thứ sẽ bị nhoè đi.
Thuật toán phát hiện đỉnh Phát hiện
đỉnh là một vấn đề phổ biến trong 9/10 vấn đề kỹ thuật. (không thực sự, nhưng một TON phụ thuộc vào họ)
Thông thường đây là những gì được thực hiện:
Ngưỡng trung bình
1) Look for all peaks in your signal. (i.e., a point that is larger than the two
adjacent points
2) take this list of points and for each one of them compute:
med_threshold = median(Peak,Width) + constantThresholmedian where median is the
median value of the data centered at "Peak" with Width being the number of
points to look at.
a) The Width(usually written as Lambda in literature) and constantThreshold
(usually written as C) are determined by trial and error and using the ROC
curve (Acronym below)
3) if the peak's magnitude is above this threshold accept it as a true peak.
Else: Discard it, its a false peak
4) Generate a Receiver Operating Characteristic Curve(ROC) to how well the algorithm
is performing.
Đây là một ví dụ:
suppose we have the signal X = [ 0 0 0 0 1 3 **9** 2 1 1 **2** 1 1 ]
1) 9 and 2 are both potential peaks
2) Lets use a window of 5 and a threshold =2
so at 9 we have [1 3 9 1 2] -> [1 1 2 3 9] so Median(9,5) = 2
9 > 2 +2, therefor its a peak
Lets take a look at 2: [ 1 1 2 1 1] -> [1 1 1 1 2 ] Median(2,5) = 1
2 < 1+2, therefor it is NOT a peak.
Xác định tần số
Bây giờ, bạn đã tìm thấy hiệu quả nội địa hóa thời gian của cực đại cố gắng tìm tần số của chúng:
1) Use the locations of the peaks to generate a pulse train
a) this means create sum(Dirac_delta[t-L(n)]) where L(n) is the nth time that
you've localized through median thresholding
2) Apply FFT Algorithm
3) Look for largest peak.
Ước tính tần số thay thế
1) Think of this like a beat in a piece of music (I learned about thresholding by
researching Onset Detection.
2) Compute the average time distance between detected peaks.
3) now call your results BPM or PPM (pulses per minute)
Các nghiên cứu bổ sung
Mặc dù bạn có thể hài lòng với tín hiệu cực đại như hiện tại, có những thuật toán được áp dụng cho một loạt các vấn đề khác nhau được gọi là Phát hiện khởi phát.
Phát hiện khởi phát là một lĩnh vực lớn trong nghiên cứu truy xuất thông tin âm nhạc. Nó được sử dụng để xác định khi một ghi chú đang được chơi.
Nếu bạn nghĩ tín hiệu đầu băng của bạn là tín hiệu được lấy mẫu cao, bạn có thể áp dụng nhiều thuật toán mà bạn sẽ tìm thấy trong bài báo này:
http://www.elec.qmul.ac.uk/people/juan/Document/Bello-TSAP-2005.pdf