'buttord'및 'butter'기능으로 버터 워스 계수를 계산하는 데 어려움이 있습니다. 내 목표는 내가 만든 시계열의 노이즈를 필터링하는 것이다. 시계열에는 적색 잡음 성분과 0.3Hz의 주파수를 갖는 초 누손 (sinuosoid) 신호가 있습니다. 시계열의 샘플링 빈도는 10Hz입니다.MATLAB - 버터 워스 필터 설계를위한 입력 주파수
Wp = 0.33/(sfreq/2); Ws = 0.37/(sfreq/2);
passripp = 0.1; stopatten = 40;
[n,Wn] = buttord(Wp,Ws,passripp,stopatten);
[b,a] = butter(n,Wn);
y_butter = filter(b,a,timeseries(:,2));
시간과 y_butter 플로팅하는 날 어디서나 제로 제공 : http://www.mathworks.com/help/signal/ref/buttord.html 내가 계산 [N, WN] 사양에 대한가 (문서의 예 하나를 따라) 'buttord'에 대한 설명서에 따라
!
난 (512 개 샘플을 사용) 필터의 주파수 응답을 검사 'freqz'을 사용하려고 시도
그 플롯 전이 대역 1 및 4 Hz의 사이 인 것을 나타낸다freqz(b,a,512,sfreq)
!
필터 뒤에 내 이해는 다음의
- 신호 Hz에서 0.3에서
- 잡음 >>
- 는 0 내지 0.33 Hz로 모두 합격 0.3 Hz에서
- 감쇠 이후 0.36 Hz에서 이르기
귀하의 도움을 많이 주시면 감사하겠습니다.
는데이터를 다운로드받을 수 'TS', 2 열의 데이터 I 선형 착용감 트랜드
변수 (matlab에 'detrend')가 청 구의 일부를 제거하는 시간 변수이다의 http://dl.dropbox.com/u/1918592/detrendedTS.mat 칼럼 1 멀리 빨간 잡음 행동.
답장을 보내 주셔서 감사합니다. 간단한 로우 패스만으로도 충분하지만 미래의 작업을 위해 여전히 버트 코드 fn을 사용하고 싶습니다.'[sos, g] = tf2sos (b, a)'로 2 차 섹션을 구성한 다음 계단식 필터 'Hd = dfilt.df2sos (sos, g)'를 입력 한 다음 ybutter = filter (Hd, timeseries) 나를 제로로 만든다. 주파수 응답 'freqz (Hd)'는 정규화 된 단위로되어있어 해석 방법을 모릅니다. – janon128
알았어, 진정해. 귀하의 시계열 코드를 수정하면 (오류가 발생했습니다) 더 도움이 될 것입니다. – learnvst
내가 작업하고있는 (detrended) 시계열은 여기에서 확인할 수 있습니다 : http://dl.dropbox.com/u/ 1918592/detrendedTS.mat 첫 번째 열은 시간 데이터이고 두 번째 열은 생성 된 데이터입니다. – janon128