서브메뉴

본문

디지털 신호처리 (파이썬으로 배우는)
디지털 신호처리 (파이썬으로 배우는)
저자 : 하석운
출판사 : 생능출판
출판년 : 2020
ISBN : 9788970504230

책소개

오늘날 우리는 고도로 발달된 디지털 시대에 살고 있다. 스마트폰이나 컴퓨터와 같은 디지털 기기와 함께하지 않는 경우가 없고 디지털이라는 용어도 마치 필수 언어처럼 매우 익숙해져있는 현실이다. 이러한 디지털 기기들은 연결된 키보드나 마이크나 카메라를 통해서 문자나 음성이나 영상을 입력받기도 하고 모니터나 프린터 등으로 출력하기도 한다. 이와 같은 입출력을 행하기 위해서는 사실 디지털 기기 내부에서 신호 또는 데이터를 디지털로 처리하는 어떤 복잡한 과정들을 거치게 되어 있다. 또한 산업 현장에서도 각종 생산 및 측정 장비들이 연결된 센서들로부터 신호를 입력받아서 원하는 출력을 얻기까지 특정한 디지털 형태의 신호처리를 수행함으로써 고도의 생산 능력을 발휘하고 있다. 군사나 항공우주와 같이 고도의 기술을 요하는 분야에서도 디지털 기기와 디지털 신호처리를 적용해야만 소기의 목적을 달성할 수 있다는 것은 널리 알려져 있는 사실이다.

디지털 신호처리는 누구나 쉽게 접근할 수 있는 학문은 아니지만 전기전자나 통신, 그리고 컴퓨터공학 분야에서는 필수적으로 배워야 하는 기본 과목으로 가르치고 있다. 필자는 대학에서 이 과목을 올해로 27년 동안 한 해도 거르지 않고 가르쳐 왔다. 그 동안 포트란, 파스칼, C 언어를 사용해서 그 이론을 이해하는 실습을 병행해 왔을 뿐만 아니라, 매트랩이나 랩뷰와 같은 매우 효율적이고 가시적인 그래픽 구현 환경을 제공하는 상용 툴들을 사용하기도 했으며, 더불어 디지털 신호처리기(DSP)를 사용해서 실제 하드웨어적으로 구현해 보는 실습을 병행하기도 했으나, 최근에 와서는 이들 상용 소프트웨어 사용에 관한 제약으로 인해 학생들이 이 과목을 손쉽게 수강하거나 교수가 활용하기에 높은 비용적인 장벽이 있어 왔다.

필자는 이러한 교육 현장에서의 어려움을 해소하기 위해 고심하던 중에 파이썬이라는 새로운 언어를 접하게 되었고 자유스러운 환경에서 누구나 이용할 수 있는 점을 고려하여 이 디지털 신호처리 전반에 걸친 실습을 교수나 학생들이 비용에 관한 제약 없이 실행해 볼 수 있도록 모든 실습에 필요한 주프로그램과 서브프로그램을 파이썬을 기반으로 만들어서 모든 이론들을 실습을 통해 검증해 볼 수 있는 기회를 제공하게 되었다. 먼저 이 교재는 대학에서 필수 또는 선택과목으로 한 학기 동안 배울 수 있는 분량으로 집필했지만 다른 교재들에서 소홀하게 다루고 있는 필터 설계 부분을 많이 첨가하였다. 필자는 이 교재에서 실습을 위해 아나콘다 파이썬을 설치하였으며, 파이썬의 기본 문법을 제공하지는 않지만 파이썬 언어의 구조가 나이든 필자가 접근하고 소스코드를 직접 만들 수 있을 정도인 점을 고려해볼 때 조금만 관심을 기울이면 쉽게 이해하고 또 도전할 수 있을 것으로 확신하며, 이 책을 통해 파이썬 언어를 익힘과 동시에 디지털 신호처리도 배울 수 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

