매트랩(matlab)실험 Wave파일을 Matlab에 로드하고 여러가지 정보 파악
- 최초 등록일
- 2006.09.14
- 최종 저작일
- 2006.03
- 24페이지/
MS 워드
- 가격 1,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
이 파일은 실험이 끝나고, 마지막에 제출하는 결과 레포트 입니다.
Wave파일을 Matlab에 로드하고 Sampling Frequency와
Quantization Bit수를 변경시켜가며 SQNR의 변화를 관측
하는 실험을 하였고, 직접 받아보면 아시겟지만 정말 공들인 레포트 입니다.
sqnr 을 관측하는 부분을 비롯한 모든 부분을 직접 코딩하였고,
매트랩에 직접 적용이 가능한 코드, 결과 그래프, 결과 분석을
모두 포함했습니다
모든 조 가운데 가장 높은 점수를 받은 레포트 입니다.
목차
다음의 실험은 제공되는 a) 표준 wave file과 b) 자신이 준비한 wave file 에 대해 각각 행하시오.
① Wave fle의 데이터를 Load 하시오. Load 한 Original 데이터를 AW라 합시다.
② Load 한 audio data를 매 2번째 sample의 값만을 취하여, 16 KHz로 한 후, 이를 Interp1 function을 이용하여 32KHz로 복원하시오. AW와 비교하여 음질이 저하된 정도를 SNR 그래프로 그리시오. Interp1 function의 3가지 method를 사용할 때의 차이가 있는지 설명하시오. 생성한 데이터를 wavwrite function을 이용하여 wave file로 변환하고 직접 소리의 질을 평가하시오.
③ 매 4번째 값만을 취하여, 위의 ②의 실험을 반복하시오.
④ AW의 값을 새로 Uniform Quantization하는데 8비트, 4비트 2비트, 1비트로 각각 하고, 각각의 경우에 SQNR을 측정하여 plotting 하시오. Sampling rate는 16 KHz를 유지하시오. 이렇게 만들어진 데이터를 wave file로 변한하고 직접 소리의 질을 평가하시오.
본문내용
‘표준 양자화’ - 0~1까지의 값을 갖는 임의의 신호를 n비트로 양자화 방법
(임의로 만들었기에 표준이라 할 수는 없으나 구분을 위해 이름 붙였음)
n비트 양자화를 하려면 총 개의 양자화 단계를 갖도록 값을 양자화 하면 된다.
S의 값이 0~1이므로 의 값은 0~ 이 된다. 즉 총 개의 양자화 단계를 갖도록 값을 양자화 한 것이다. 따라서 Output은 n비트로 양자화 된다.
이 때 행한 양자화는 Uniform Quantization이다.
‘규격화’ - 신호가 0 ~ 1 이외의 범위 값을 가질 때
그것은 S를 0 ~ 1사이의 범위로 규격화하여 해결 할 수 있다. 그리고 다시 규격화의 반대의 조치를 취하면 원래의 신호 S를 양자화 한 결과를 얻게 된다.
즉,
S가 최대값일 때, 우변은 분모 = 분자이므로 NofS = 1이 되고,
S가 최소값일 때, 우변의 분자 = 0이므로 NofS = 0이 되므로,
이때, NofS는 S의 함수를 0에서 1의 범위가 되도록 규격화 시킨 신호가 된다.
그리고 NofS를 양자화 한 후, 규격화의 반대 작업을 통해 S를 구하면, 주어진 신호 S를 양자화 할 수 있다.
‘표준 양자화’와 규격화의 필요성
일반적으로 주어진 신호가 양수와 음수 값 모두를 가질 경우 ‘규격화’ 없이 n비트 ‘표준 양자화’ 방법을 바로 적용하게 되면 약 n+1비트(-1~1 범위에 대해서)로 양자화 하는 결과를 초래한다.
또한 주어진 신호가 양수 값만을 갖는다고 해도 범위 a~a+k를 갖는 경우 약 n+k비트 양자화를 초래한다.
Log 단위 그래프
위의 2, 3번 문제와 마찬가지로 먼저 decibel 단위로 계산 후 plotting하는 방법을 이용하였다.
분석
SQNR은 2, 2번 문제의 SNR와 비슷하게 신호 자체의 에너지 대 양자화 잡음의 에너지 비이다. 따라서 신호 자체가 변하지 않는 이상 SQNR의 값은 잡음에 의해서만 영향을 받고 그 값이 클수록 더 좋은 신호(본래의 신호로부터 왜곡이 적게 된)이다.
평균적인 경우
입력 신호가 최대진폭이 인 정현파라 가정했을 때 SQNR은
이고,
따라서, 1비트가 늘어날 때마다 SQNR의 값은 4배 더 커진다.
데시벨로 표시하면, 10 log(SQNR) = 10 log3+20n log 2 – 10 log2. 이것은 약 6.02n + 1.8[db]이다. 따라서 1비트가 늘어날 때마다 SQNR의 데시벨은 6이 증가한다.
실제 실험의 경우
실제 실험의 경우 입력 신호가 임의의 음성신호이었기 때문에 위의 일반화된 1bit당 6데시벨의 공식을 얻을 수는 없었으나, 그것에 근사했고, 또한 예상대로 SQNR의 크기는 8bit, 4bit, 2bit, 1bit 순이었다.
참고 자료
없음