UOMOP
Multi-tone Signal의 분석 using Matlab 본문
Question.
위의 신호를 매트랩을 이용하여 시간영역에서 표현하기 위해 샘플링 주파수를 200KHz로 설정하였고,
t = [0, 2msec]구간에 대해서 x(t)를 시간영역에서 도시하시오.
close all; clear all;
fs = 200e3;
ts = 1/fs;
t = 0 : ts : 2e-3;
A1 = 1;
A2 = 1;
f1 = 19e3;
f2 = 21e3;
theta1 = pi/6;
theta2 = pi/3;
xt = A1 * cos(2 * pi * f1 * t + theta1) + A2 * cos(2 * pi * f2 * t + theta2);
% 두 signal을 합친 최종 xt
plot(t, xt)
xlabel('time(ms)');
ylabel('signal(xt)');
title('Two-tone signal xt');
Question.
위의 문제에서 구한 시간영역의 신호 x(t)의 주파수 성분의 크기값을 표현하기 위해서 MATLAB에서 fft를
이용하여 주파수 영역에서 표현해보시오. 주파수 영역에서 표현할 때 fs/2의 범위까지인 [0, 100KHz]에서
값을 도시하시오.
close all; clear all; clc;
A = 1; B = 1;
f1 = 19e3; f2 = 21e3;
theta1 = pi/6; theta2 = pi/3;
fs = 2e5; ts = 1/fs;
L = 2e5; %푸리에 변환을 위한 L설정
t = (0:L-1)*ts;
xt = A*cos(2*pi*f1*t + theta1) + B*cos(2*pi*f2*t + theta2);
Y = fft(xt); %고속푸리에
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
%양의 값을 주파수의 양수부분에서만 확인
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(L/2))/L;
plot(f,P1, 'linewidth', 2)
ylim([0 1.2]);
title('Fourier Transform of xt');
xlabel('freq.');
ylabel('Xf')
Question.
다음과 같은 특성을 가진 비선형 특성을 가지는 Limiter에 위의 Two-tone신호 x(t)를 입력으로 인가하여 출력
y(t)를 구하여라.
close all; clear all;
fs = 200e3;
ts = 1/fs;
t = 0 : ts : 2e-3;
f = linspace(0, 100e3, 401);
A1 = 1; A2 = 1;
f1 = 19e3;
f2 = 21e3;
theta1 = pi/6;
theta2 = pi/3;
xt = A1 * cos(2 * pi * f1 * t + theta1) + A2 * cos(2 * pi * f2 * t + theta2);
for t = 1 : 401
if xt(t) <= -1
yt(t) = -1;
elseif xt(t) >=-1 && xt(t) <=1
yt(t) = xt(t);
else
yt(t) = 1;
end
end
t = 0 : ts : 2e-3;
subplot(2, 1, 1);
plot(t, xt)
ylim([-2 2]);
xlabel('time(t)');
ylabel('x(t) signal');
title('Original two-tone signal');
subplot(2, 1, 2);
plot(t, yt)
ylim([-2 2]);
xlabel('time(t)');
ylabel('x(t) signal');
title('Non-linear system');
Two-tone signal인 x(t)가 비선형시스템을 거쳐서 나오는 출력 y(t)를 확인하는 실습이었다.
문제에서 소개된 비선형시스템은 다음과 같다. 입력 값이 –1보다 작다면 출력 또한 –1이 되고, 1보다 크다면 출력 또한 1이 된다. [-1, 1]에서는 선형시스템으로 입력 값에 대해 그대로 출력이 나온다. 이것이 limiter의 성질이다.
입력된 x(t)는 다음과 같이 최대크기 2, 최소크기 –2를 갖는 주기신호이다. 이 신호가 다음과 같은 limiter를 거쳐서 출력되면 위 그래프와 같이 크기가 [-1, 1]사이의 값들만 x(t) 그대로 출력되게 된다.
Question.
입력신호 x(t)를 가로축에 출력신호 y(t)를 세로축에 표시하여 Limiter 특성을 가지는 함수를 도시하라.
close all; clear all;
fs = 200e3;
ts = 1/fs;
t = 0 : ts : 2e-3;
f = linspace(0, 100e3, 401);
A1 = 1;
A2 = 1;
f1 = 19e3;
f2 = 21e3;
theta1 = pi/6;
theta2 = pi/3;
xt = A1 * cos(2 * pi * f1 * t + theta1) + A2 * cos(2 * pi * f2 * t + theta2);
for t = 1 : 401
if xt(t) <= -1
yt(t) = -1;
elseif xt(t) >=-1 && xt(t) <=1
yt(t) = xt(t);
else
yt(t) = 1;
end
end
t = 0 : ts : 2e-3;
plot(xt, yt) % x에 대한 y, 입력에 대한 출력 특성을 확인
axis([-2 2 -2 2]);
grid;
Question.
출력신호 y(t)를 fft를 이용하여 주파수영역에서 표시하고 x(t)의 주파수 영역에서 표현한 결과와 비교하여
어떤 변화가 있었는지 설명하시오.
close all; clear all;
fs = 2e5;
ts = 1/fs;
L =2e5;
t = (0:L-1)*ts;
A1 = 1; A2 = 1;
f1 = 19e3; f2 = 21e3;
theta1 = pi/6; theta2 = pi/3;
xt = A1 * cos(2 * pi * f1 * t + theta1) + A2 * cos(2 * pi * f2 * t + theta2);
yt = cut(xt);
t = (0:L-1)*ts;
X = fft(xt); Y = fft(yt);
P2 = abs(X/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
P4 = abs(Y/L);
P3 = P4(1:L/2+1);
P3(2:end-1) = 2*P3(2:end-1);
f = fs*(0:(L/2))/L;
subplot(2, 1, 1); plot(f,P1, 'linewidth', 1)
xlim([0 11e4]);
ylim([0 1.2]);
title('Linear');
xlabel('freq.');
ylabel('Xf');
subplot(2, 1, 2); plot(f,P3, 'linewidth', 1)
xlim([0 11e4]);
ylim([0 1.2]);
title('Non-Linear');
xlabel('freq.');
ylabel('Yf');
x(t)는 two-tone signal로 2개(19MHz, 21MHz)의 주파수 성분을 포함하고 있다. 이 신호가 비선형 시스템을 거치게 되면 입력신호의 주파수의 선형 합으로 주파수 성분이 발생한다.
위에 결과로 확인을 해본다면 w1을 19MHz, w2를 21MHz로 가정하겠다. 우선 17000Hz와 23000Hz가 w1과 w2의 inter-modulation으로 인한 주파수임을 확인할 수 있다.
61000Hz는 w1 + 2w2로,
59000Hz는 2w1 + w2로,
17000Hz는 2w1 - w2로,
23000Hz는 2w2 – w1으로 계산이 가능하다.
다음과 같이 비선형 시스템을 거친 출력신호의 주파수 특성과 주파수 발생을 확인할 수 있었다.
'Wireless Comm. > Matlab' 카테고리의 다른 글
Wave Propagation (0) | 2022.01.20 |
---|---|
Filter 특성 확인 using Matlab (0) | 2022.01.20 |
주파수 응답 특성 확인 using Matlab (0) | 2022.01.19 |
Fourier Series using Matlab (0) | 2022.01.19 |
N-level Quantization(양자화) (0) | 2022.01.18 |
Comments