Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
관리 메뉴

OnlyOne

신호[Energy and Power Signals] 본문

Control Engineering/Linear System and Signal

신호[Energy and Power Signals]

Taesan Kim 2024. 7. 31. 22:51

신호[Energy and Power Signals]

신호의 구분 중 하나인 에너지 신호와 파워 신호에 대해 알아볼 것이다. 이전 포스팅과 함께보면 이해가 빠를 것이다.

 

2024.07.29 - [제어공학] - CT신호와 DT신호

 

CT신호와 DT신호

CT신호와 DT신호신호란 무엇인가?신호는 정보를 전달하는 독립적인 변수들로 이루어진 함수들이다.신호는 항상 정보를 생성하고 추출하는 시스템과 연관이 있다. 신호의 분류1. continuous-time(CT) d

taesan5435.tistory.com

 

Power

물리학에서 Power의 의미는 무엇일까? Power은 순간적으로 낼 수 있는 힘을 의미한다. 전자기학에서 Power은 전류의 제곱에 비례하고, 제어공학에서 Power은 신호의 제곱으로 정의한다.

 

Power의 정의

Energy

에너지는 Power와 적분 관계이다. 에너지는 Power을 적분한 값이다. 신호의 전체 에너지를 구하고 싶다면, 무한대의 시간에 대해서 Power을 적분하면 된다. 즉, 신호의 제곱을 모두 적분하면, 신호의 전체 에너지를 구할 수 있다.

 

Total Energy and Average Power

위 그림에서 순시파워는 파란색으로 쓰여진 신호의 제곱이고, 첫번째 줄 전체 에너지를 통해, 평균 Power도 알 수 있음을 보였다.

 

* RMS(Root Mean Square)

여기서 RMS는 average Power의 제곱근 값으로 정의한다.

 

 

Energy Signal

  • 에너지 신호는 Total 에너지가 유한한 신호를 의미한다.
  • Total Energy가 유한하기 위해서 average Power은 0이 되어야 한다.
  • 대표적인 예시로 Rectangulat pulse 또는 Triangular pulse가 있다.

Power Signal

  • 파워 시그널은 Power가 유한한 신호이다.
  • 따라서 Power가 0이 아닌경우, 에너지는 발산하므로, 대체적으로 에너지는 발산하는 신호라고 알 수 있다.
  • Sinusodial signals을 포함한 대부분의 주기함수는 Power signal이다.

* Impulse Delta Signal은 무한대의 에너지를 갖는다. 하지만, 이 문제에 관해서는 후에 주파수 영역의 Parseval's Teorem을 다룰 때 명확히 짚어볼 것이다.

 

 

Example : 아래 신호들은 Energy Bounded한가?

clc; clear all; close all;

TIME = struct('Start', 0.0, ...
              'Final', 5.0, ...
              'Ntime', 1, ...
              'Ts', 1e-3, ...
              'time', 0);
f = 1; %진동수
T = 1/f; %주기

TIME.time = TIME.Start : TIME.Ts : TIME.Final * T;
TIME.Ntime = length(TIME.time);
TIME.idx = 1;
t = TIME.time;

sine_func = sin(2*pi*f*t); %fundamental frequancy(rad/s)를 이용
square_func = square(2*pi*f*t);
sawtooth_func = sawtooth(2*pi*f*t);
cosine_func = cos(2*pi*f*t);

figure, hold on, grid on;
plot(TIME.time, sine_func, 'r-', 'DisplayName','Sine wave');
plot(TIME.time, square_func, 'b-', 'DisplayName','Square wave');
axis equal;

figure, hold on, grid on;
plot(TIME.time, sawtooth_func, 'r-', 'DisplayName','sawtooth wave');
plot(TIME.time, cosine_func, 'b-', 'DisplayName','cosine wave');


axis equal;
xlabel('Time [sec]'   , 'FontWeight', 'bold');
ylabel('Amplitude [-]', 'FontWeight', 'bold');
legend('Location','northeast','FontWeight','bold');

 

sawtooth wave and cosine wave
sine wave and Square wave

 

위 신호들에 각각 Power공식을 적용하여 Average Power값을 구한다.

 

clc; clear all; close all;

TIME = struct('Start', 0.0, ...
              'Final', 5.0, ...
              'Ntime', 1, ...
              'Ts', 1e-3, ...
              'time', 0);
f = 1; % Frequency
T = 1/f; % Period

TIME.time = TIME.Start : TIME.Ts : TIME.Final * T;
TIME.Ntime = length(TIME.time);
t = TIME.time;

% Define functions for signals
sine_func = @(t) sin(2*pi*f*t).^2;
square_func = @(t) square(2*pi*f*t).^2;
sawtooth_func = @(t) sawtooth(2*pi*f*t).^2;
cosine_func = @(t) cos(2*pi*f*t).^2;

% Calculate power over the time range
sine_power = sine_func(t);
square_power = square_func(t);
sawtooth_power = sawtooth_func(t);
cosine_power = cosine_func(t);

% Integrate to find average power over the period
sine_avg_power = integral(sine_func, t(1), t(end)) / (t(end) - t(1));
square_avg_power = integral(square_func, t(1), t(end)) / (t(end) - t(1));
sawtooth_avg_power = integral(sawtooth_func, t(1), t(end)) / (t(end) - t(1));
cosine_avg_power = integral(cosine_func, t(1), t(end)) / (t(end) - t(1));

% Plot sine and square waves
figure, hold on, grid on;
plot(t, sine_power, 'r-', 'DisplayName', ['Sine wave (Avg Power = ' num2str(sine_avg_power) ')']);
plot(t, square_power, 'b-', 'DisplayName', ['Square wave (Avg Power = ' num2str(square_avg_power) ')']);
xlabel('Time [sec]', 'FontWeight', 'bold');
ylabel('Amplitude [-]', 'FontWeight', 'bold');
legend('Location', 'northeast', 'FontWeight', 'bold');
title('Sine and Square Wave Power');
axis tight;

% Plot sawtooth and cosine waves
figure, hold on, grid on;
plot(t, sawtooth_power, 'r-', 'DisplayName', ['Sawtooth wave (Avg Power = ' num2str(sawtooth_avg_power) ')']);
plot(t, cosine_power, 'b-', 'DisplayName', ['Cosine wave (Avg Power = ' num2str(cosine_avg_power) ')']);
xlabel('Time [sec]', 'FontWeight', 'bold');
ylabel('Amplitude [-]', 'FontWeight', 'bold');
legend('Location', 'northeast', 'FontWeight', 'bold');
title('Sawtooth and Cosine Wave Power');
axis tight;

 

위 매트랩 코드를 통해 나온 결과는 다음과 같다.

 

위 4개의 신호 모두 Average Power가 0이 아니므로, Energy Bounded하지 않는다는 것을 알 수 있다.