일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- mfc
- Filtering
- Class
- wpf
- c++
- public
- edge
- flutter
- Binary
- digitalRead
- file access
- Gradient
- sensor
- SERIAL
- memory
- Pointer
- Encapusulation
- Unity
- Read
- Gaussian
- parameter
- APP
- UNO
- Contour
- Android
- subpixel
- aduino
- atmega328
- compare
- stream
- Today
- Total
목록2025/06/28 (7)
폴크(FOLC)

Wavelet Denoising은 신호의 주파수와 시간 정보를 동시에 고려하여 노이즈를 제거하는 고급 기법- 특히 경계(에지)를 보존하면서 노이즈를 억제하는 데 효과적이며, 의료 신호, 이미지, 음향 신호, 과학 데이터 등에 널리 사용됩니다.Wavelet Denoising은 다음 세 단계로 수행됩니다:1 단계 : Wavelet Transform: 입력 신호를 다중 해상도(다양한 주파수)로 분해.2 단계 : Thresholding: 노이즈가 주로 포함된 세부 계수(detail coefficients)에 임계값을 적용해 제거.3 단계 : Inverse Transform: 노이즈가 제거된 계수를 기반으로 신호를 복원.1D Soft Thresholding: 예제#include #include #include..

Elliptic 필터(= Cauer filter)는 가장 급격한 주파수 전이 특성을 가지는 IIR 필터입니다. 동일한 필터 스펙(통과대역, 저지대역, ripple, 차단 감쇠)을 만족시키는 필터 중 **가장 낮은 차수(order)**로 구현 가능- 실시간 DSP, 고정밀 신호 처리, 자원 제약 환경 등에 매우 유리합니다. Elliptic Filter란?통과대역과 저지대역 모두에 ripple이 존재.**Elliptic 함수 (Jacobian elliptic function)**을 이용해 설계.Butterworth, Chebyshev보다 더 적은 차수로 동일 성능 구현 가능.설계 파라미터요소설명Order (차수)필터의 sharpness 및 정확도 결정Passband ripple (rpr_prp)통과대역에서..

Chebyshev 필터는 클래식 IIR 필터 설계법 중 하나로, 주어진 사양(통과대역 ripple, 차단대역 감쇠, 전이대역 너비)을 만족시키면서 빠른 롤오프(roll-off)를 제공하는 고성능 필터- 특히 Butterworth 필터보다 짧은 전이대역을 갖지만, **통과대역 또는 저지대역에 ripple(잔류진동)**을 허용합니다. Chebyshev 필터- Chebyshev Type I (1형)통과대역에 ripple, 저지대역은 단조롭게 감쇠.롤오프가 Butterworth보다 빠름.- Chebyshev Type II (2형)저지대역에 ripple, 통과대역은 평탄함.Type I보다 덜 사용됨 (주로 특수 목적). 주파수 응답 (Type I) Tn : n차 Chebyshev 다항식ωc : 컷오프 주파수ϵ..

Butterworth Filter매끄럽고 평탄한 주파수 응답 (통과대역에서 ripple이 없음).필터 차수가 증가할수록 롤오프가 더 급격해짐.특징응답이 가장 "부드러운" 필터급격한 에지 응답은 부족하지만 안정적주파수 응답 (저역통과 기준) 예제#include #include class ButterworthLPF { public: ButterworthLPF(double sampleRate, double cutoffFreq) { double fr = cutoffFreq / sampleRate; double ita = 1.0 / std::tan(M_PI * fr); double q = std::sqrt(2.0); // Q factor for 2nd-or..
Band-pass Filter (대역통과 필터)특정 주파수 범위만 통과시키고, 그 이외의 저주파와 고주파는 차단합니다.예: 515Hz만 통과 → 05Hz, 15Hz~ 이상은 제거용도특정 이벤트나 센서가 생성하는 주파수만 추출하고 싶을 때잡음이 저역 또는 고역에 집중되어 있을 때 Notch Filter (대역저지 필터)특정 좁은 주파수 대역만 제거하고 나머지는 통과시킵니다.예: 60Hz 전력 노이즈 제거 (Line frequency)용도주기적이고 명확한 간섭 신호(기계 진동, 전력 간섭 등) 제거신호 구조를 최대한 유지하면서 잡음만 제거하고자 할 때 예제#include #include #include const double PI = 3.14159265358979323846; // 간단한 IIR 2차 ..

Wiener Filter- 노이즈를 억제하면서 신호를 왜곡 없이 보존하는 것이 목표.- 선형 필터 중 평균 제곱 오차(Mean Square Error, MSE)를 최소화함.동작 방식- 입력 x[n]=s[n]+n[n] (신호 + 잡음)- 출력 y[n]는 다음 조건을 만족하도록 설계:- 주파수 영역에서의 형태 (1D 버전):S(f) : 신호 파워 스펙트럼N(f) : 노이즈 파워 스펙트럼 간단한 1D Wiener Filter 구현 로직핵심 공식 (시간영역 근사)μ : 로컬 윈도우 평균σ2 : 로컬 신호 분산ν2 : 노이즈 추정 분산 (전역 평균 또는 사전 정보) 예제#include #include #include #include #include // 평균 계산 함수 double mean(const s..
윈도우 내 값들을 오름차순 정렬.특정 순위(rank) 또는 백분위(percentile)에 해당하는 값을 반환.- Percentile filter: 0~100 중 하나의 백분위값 (e.g., 20%)- Rank filter: 윈도우 내 인덱스로 직접 지정 (e.g., 3번째 작은 값)입력: [8, 3, 4, 2, 10], 커널 size = 5정렬: [2, 3, 4, 8, 10]20% percentile → 1번째 값 → 350% percentile → 중앙값 → 480% percentile → 4번째 값 → 8 Median보다 더 다양한 filtering 특성이 가능특정 방향성 있는 노이즈 억제 가능 (e.g. 아래쪽 스파이크 제거) 예제#include #include #include #include..