결론적으로는
번째 프레임에서 padding 픽셀수를 세보니 13픽셀정도 되어서 직접 잘라보았다.
PADDING = 13
def nthFrame(n):
# 패딩 구현
frametrim = raw[(n-1)* (samples_per_vector * VECTORS) + PADDING* (n-1): n* (samples_per_vector * VECTORS)+ PADDING*(n-1)]
frame = frametrim.reshape((samples_per_vector, VECTORS), order='F')
return frame[VECTOR_HEADER:, :]


하지만 문제는 쉽게 없어지지 않았는데....
아래 그림 처럼 Frame 수가 다시 커지면 Frame Drifting 현상이 다시 일어난다는 것이었다...
PADDING 변수 값을 여러개로 증감 시켜보았지만 비슷한 현상이 일어나는 것으로 보아,
PADDING의 두께는 일정한것이 아니라 프레임에 따라 변화한다는 것을 예상 할 수 있다.

그러면 PADDING을 어떻게 깔끔하게 자를 수 있을까?
Frame 34의 PADDING 부분을 확대해 보았다.(아래 그림의 빨간색 부분) PADDING은 X축에 평행하고
그 밝기가 일정해보임을 알 수 있었다.
그러면 이 밝기가 진짜 일정한지 한번 분석해 보면 될듯한데

print(f'standard deviation of padding: {np.std(bmode_N[59])}')
print(f'stardard deviation of non-padding data: {np.std(bmode_N[140])}')

padding 의 표준편차는 거의 없다.
그래서 좀 더 분석해봄
for idx, i in enumerate(bmode_N):
if np.std(i) < 0.01:
print(idx, np.std(i))

'이직로그 > DSP' 카테고리의 다른 글
| 빔포밍 시뮬레이션 7 - 전체 padding 위치 찾기 (0) | 2025.11.20 |
|---|---|
| 빔포밍 시뮬레이션 6 - 105 프레임 (0) | 2025.11.20 |
| 빔포밍 시뮬레이션 3 - N번째 프레임 이미지 처리 (0) | 2025.11.13 |
| 빔포밍 시뮬레이션 2 - 첫번째 프레임 이미지 처리 (0) | 2025.11.13 |
| 빔포밍 시뮬레이션 1 - 첫번째 프레임 찾기 (0) | 2025.11.12 |