오늘날 우리는 고도로 발달된 디지털 시대에 살고 있다. 스마트폰이나 컴퓨터와 같은 디지털 기기와 함께하지 않는 경우가 없고 디지털이라는 용어도 마치 필수 언어처럼 매우 익숙해져있는 현실이다. 이러한 디지털 기기들은 연결된 키보드나 마이크나 카메라를 통해서 문자나 음성이나 영상을 입력받기도 하고 모니터나 프린터 등으로 출력하기도 한다. 이와 같은 입출력을 행하기 위해서는 사실 디지털 기기 내부에서 신호 또는 데이터를 디지털로 처리하는 어떤 복잡한 과정들을 거치게 되어 있다. 또한 산업 현장에서도 각종 생산 및 측정 장비들이 연결된 센서들로부터 신호를 입력받아서 원하는 출력을 얻기까지 특정한 디지털 형태의 신호처리를 수행함으로써 고도의 생산 능력을 발휘하고 있다. 군사나 항공우주와 같이 고도의 기술을 요하는 분야에서도 디지털 기기와 디지털 신호처리를 적용해야만 소기의 목적을 달성할 수 있다는 것은 널리 알려져 있는 사실이다.

디지털 신호처리는 누구나 쉽게 접근할 수 있는 학문은 아니지만 전기전자나 통신, 그리고 컴퓨터공학 분야에서는 필수적으로 배워야 하는 기본 과목으로 가르치고 있다. 필자는 대학에서 이 과목을 올해로 27년 동안 한 해도 거르지 않고 가르쳐 왔다. 그 동안 포트란, 파스칼, C 언어를 사용해서 그 이론을 이해하는 실습을 병행해 왔을 뿐만 아니라, 매트랩이나 랩뷰와 같은 매우 효율적이고 가시적인 그래픽 구현 환경을 제공하는 상용 툴들을 사용하기도 했으며, 더불어 디지털 신호처리기(DSP)를 사용해서 실제 하드웨어적으로 구현해 보는 실습을 병행하기도 했으나, 최근에 와서는 이들 상용 소프트웨어 사용에 관한 제약으로 인해 학생들이 이 과목을 손쉽게 수강하거나 교수가 활용하기에 높은 비용적인 장벽이 있어 왔다.

필자는 이러한 교육 현장에서의 어려움을 해소하기 위해 고심하던 중에 파이썬이라는 새로운 언어를 접하게 되었고 자유스러운 환경에서 누구나 이용할 수 있는 점을 고려하여 이 디지털 신호처리 전반에 걸친 실습을 교수나 학생들이 비용에 관한 제약 없이 실행해 볼 수 있도록 모든 실습에 필요한 주프로그램과 서브프로그램을 파이썬을 기반으로 만들어서 모든 이론들을 실습을 통해 검증해 볼 수 있는 기회를 제공하게 되었다.

먼저 이 교재는 대학에서 필수 또는 선택과목으로 한 학기 동안 배울 수 있는 분량으로 집필했지만 다른 교재들에서 소홀하게 다루고 있는 필터 설계 부분을 많이 첨가하였다.

필자는 이 교재에서 실습을 위해 아나콘다 파이썬을 설치하였으며, 파이썬의 기본 문법을 제공하지는 않지만 파이썬 언어의 구조가 나이든 필자가 접근하고 소스코드를 직접 만들 수 있을 정도인 점을 고려해볼 때 조금만 관심을 기울이면 쉽게 이해하고 또 도전할 수 있을 것으로 확신하며, 이 책을 통해 파이썬 언어를 익힘과 동시에 디지털 신호처리도 배울 수 있다.



이 책의 특징



1. 실습 언어로 파이썬을 사용하였다.

파이썬은 프리웨어로 제공되는 언어로써 교육용으로 사용하기에는 매우 적절한 프로그래밍 언어이다. 그래픽 처리를 통한 가시적인 효과나 연산처리 능력은 매트랩이나 랩뷰를 능가할 정도이다. 따라서 파이썬의 기본 제어 구조만 익힌다면 매우 유용하게 사용할 수 있으며, 본 책에서 제공하는 소스코드를 사용해서 곧 바로 실행하여 그 결과를 살펴보면 디지털 신호처리의 이론적 배경을 이해할 수 있을 뿐만 아니라 나아가서 파이썬을 이용한 프로그래밍 응용 능력도 키울 수 있다.



