본문 바로가기
Theory/DSP

[MATLAB 실습 09] 샘플링 주파수 변경 (22.11.23)

by Orangetasteboy 2023. 6. 14.

오디오 신호나 통신 신호 처리에 있어 처음 샘플링된 신호는 다른 샘플링 주파수로 변환하는 과정이 필요하다. 샘플링 rate 변환하는 방법은 아래 그림과 같이 이루어질 수 있다. 샘플링 rate를 높이기 위해 입력 신호는 업 샘플링 후 Low pass filter를 통과한다. 샘플링 rate를 낮추기 위해 입력 신호는 Low pass filter 통과 호 다운 샘플링을 한다. 다운 샘플링하여 분수(L/M) 샘플링 rate 변환을 이룰 수 있다. 분수(L/M) 비율 샘플링 변환하기 위해 신호는 업 샘플링 후 Low pass filter를 통과한 후 다운 샘플링하여 분수 비율 샘플링 rate 변환한다.

 

● 업 샘플링

● 다운 샘플링

● 분수비율 샘플링 rate 변환


I. 정현파신호를 사용한 실험

1. 신호 x(t)를 샘플링 주파수(FS= 1,000 Hz)로 샘플링하여 discrete time signal x[n] 1,000개를 만들어 낸다.

2. x[n]DFT를 이용하여 스펙트럼(주파수)을 확인하세요.

400Hz, 900Hz, 1100Hz, 1600Hz에서 주파수가 나타난다.

 

3. 3배 업 샘플링 rate 변환

(1) filterDesigner을 이용하여 FIR Low Pass Filter(샘플링 rate 3배 변환인 경우 sampling rate=3000Hz, stopband 주파수=

π/3= 1500/3=500Hz)를 설계하시오. (Passband frequency(500Hz), Stopband frequency 550Hz, stopband attenuation(-40dB), Passband ripple(2dB) 정도 주면 될 것입니다.)

(2) x[n]을 샘플링 주파수를 3000Hz(3)로 변경된 신호 y[n] 만들어내시오.

(3) y[n]DFT를 이용하여 스펙트럼(주파수)를 확인하시오.

200Hz, 450Hz, 2550Hz, 2800Hz에서 주파수가 나타난다.

 

(4) 살아있는 주파수는 얼마인가? 샘플링 주파수 1500Hz를 사용하면 750Hz 주파수까지 재생 가능하다.

 

어떤 주파수도 살아남지 않게 되었다.

 

4. 1/2배 다운 샘플링 rate 변환

(1) filterDesigner을 이용하여 FIR Low Pass Filter(샘플링 rate 1/2배 변환인 경우 sampling rate=1000Hz, stopband 주파수=π/2= 500/2=250 Hz)를 설계하시오. (Passband frequency(250Hz), Stopband frequency 280Hz, stopband attenuation(-40dB), Passband ripple(2dB) 정도 주면 될 것입니다.)

(2) x[n]을 샘플링 주파수를 500Hz(1/2)로 변경된 신호 y[n] 만들어내시오.

(3) y[n]DFT를 이용하여 스펙트럼(주파수)를 확인하시오.

(4) 살아있는 주파수는 얼마인가?

 

어떤 주파수도 살아남지 않게 되었다.

 

(5) 샘플링 변환 과정에서 LPF를 사용하지 않고 Down-sampling하여 z[n] 신호를 만들어내시오.

7. z[n]신호를 DFT하여 어느 스펙트럼이 나타나는지 확인하시오.

50Hz, 200Hz, 300Hz, 450Hz에서 주파수가 나타난다.


II. 실제 음성 데이터를 사용한 실험

1. 음성데이타 (speech.wav,샘플링 주파수=8,000Hz)를 읽어 온 후 샘플링 주파수를 12,000Hz로 변경하시오.

(filterDesigner을 이용하여 FIR Low Pass Filter(샘플링 rate 3/2변환인 경우 sampling rate=24,000Hz, stopband 주파수=π/3=12,000/3=4,000Hz)를 설계하시오. (Passband frequency(4000Hz), Stopband frequency 4500Hz, stopband attenuation(-40dB), Passband ripple(2dB) 정도 주면 될 것입니다.)

2. 원음, 샘플링 rate 변환된 신호의 DFT를 구하고 주 신호의 특징을 비교하시오.

주파수 스펙트럼은 같으나 신호의 크기가 작아졌다.

 

3. 샘플링 주파수가 변경된 음성을 청취하여 원래의 음성과 차이점을 쓰시오 (소리를 듣는 방법: sound(z, 12000);)

소리는 그대로 들리지만 소리의 크기가 작아졌다.

 

4. I.6 과정과 같이 LPF를 사용하지 않고 샘플링 rate(12,000Hz) 변환을 하시오.

5. 원음, 샘플링 rate 변환된 신호의 spectrogram을 구하고 두 신호의 특징을 비교하시오.(spectrogram(z,256,200,256,'yaxis');

aliasing이 발생하였다.

 

6. 음성을 청취하였을 때 소리는 어떻게 들리는지 적으시오.

 

댓글