서울 소재 S 대학교 08년도 신호처리설계의 첫 프로젝트였던 스펙트럴 차감 기법 기반의 음성 잡음 감쇄 프로젝트의 소스코드입니다. ANSI C로 개발하였으며 Microsoft visual C++ 로 컴파일 되어 있습니다.코드 이해를 돕기 위해 과제 제안 자료 및 최종 발표 자료 포함하였습니다.
본 문서는 신호처리 설계 과목의 첫 번째 주제인 음성향상에 대한 기초적인 접근부터 시스템의 설계, 실험 결과까지의 과정을 담고 있다. 입력 신호의 잡음을 제거하여 출력하는 시스템의 구현이 목표였으며 잡음을 제거하는데 사용 한 기본 스펙트럼 차감법(Basic Spectral Subtraction)을 바탕으로 성능의 개선에 영향을 주는 배경 설정, 개선된 스팩트럼 차감법 알고리즘, 잡음 추정 알고리즘의 도입을 시도하며 다양한 실험을 진행하였다. 실험 결과 동적인 특성을 지니는 잡음에 대해서만 만족스러운 결과를 얻을 수 있는 한계를 지닌 시스템을 완성시키는데 그쳤으며 이 한계를 뛰어 넘기 위한 개선된 잡음 추정 알고리즘 도입의 필요성을 제안한다. <중 략>총 설계 일정1주차 : 설계 기획, 기본사항 학습, C로 FFT 구현 시도2주차 : MATLAB, C로 Basic Spectral Subtraction 구현(FFT 구현 포함)3주차 : Basic SS System 구축 [C Code]4주차 : Enhanced Noise Estiamtion Algorithm 학습5주차 : MBSS 학습 및 System에 이식6주차 : New NE Algorithm 이식 및 Parameter Tuning<중 략>Spectral Subtraction Enhancements Exponential Alpha Parameter Berouti의 논문(1979)에 등장한 Enhanced Basic SS의 Linear Alpha Parameter를 변형Stationary Noise에 대한 출력 결과가 기존의 Linear Alpha Parameter보다 우수한 것을 확인PESQ Score는 Noise의 종류에 따라서 높게도, 낮게도 나타났지만 결과를 들어보면 기존의 결과물에 녹아 있는 Noise 신호가 사라진 것을 확인할 수 있음
벡터 양자화는 통신 시 보낼 자료의 압축, 전송 과정에서 널리 쓰여 온 대표적인 자료 암호화 기법으로 음성, 영상 자료의 전송 등에 널리 쓰이고 있다. 여기서 다룰 벡터 양자화의 대상은 LPC 파라미터로써 이는 음성의 짧은 구간의 스펙트럴 포락(Spectral Envelope) 정보를 포함하는 대표적인 음성 코딩 방법이다. 이 파라미터들은 평균 50 프레임/초 빈도의 음성 신호로부터 얻어지며 전송에 앞서 이 값들이 양자화 과정을 거치게 된다. 제한된 대역을 통해 전송해야 하는 이유로 가능한 적은 Bit를 사용하여 양자화 하는 것이 매우 중요하다.<중 략>Multistage 기법을 위한 협력 코드-북 설계 3.에서 살펴 본 Multistage 기법은 복조 과정의 연산 량 증대를 대가로 비교적 우수한 변조 결과와 작은 코드-북 크기의 두 가지 이점을 얻을 수 있었다. 하지만 W.Chan[6]의 의견에 따르면 Multistage 과정은 결과적으로 각각의 코드-북간의 조합으로 결과를 내면서 정작 그 세부 코드-북을 생성하는 과정은 서로 독립적인데 따른 비효율의 문제를 안고 있다고 한다. <중 략>효율적인 벡터 양자화에 대한 다양한 접근과 시도를 통해 복조 시 가장 성능이 우수한 양자화 기법에 대해 확인할 수 있었다. 하지만 본 실험 과정에 변조, 복조 과정이 요구하는 계산적 복잡도에 대해서는 심층적인 접근이 이루어지지 않아 본 문서의 결과만으로 구조적 벡터 양자화는 Multistage로만 꾸며야 한다는 결론을 내리기는 무리가 있다고 생각 한다.
서울 소재 S 대학교의 08 통신시스템설계 2차 프로젝트였던 PRMA vs Joind CDMA PRMA (JCP) 구현 및 성능 분석 프로젝트 자료입니다. 5주간의 중간 발표 및 보고 자료와 과정 별 소스코드, 그리고 최종 소스코드 및 최종 보고서와 발표자료 모두 일괄 포함되어있습니다.