책 추천-C로 DSP 코드 작성


12

나는 모든 주요 DSP 방법을 수행하기 위해 실제로 C로 코드를 작성하는 방법을 보여주는 좋은 책을 찾고 있습니다.

  1. FFT.
  2. 저역 통과 및 고역 통과 필터.
  3. 자동 상관.
  4. 소음 처리.

이론에서 C의 실제 코드에 이르기까지 DSP의 모든 기본 사항

예를 들어, 1000 샘플을 얻었습니다. 이제 FFT를 계산하고 노이즈를 제거한 다음 시간 축으로 되돌리려 고합니다.

이 모든 것을 다루는 좋은 것이 있습니까?


1
좋은 질문! 당신이 요구하는 것 같아서 태그를 참조 요청으로 변경했습니다.
Peter K.

2
DFFT는 오타입니까?
Gilles

네, DFFT 만 없습니다 FFT
Brethlosze

답변:


13

DSP for C language에 관한 두 권의 책을 추천 할 수 있습니다.

Embree PM- 디지털 신호 처리를위한 C 언어 알고리즘

오래되어 알맞은 가격으로 쉽게 구할 수 있습니다. 그것은 당신이 묘사 한 거의 4 가지 주제를 다룹니다.

내가 추천하는 다른 것은 :

Malepati H.- 디지털 미디어 처리 : C를 사용한 DSP 알고리즘

더 많은 주제를 다루고 있습니다 (오류 수정 알고리즘 및 이미지 / 비디오 처리 알고리즘 포함). 이것에 대한 좋은 점은 테스트 신호가 구현을 테스트하기 위해 제공된다는 것입니다.


방금 책상에 DSP 용 C 코드가 들어있는 다른 책이 있다는 것을 기억했습니다.

WH- 수치 레시피 : 과학 컴퓨팅 기술

푸리에 변환과 그 응용에 대한 두 개의 장이 있습니다.


마지막 제안-가능하면 자신의 도구를 작성하는 대신 기존 C 라이브러리를 사용하십시오. 바퀴를 재발 명할 필요는 없습니다.


4
다른 모든 능력과 마찬가지로, 발명은 가장 간단한 예에서 시작하여 충분히 연습 할 때 가장 잘 배웁니다. 따라서 바퀴는 발명의 가치를 높이기 위해서가 아니라 발명가가 발명의 본질에 대한 필요한 통찰력을 쌓을 수 있기 때문에 바퀴를 발명하는 것이 항상 유리합니다.
Fat32

3
나는 그것에 동의합니다. 그럼에도 불구하고 내가하고있는 프로젝트의 99 %에서 바퀴를 다시 발명 할 시간이 없었습니다. 반면에, 집에서 직접 할 때 99 %의 경우 현재 도구를 배우고 향상시키기 위해 바퀴를 다시 발명하고 있습니다.
jojek

내 의견으로는 기존 라이브러리를 사용하는 것은 엉망입니다. 모두 하나의 프레임 워크에 모든 라이브러리가 있고 각 프레임 워크에 의존해야하며 DSP를 사용하면 항상 다른 종류의 입력이 있으며 훨씬 더 많은 것이 있습니다 복잡하고이 작업을 수행하는 블랙 박스 만 있습니다.
Curnelious

@Curnelious Event 여러분이 어느 정도 옳았지만 (일부 라이브러리의 경우) 기존 라이브러리가 모두 엉망이라는 데 동의 할 수는 없습니다. 그리고 우리는 그것들을 모두 사용하고 있음을 인정해야합니다. 요점은 현실보다는 철학에 관한 것이다.
Fat32

잘 알려진 라이브러리를 사용하는 것의 한 가지 큰 단점은 사용자가 코드가 실제로 일종의 검토되는지를 어느 정도 확신 할 수 있다는 것입니다. 사람들이 생각하지 않을 몇 가지 특별한 경우가있을 수 있는데, 이는 매우 구체적인 상황에서 문제가 될 수 있습니다. 지금은 DSP 예제를 생각할 수 없지만 일반적인 유형의 문제에 대한 매우 예시적인 예는 과거의 특정 날짜부터 지금까지의 분 수를 계산하는 것입니다. 처음에는 일 수를 얻는 것만 큼 간단 해 보일 수 있지만 시계 시간과 달력이 바뀌면 매우 복잡해집니다.
AndrejaKo

7

SJ Orfanidis의 신호 처리 소개를 추천 합니다. 이론과 실제가 잘 혼합 된 훌륭한 책이며 C와 Matlab의 코드 예제도 있습니다. 일단 당신이 그것을 통해 수행하면 당신은 혼자서 수행하기에 충분히 알 것입니다.


0

Embree PM-디지털 신호 처리를위한 C 언어 알고리즘

필터를 만드는 MSC 작업에 유용했습니다 ... Matlab 코더로 헤더를 만들 수는 있지만 ... 실제로 구현하기가 쉬운 trig 대신 복잡한 숫자로 fft 구현에 문제가있었습니다. .


-1

openSAL의 소스 코드와 Matlab 신호 처리 기능의 옥타브 소스 (C는 아니지만 유용함)를 볼 수 있습니다. 이것이 내가 한 일입니다.


이것은 위험한 절차입니다 .... Matlab 코드에는 너무 많은 중첩 함수가 포함되어 있으며 코드 리버스 엔지니어링을 마무리 할 가능성이 매우 높습니다 .... 과거에 시도했지만 초보자 가이 작업을 수행해야한다고 생각하지 않습니다.
Brethlosze
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.