matlab을 이용한 440Hz BPF(BW = 10Hz) 디자인
- 최초 등록일
- 2011.12.06
- 최종 저작일
- 2011.12
- 8페이지/ 한컴오피스
- 가격 2,000원
소개글
matlab을 이용하여 대역폭이 10Hz인 BPF를 디자인하였습니다.
실험신호를 먼저 이용하여 필터의 작동 여부를 가름하였고 그 다음에 녹음한 파일을 필터와 컨볼루션하여 필터링을 하였습니다.
목차
1. A4(라)만 남기는 BPF (대역폭 = 10Hz)을 디자인
2. 1에서 설계한 BPF h(t) 를 1초간 N = 1024 샘플링하여 h(n)을 구함
3. (필터) H = fft(h , 1024)의 크기 스펙트럼
4. 다음 실험 신호를 필터링(컨볼루션)하고 그 출력의 스펙트럼을 그린다.
5. 4번 결과의 관찰
6. 피아노 음반의 4옥타브(도 미 솔 라) 키를 두드려 녹음한다.
7. 녹음된 피아노 음을 h(n)으로 필터링 하고 그 결과의 스펙트럼을 그린다.
본문내용
1. A4(라)만 남기는 BPF (대역폭 = 10Hz)을 디자인A4(라)만 남기는 BPF (대역폭 = 10Hz)을 디자인
2. 1에서 설계한 BPF h(t) 를 1초간 N = 1024 샘플링하여 h(n)을 구함h(n) = Filter
<소스코드>f0 = 440;
FS = 1024;
Ts = 1/FS;
T = 0 : Ts : 1;
to = 0;
x = 5*pi*stepfun(T,to).*exp(-5*pi*T).*cos(2*pi*f0*T);
Filter = x;
π
3. ①(필터) H = fft(h , 1024)의 크기 스펙트럼
②(필터) H = fft(h , 1024)의 주파수 스펙트럼
<소스코드>f0 = 440;
FS = 1024;
Ts = 1/FS;
T = 0 : Ts : 1;
to = 0;
x = 5*pi*stepfun(T,to).*exp(-5*pi*T).*cos(2*pi*f0*T);
Filter = x;
n_F = (-length(Filter)/2:length(Filter)/2-2)*FS/length(Filter/1000);
plot(n_F,abs((fftshift(mydft(Filter,FS)))));
grid on
참고 자료
없음