MATLAB을 사용하여 스펙트럼 분석 및 신호 필터링을 위한 프로그램 설계 정보
프로그램 완성
%제목 쓰기
%저역 통과 필터 설계:
[N,Wc]=buttord( )
% 버터워스 저역 통과 필터의 최소 차수 N 및 3dB 차단 주파수 Wc를 추정합니다.
[a,b]=butter(N,Wc) %Design Butterworth low 통과 필터
[h,f]=freqz(); % 디지털 저역 통과 필터의 주파수 응답을 구합니다.
Figure(2) % 창 2 열기
subplot(221); %그래픽 디스플레이 분할 창
plot(f,abs(h)) %버터워스 저역 통과 필터의 진폭-주파수 응답 다이어그램 그리기
title (야만적 저역 통과 필터'');
grid; %그리드를 사용하여 이미지 그리기
sf=filter(a,b,s); 함수 S 통과 저역 통과 필터 후 새 함수
subplot(222);
plot(t,sf) %저역 통과 후 중첩 함수 S의 시간 영역 그래프 그리기 filter
xlabel('시간(초)');
ylabel('진폭별 시간');
SF=fft(sf,256); % 오른쪽 중첩 함수 S가 저역 통과 필터를 통과한 후의 새 함수는 256포인트 기준 2 고속 푸리에 변환을 거칩니다.
w= % 새 신호 각주파수
subplot(223);
p>plot()); %저역 통과 필터를 통과한 후 중첩 함수 S의 스펙트로그램을 플롯합니다.
title('저역 통과 후 스펙트럼 필터링');
%고역 통과 필터 설계
[N,Wc]=buttord()
%최소 차수 N 및 3dB 컷오프 추정 버터워스 고역 통과 필터의 주파수 Wc
[a,b]=butter(N,Wc,'high') %Design 버터워스 고역 통과 필터
[h, f]=freqz(); %디지털 고역 통과 필터 주파수 응답 찾기
Figure(3);
subplot(221);
plot( )); %버터워스 고역 필터의 진폭-주파수 응답 다이어그램을 그립니다.
title('Barbarian 고역 필터');
grid; 그리드
sf=filter(); %중첩 함수 S 고역 통과 필터 이후의 새로운 함수
subplot(222);
plot(t,sf ); ;%고역통과 필터 이후 중첩 함수 S의 시간 영역 그래프를 그립니다.
xlabel('Time(seconds)');
ylabel('Time Waveform');
w; %새 신호 각주파수
subplot(223);
plot()) % 통과 후 중첩 함수 S의 스펙트럼 다이어그램을 그립니다. 고역 통과 필터
title('고역 통과 필터링 후의 스펙트로그램') ;
%대역 통과 필터 설계
[N,Wc
]=buttord([)
%버터워스 대역통과 필터의 최소 차수 N 및 3dB 차단 주파수 Wc를 추정합니다.
[a,b]=butter(N,Wc) % 버터워스 대역통과 필터 설계
[h,f]=freqz(); %디지털 대역통과 필터의 주파수 응답 찾기
Figure(4);
서브플롯 (221);
plot(f,abs(h)); %버터워스 대역통과 필터의 진폭-주파수 응답 다이어그램을 그립니다.
title('버터 대역통과 필터');
grid; %그리드를 사용하여 이미지 그리기
sf=filter(a,b,s) %밴드패스 필터를 통과한 후의 새로운 중첩 함수
subplot(222);
plot(t,sf) %밴드패스 필터를 통과한 후 중첩된 함수 S의 시간 영역 그래프를 그립니다.
xlabel (' Time(seconds)');
ylabel('Timewaveform');
SF=fft(); %대역통과 필터를 통과한 후 중첩 함수 S의 새 값 함수는 256포인트 기반 2 고속 푸리에 변환을 수행합니다.
w=( % 새 신호 각 주파수
subplot(223);
plot(') ) ; %대역통과 필터를 통과한 후 중첩 함수 S의 스펙트럼 다이어그램을 그립니다.
title('대역통과 필터링 후의 스펙트럼 다이어그램');