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

N=21;                                                  % 창 길이 설정
beta=5.658;                                            % 카이저 창  값 지정
x1=boxcar(N);                                          % 사각 창
x2=triang(N);                                          % 삼각 창 
x3=hann(N);                                            % 해닝 창
x4=hamming(N);                                         % 해밍 창
x5=blackman(N);                                        % 블랙먼 창
x6=kaiser(N,beta);                                     % 카이저 창      
[H1 w]=freqz(x1);                                      % 사각 창 주파수 응답 생성 
H2=freqz(x2);                                          % 삼각 창 주파수 응답 생성
H3=freqz(x3);                                          % 해낭 창 주파수 응답 생성
H4=freqz(x4);                                          % 해밍 창 주파수 응답 생성 
H5=freqz(x5);                                          % 블랙먼 창 주파수 응답 생성
H6=freqz(x6);                                          % 카이저 창 주파수 응답 생성
H1mag=20*log10(abs(H1)/max(abs(H1)));                  % 사각 창 dB 크기 응답
H2mag=20*log10(abs(H2)/max(abs(H2)));                  % 삼각 창 dB 크기 응답 
H3mag=20*log10(abs(H3)/max(abs(H3)));                  % 해낭 창 dB 크기 응답
H4mag=20*log10(abs(H4)/max(abs(H4)));                  % 해밍 창 dB 크기 응답
H5mag=20*log10(abs(H5)/max(abs(H5)));                  % 블랙먼 창 dB 크기 응답
H6mag=20*log10(abs(H6)/max(abs(H6)));                  % 카이저 창 dB 크기 응답


figure(1)                                              % 그림 창 1 지정
subplot(2,2,1);                                        % 2행 2열 분할 그림 창의 1번 창
plot(w/(2*pi),H1mag); axis([0 0.5 -100 0]);            % 사각 창 크기 응답을 그림
title('\bf{사각창 크기 응답}');                         % 그림 제목
subplot(2,2,3);                                        % 2행 2열 분할 그림 창의 3번 창
plot(w/(2*pi),angle(H1)/pi); axis([0 0.5 -1 1]);       % 사각 창 위상 응답을 그림
title('\bf{사각창 위상 응답}');                         % 그림 제목
xlabel('\bf{F}'); grid on;                             % x축 라벨 및 그리드 표시 
subplot(2,2,2);                                        % 2행 2열 분할 그림 창의 2번 창
plot(w/(2*pi),H2mag); axis([0 0.5 -100 0]);            % 삼각 창 크기 응답을 그림
title('\bf{삼각창 크기 응답}');                         % 그림 제목
subplot(2,2,4);                                        % 2행 2열 분할 그림 창의 4번 창
plot(w/(2*pi),angle(H2)/pi); axis([0 0.5 -1 1]);       % 삼각 창 위상 응답을 그림 
title('\bf{삼각창 위상 응답}');                         % 그림 제목
xlabel('\bf{F}'); grid on;                             % x축 라벨 및 그리드 표시 

figure(2)                                              % 그림 창 2 지정
subplot(2,2,1);                                        % 2행 2열 분할 그림 창의 1번 창
plot(w/(2*pi),H3mag); axis([0 0.5 -100 0]);            % 해닝 창 크기 응답을 그림
title('\bf{해닝창 크기 응답}');                         % 그림 제목
subplot(2,2,3);                                        % 2행 2열 분할 그림 창의 3번 창
plot(w/(2*pi),angle(H3)/pi); axis([0 0.5 -1 1]);       % 해닝 창 위상 응답을 그림
title('\bf{해닝창 위상 응답}');                         % 그림 제목
xlabel('\bf{F}'); grid on;                             % x축 라벨 및 그리드 표시 
subplot(2,2,2);                                        % 2행 2열 분할 그림 창의 2번 창
plot(w/(2*pi),H4mag); axis([0 0.5 -100 0]);            % 해밍 창 크기 응답을 그림
title('\bf{해밍창 크기 응답}');                         % 그림 제목
subplot(2,2,4);                                        % 2행 2열 분할 그림 창의 4번 창
plot(w/(2*pi),angle(H4)/pi); axis([0 0.5 -1 1]);       % 해밍 창 위상 응답을 그림 
title('\bf{해밍창 위상 응답}');                         % 그림 제목
xlabel('\bf{F}'); grid on;                             % x축 라벨 및 그리드 표시 

figure(3)                                              % 그림창 3 지정
subplot(2,2,1);                                        % 2행 2열 분할 그림 창의 1번 창
plot(w/(2*pi),H5mag); axis([0 0.5 -100 0]);            % 블랙먼 창 크기 응답을 그림
title('\bf{블랙먼창 크기 응답}');                       % 그림 제목
subplot(2,2,3);                                        % 2행 2열 분할 그림창의 3번 창
plot(w/(2*pi),angle(H5)/pi); axis([0 0.5 -1 1]);       % 블랙먼 창 위상 응답을 그림
title('\bf{블랙먼창 위상 응답}');                       % 그림 제목
xlabel('\bf{F}'); grid on;                             % x축 라벨 및 그리드 표시 
subplot(2,2,2);                                        % 2행 2열 분할 그림 창의 2번 창
plot(w/(2*pi),H6mag); axis([0 0.5 -100 0]);            % 카이저 창 크기 응답을 그림
title('\bf{카이저창 크기 응답}');                       % 그림 제목
subplot(2,2,4);                                        % 2행 2열 분할 그림 창의 4번 창
plot(w/(2*pi),angle(H6)/pi); axis([0 0.5 -1 1]);       % 카이저 창 위상 응답을 그림 
title('\bf{카이저창 위상 응답}');                       % 그림 제목
xlabel('\bf{F}'); grid on;                             % x축 라벨 및 그리드 표시 