close all;                                 % 모든 생성된 창을 닫음 
clear all;                                 % 열려있는 작업영역(workspace)을 모두 비움 
clc;                                       % 명령(command) 창을 비움

N=41;                                      % 샘플 스펙트럼의 수 설정
n=0:N-1; Nh=(N-1)/2; m=1:Nh;               % 시간축 설정
dw=2*pi/N;                                 % 주파수 간격 설정
k1=0:floor(Nh); k2=floor(Nh)+1:N-1;        % 샘플링 구간 생성
Hrp=[-j*ones(1,Nh-1) -0.59j];              % 샘플 스펙트럼의 진폭 반 구간 생성
Hrs=[0 Hrp -fliplr(Hrp)];                  % 샘플 스펙트럼의 진폭 생성
Hang=[-Nh*dw*k1 Nh*dw*(N-k2)];             % 샘플 스펙트럼의 위상 계산
Hk=Hrs.*exp(j*Hang);                       % 샘플 스펙트럼 생성
h=ifft(Hk);                                % H[k]를 IDFT하여 임펄스 응답 구함 
ak=2*h(Nh:-1:1);                           % 3형 진폭 응답 계수 계산
M=1024; w=[0:M-1]*2*pi/M;                  % 주파수축 설정
Hr=ak*sin(m'*w);                           % 3형 진폭 응답 계산

subplot(2,1,1);                            % 2행 2열 분할 그림 창의 1번 창
stem(n,h);                                 % 임펄스 응답을 그림
title('\bf{임펄스  응답}');                 % 그림 제목
xlabel('\bf{n}'); grid on;                 % x축 라벨 및 그리드 표시 
subplot(2,1,2);                            % 2행 2열 분할 그림 창의 2번 창
plot(n/N,-j*Hrs,'o',w/(2*pi),Hr);          % 필터 진폭 응답을 그림
title('\bf{필터 진폭 응답}');               % 그림 제목
xlabel('\bf{F}'); grid on;                 % x축 라벨 및 그리드 표시 

