CHƢƠNG 4 XÂY DỰNG HỆ THỐNG THEO DÕI ĐIỆN NĂNG THÔNG MINH
4.6. Hệ thống phần mềm theo dõi điện năng thông minh
4.6.5.2. Thuật toán tìm chu kỳ điện á pT
Để tính chu kỳ điện áp T của tín hiệu đầu vào T bằng cách tìm 2 điểm cực tiểu kế tiếp trên đƣờng cong biến thiên của cƣờng độ dòng điện. Đây chính là 2 điểm bắt đầu và kết thúc của một chu kỳ. Đơn vị của chu kỳ điện áp T là số lƣợng mẫu, nếu muốn đổi ra thời gian thì nhân với chu kỳ lấy mẫu. Thay vì tìm 2 điểm cực tiểu kế tiếp ta có thể đổi thành tìm 2 cực đại hoặc 2 điểm xấp xỉ 0 kế tiếp. Với những mẫu thu thập đƣợc tiếp theo sẽ không cần tính lại chu kỳ điện áp nữa, chúng ta xem nhƣ chu kỳ T là không thay đổi.
Để xác định cực đại hoặc cực tiểu trên đồ thị cƣờng độ dòng điện tức thời, ta sử dụng phƣơng pháp nội suy tuyến tính.
INPUT
Mảng bao gồm các mẫu của tín hiệu data[]
OUTPUT
Điểm cực tiểu thứ nhất beginningIndex
Điểm cực tiểu thứ hai endingIndex
Khoảng cách giữa 2 điểm cực tiểu này tính theo đơn vị số lƣợng mẫu
Thuật toán
Khởi tạo: beginningIndex = -1, endingIndex = -1
Làm trơn dữ liệu bằng phƣơng pháp nội suy tuyến tính:
Với mọi i trong đó 0 <=i < signalSize: Nếu i > 2 và i < signalSize - 3 thì:
tmpArr[i]=(data[i-3]+data[i-2]+data[i-1]+data[i]+ data[i+1]+data[i+2]+data[i+3]) / 7
Ngƣợc lại:
tempArray[i] = data[i]
Với 3 <=i <signalSize -1:
Nếu gặp một vị trí i mà tại đó giá trị của nó bé hơn 3 vị trí liền kề trƣớc và bé hơn 3 vị trí liền kề sau thì đó chính là cực tiểu đầu tiên cần tìm: beginningIndex = i
Thực hiện tƣơng tự bƣớc trên để tìm điểm cực tiểu thứ hai:
endingIndex