2. 이론에 알맞은 예제를 제공하였다.

디지털 신호처리 이론은 행렬, 삼각함수, 복소수와 같은 관련 수학함수들을 기반으로 전개된다. 그러므로 그 수학적 구조로 인해 이해하는 데 어려움을 가질 수 있으나, 예제를 통하면 손쉽게 이해할 수 있다. 따라서 본 책에서도 각 장마다 관련 예제들을 풍부하게 제공하고 있으며, 이 예제들을 풀어봄으로써 역으로 이론을 이해하는 접근방법에 많은 도움이 될 것이다.



3. 예제별로 소스코드의 부분 해석을 곁들였다.

예제별로 전체 소스코드의 부분들을 순서대로 그 결과와 함께 비교하면서 이해할 수 있도록 해석을 곁들임으로써 전체 소스코드를 자연스럽게 이해할 수 있게 하였다. 뿐만 아니라 각 장들마다 예제들에서 공통으로 사용하는 코드 부분들을 별도로 모듈 형태로 불러 쓸 수 있도록 각 장의 끝부분에 모듈 소스코드 전체를 제공하였으므로 각 예제별로 참조하여 사용하면 된다.



4. 연습문제를 많이 제공하였다.

예제들은 이론을 이해하기에 알맞은 정도로 한정되기 때문에 배운 기초 이론을 확실히 이해하고 보다 확장해 보기 위해서는 연습문제를 많이 풀어보는 것이 도움이 된다. 따라서 이 책에서도 다양하게 응용한 연습문제들을 각 장별로 많이 제공하였으며 프로그래밍 문제도 곁들였으므로 프로그래밍 능력 향상에도 도움이 될 것이다.
[알라딘에서 제공한 정보입니다.]

목차정보

CHAPTER 01 디지털 신호처리 개요

1.1 신호

1.1.1 신호의 정의

1.1.2 신호의 분류

1.1.3 이산신호

1.1.4 디지털신호 및 이진신호

1.2 시스템

1.2.1 시스템의 정의

1.2.2 연속시스템과 이산시스템

1.3 디지털 신호처리

1.3.1 디지털 신호처리의 개요

1.3.2 디지털 신호처리의 범주

연습문제



CHAPTER 02 연속시간신호의 분석

2.1 푸리에해석

2.2 정현파신호

2.2.1 등각속도 회전운동

2.2.2 정현파신호의 생성

2.3 복소지수신호

2.3.1 복소수

2.3.2 복소지수 정현파신호

2.3.3 정현파신호의 주파수영역 표현

2.4 연속시간 푸리에급수

2.4.1 삼각함수에 의한 연속시간 푸리에급수

2.4.2 복소지수에 의한 연속시간 푸리에급수

2.5 연속시간 푸리에변환

2.6 샘플링과 복원

2.6.1 샘플링

2.6.2 복원

연습문제



CHAPTER 03 이산시간신호와 시스템

3.1 이산시간신호와 이산신호

3.1.1 이산시간신호

3.1.2 이산신호

3.2 이산신호의 종류

3.3 이산신호의 연산

3.3.1 기본 연산

3.3.2 다른 유용한 연산들

3.4 이산시스템

3.4.1 선형시스템

3.4.2 시불변시스템

3.4.3 선형시불변시스템

3.5 컨볼루션

3.6 차분방정식

연습문제



CHAPTER 04 이산 푸리에변환

4.1 이산시간 푸리에급수

4.2 이산시간 푸리에변환

4.3 이산 푸리에변환

4.3.1 회전인자

4.3.2 DFT 쌍을 이용한 디지털 신호처리

4.4 고속 푸리에변환

4.4.1 고속 푸리에변환

4.4.2 역 고속 푸리에변환

연습문제



CHAPTER 05 z-변환

5.1 z-변환

5.2 z-변환의 주요 특성

