본문 바로가기
통신

Digital Signal Up Down Conversion

by __observer__ 2012. 10. 20.
반응형

현대 사람들이라면 주파수라는 말을 들어보지 못하신 분들은 없을 것입니다.

 

핸드폰을 다 사용하니 SK 주파수가 어떻고~ KT 주파수는 어떻고~ 하는 말도 많이들 들어보셨을 테고~

 

요즘은 라디오 하나만 들을라고 해도 라디오 주파수라는걸 알아야 되니깐 우리는 알게 모르게 주파수라는걸 자주 접하고 있습니다.

 

어쨌든 이런 주파수는 통신에 있어 굉장히 중요한데~

 

오늘은 주파수 변환에 MATLAB 을 사용하여 간단히 알아보겠습니다.

 

코드는 다음과 같습니다.

ft=2e6; % exp signal frequency

fc_U=10e6; % Carrier Frequency

fc_D=11e6; % Carrier Frequency

 

 

Fs=40e6; % Sample rate

Ts=1/Fs; % Sample duration

 

L=10000; % # of Sample

n=(0:(L-1))*Ts;

 

 

Data=exp(1i*2*pi*ft.*n); % Cosine + j Sine data

Carrier_signal=exp(1i*2*pi*fc_U*n); % Up conversion carrier

Carrier_signal2=exp(-1i*2*pi*fc_D*n); % Down conversion carrier

 

UpConversionedData=Data .* Carrier_signal; % Up conversion

DownConversionedData=UpConversionedData .* Carrier_signal2; % Down conversion

 

 

 

NFFT = 2^nextpow2(L); % FFT size

Y1 = fft(Data,NFFT)/L; % FFT of exp() data

Y_U = fft(UpConversionedData,NFFT)/L; % FFT of UpConversioned Data

Y_D = fft(DownConversionedData,NFFT)/L; % FFT of DownConversioned Data

f = Fs/2*linspace(0,1,NFFT/2+1); % Frequency axis

 

%% Graph

 

figure, subplot(311)

plot(f,2*abs(Y1(1:NFFT/2+1))) , grid on

title('FFT of exp() ')

xlabel('Frequency (Hz)')

ylabel('|Y1(f)|')

 

 

subplot(312)

plot(f,2*abs(Y_U(1:NFFT/2+1))) , grid on

title('FFT of Upconversioned data')

xlabel('Frequency (Hz)')

ylabel('|Y_U(f)|')

 

subplot(313)

plot(f,2*abs(Y_D(1:NFFT/2+1))) , grid on

title('FFT of DownConversioned data')

xlabel('Frequency (Hz)')

ylabel('|Y_D(f)|')

위 예는 간단하게 2 MHz 주파수의 exp() 톤 신호를 10 MHz up conversion 했다가 11 MHz down conversion 하는 예제 인데요~

 

Up down conversion 은 수학적으로는 간단하게 sin, cosine 함수를 적절히 곱해주면 되는 겁니다.

 

주석에 설명을 해서 굳이 설명 드리지는 않겠습니다.

 

다음과 같이 Up Down Conversion 결과를 보실 수 있습니다.

 

반응형

'통신' 카테고리의 다른 글

[C/C++] Q, erfc function  (0) 2011.10.05
[디지털 통신] Quantization 에 따른 SNR  (0) 2011.05.24
[디지털 통신] QAM mapping & demapping  (4) 2011.04.09
[디지털 통신] BPSK, QPSK  (4) 2011.03.08

댓글