5.3 역 z-변환

5.4 z-영역에서의 시스템 표현

5.4.1 시스템함수

5.4.2 차분방정식으로부터 시스템함수 구하기

5.4.3 시스템함수로부터 주파수응답함수의 표현

5.4.4 안정성과 인과성

5.5 차분방정식의 해

연습문제



CHAPTER 06 디지털필터 구조

6.1 기본 소자

6.2 IIR 필터 구조

6.2.1 직접형

6.2.2 직렬형

6.2.3 병렬형

6.3 IIR 필터 구조 실습

6.3.1 제1 직접형 구조 실습

6.3.2 제2 직접형 구조 실습

6.3.3 전치 제2 직접형 구조 실습

6.3.4 직렬형 구조 실습

6.3.5 병렬형 구조 실습

6.4 FIR 필터 구조

6.4.1 직접형

6.4.2 직렬형

6.4.3 선형위상형

6.5 FIR 필터 구조 실습

6.5.1 직접형 구조 실습

6.5.2 직렬형 구조 실습

6.5.3 선형위상형 구조 실습

연습문제



CHAPTER 07 디지털 FIR 필터 설계

7.1 디지털필터 설계 기초

7.1.1 이상적인 필터의 특성

7.1.2 실제적인 필터 특성

7.1.3 필터 설계 사양

7.2 디지털 FIR 필터 설계 기법

7.3 위상과 선형위상

7.4 선형위상 FIR 필터의 특성

7.4.1 임펄스응답 특성

7.4.2 주파수응답과 위상응답 특성

7.4.3 선형위상 FIR 필터의 영점 분포 특성

7.5 선형위상 FIR 필터의 형태와 특성 실습

7.5.1 제1형 선형위상 FIR 필터

7.5.2 제2형 선형위상 FIR 필터

7.5.3 제3형 선형위상 FIR 필터

7.5.4 제4형 선형위상 FIR 필터

7.6 창 설계 기법의 개요와 창의 종류

7.6.1 창 설계 기법의 개요

7.6.2 창의 종류

7.7 창 설계 기법에 의한 FIR 필터 설계

7.7.1 이상적인 필터 구성

7.7.2 해밍 창에 의한 저역통과 FIR 필터 설계

7.7.3 핸 창에 의한 고역통과 FIR 필터 설계

7.7.4 블랙맨 창에 의한 대역통과 FIR 필터 설계

7.7.5 카이저 창에 의한 대역저지 FIR 필터 설계

7.8 최적 등-리플 설계 기법에 의한 FIR 필터 설계

7.8.1 미니맥스 문제

7.8.2 최적 등-리플 FIR 필터 설계

연습문제



CHAPTER 08 디지털 IIR 필터 설계

8.1 디지털 IIR 필터 설계의 기본

8.2 아날로그 저역통과필터의 특성

8.2.1 크기제곱응답의 특성

8.3 아날로그 IIR 저역통과필터 설계

8.3.1 버터워스 저역통과필터의 특성 및 설계

8.3.2 체비세프 저역통과필터의 특성 및 설계

8.3.3 엘립틱 저역통과필터의 특성 및 설계

8.4 아날로그-디지털 변환에 의한 디지털 IIR 저역통과필터 설계

8.4.1 이선형변환

8.4.2 디지털 버터워스 저역통과필터 설계

8.4.3 디지털 체비세프-1 저역통과필터 설계

8.4.4 디지털 체비세프-2 저역통과필터 설계

8.4.5 디지털 엘립틱 저역통과필터 설계

8.5 주파수대역변환에 의한 다른 디지털 IIR 선택형필터 설계

8.6 SciPy 라이브러리의 signal 함수에 의한 디지털 IIR 필터 설계

8.6.1 디지털 버터워스 저역통과필터 설계

8.6.2 디지털 체비세프-1 고역통과필터 설계

8.6.3 디지털 엘립틱 대역통과필터 설계

8.6.4 디지털 체비세프-2 대역저지필터 설계

연습문제
[알라딘에서 제공한 정보입니다.]