Научная статья на тему 'Introduction to signal processing: spectral representation'

Introduction to signal processing: spectral representation Текст научной статьи по специальности «Математика»

CC BY
187
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
FOURIER TRANSFORM / SPECTRUM / COMPLEX SIGNALS / COMPLEX SINE WAVES / DELTA-FUNCTION / NEGATIVE FREQUENCIES / ANALYTICAL REPRESENTATION / MATLAB

Аннотация научной статьи по математике, автор научной работы — Tikhonov E., Sneps-Sneppe M.

The article introduces powerful common tool for the signals analysis basics of a spectral analysis. It focuses on decomposition into complex sine waves (harmonic sinusoids) called the Fourier transform. Based on qualitative review of the natural phenomenon of visible light (that is the electromagnetic field oscillation in a working range of the eyes) decomposition into a clear colors in a prism, known as Newton’s experiments, corresponding quantitative procedure of Fourier transform is announced. It translates the arbitrary signals specified in time (usually real, but not necessarily) into a set of complex sine waves in a mathematical form. The reversibility of the transformation, similar to the second prism that collects light rays back into a single white beam, is briefly shown. For this purpose, one of the key mathematical constructions of the theory of signals (the Dirac delta function and its properties) is considered more detailed. The phenomenon of negative frequencies is also discussed (which are not a fiction, but are characterized by standard propagating complex sinusoids twisted in different directions). It is shown that real physical signals have an excess in a spectrum (negative frequencies correspond to slightly modified positive ones), and they can be replaced with corresponding analytical ones. All arguments are presented at a descriptive level and in mathematical form, using visualizations and in the form of MatLab scripts. This gives a more complete picture of the subject matter, allowing looking at that from various points of view.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Introduction to signal processing: spectral representation»

Introduction to signal processing: spectral

representation

E. Tikhonov and M. Sneps-Sneppe

Abstract — The article introduces powerful common tool for the signals analysis - basics of a spectral analysis.

It focuses on decomposition into complex sine waves (harmonic sinusoids) called the Fourier transform.

Based on qualitative review of the natural phenomenon of visible light (that is the electromagnetic field oscillation in a working range of the eyes) decomposition into a clear colors in a prism, known as Newton's experiments, corresponding quantitative procedure of Fourier transform is announced. It translates the arbitrary signals specified in time (usually real, but not necessarily) into a set of complex sine waves in a mathematical form.

The reversibility of the transformation, similar to the second prism that collects light rays back into a single white beam, is briefly shown. For this purpose, one of the key mathematical constructions of the theory of signals (the Dirac delta function and its properties) is considered more detailed.

The phenomenon of negative frequencies is also discussed (which are not a fiction, but are characterized by standard propagating complex sinusoids twisted in different directions). It is shown that real physical signals have an excess in a spectrum (negative frequencies correspond to slightly modified positive ones), and they can be replaced with corresponding analytical ones.

All arguments are presented at a descriptive level and in mathematical form, using visualizations and in the form of MatLab scripts. This gives a more complete picture of the subject matter, allowing looking at that from various points of view.

Keywords — Fourier transform; spectrum; complex signals; complex sine waves; delta-function; negative frequencies; analytical representation; MatLab;

I. INTRODUCTION

The article continues the introduction to a signal processing tasks, actual for radio astronomy measurements and satellite data collection. The works are focused on applications that could be used in the "Ventspils International Radio Astronomy Center" of the Ventspils University of Applied Sciences.

The first paper [1] in series was dedicated to the basic concepts: complex numbers and corresponding complex signals as a change of these numbers, with a special focus on complex sine wave signal.

Based on these concepts this work offers representation of any appropriate signal as a set of complex sine waves (that

Manuscript received March 5, 2019.

Eugene Tikhonov is with Ventspils University of Applied Sciences,

101a Inzenieru Street, LV-3601, Ventspils, Latvia (e-mail: [email protected]).

Manfred Sneps-Sneppe is with Ventspils University of Applied

Sciences, 101a Inzenieru Street, LV-3601, Ventspils, Latvia (e-mail: [email protected]).

are convenient for processing and analytical analysis) in a frequency area, known as Fourier transform.

The rest of the paper is the following. In Section 2, principal and natural and best-known example of signal decomposition is given (passage of light through a prism). Section 3 suggests mathematical description of this procedure and Section 4 studies some proof details of the procedure, discussing the Dirac delta function (that will be used also in following works in a series). In Section 4 there are some reflections about negative frequencies of a spectrum and Section 5 shows redundancy of these frequencies for a real signals and a way to reduce it using corresponding analytical signal. All the Matlab codes (used as the examples and produced illustration figures to all parts) are collected in the Appendix.

II. Signal as a set of harmonics

It's a well-known phenomenon in physics that a sunlight passing through a suitable prism split into different visible color beams. More importantly, the second reversed passage through the prism collects them in white light again. Newton showed these processes in his experiments, but he analyzed these phenomena qualitatively [2].

Fig 1. Decomposition of sunlight into the spectral components using the prism [3].

Clear colors are sine waves of the electromagnetic field, i.e. light coming out of the Sun during the processes occurring in it. Then they are distorted in atmosphere (each color with his own way) and are perceived by the eye in "working range" about from 380-400 nm (frequency 790750 THz) to 760-780 nm (frequency 395-385 THz), also each with its own sensitivity by different specialized cells. But in general in this range all components are roughly at the same level.

E I 8

S 1000

200 0

> -200 -400

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Time, t Spectrum amplitudes

for light or electromagnetic signal, but also for an abstract function of time (or even another parameter) - the signal in general. This set of harmonic is called spectrum of the signal.

For the signal s(t) which could be integrated on the whole time line (it is correct, for example for all real continuous signals) Fourier transform is:

T (s) = S (v) = ^L [ s(t)e—JMtdt J2n J

uo

=± [ J

s(t)

t 3.5 3 Wavelength (pm)

Fig 2. Solar spectrum at the top of the atmosphere and at the surface, for a solar zenith angle of 600in a clear atmosphere. Absorption and scattering regions are indicated [4]. Visible light is from 0.38 to 0.7 ^m that corresponds to the most active part of the Sun spectrum.

Similarly, as in a prism, the dispersion (dependence of the refraction on the frequency of the component of the field oscillation) leads to the deviation at their own angle for each color (corresponding to a specific frequency), actually visualizing the following general principle: the original signal can be divided and be presented as a sum of harmonic (sine) components, and in this sense signal consist of them.

Result siqnal

400

J2n

-rci

x [cos(o)t) — j sin(o)t)]dt This function takes only frequency depending complex values. That is the spectrum is a set of complex sine waves, and the values of spectrum determine the amplitude and initial phase of these waves.

Initial signal s(t) could be received back from the spectrum using inverse Fourier transform (it shows how to assemble back signal from complex sine waves):

T-1(S) = s(t) =-— f S(u>)eiMtdu> J

1 f

= —= I S(w)(cos(wt) + jsin(wt))dw J

-rci

Note: Multipliers before integrals may be different, but

1

their multiplication must be equals to —.

2 n

Another important remark is that Fourier transform (and inverse Fourier transform) is correct not only to a real signals, but for appropriate complex signals also.

The process of restoring the signal follows from definition of inverse transform and properties of a specific abstraction - delta-function that will be discussed further:

T-1(T(s))=--L [ S(u)eiMtdu V2n J

m / m \

= ± [ I [ s(T)e-JMTdTjeJMtdœ

w=—m \T=—ro

Frequency, w

Fig 3. Example result of summing N=10000 single-amplitude sine waves with uniform distributed random frequencies in range 0..2000n and all possible phases. Result is almost roughly same level for all components and very noise-like fast changing signal.

See Matlab A code in Appendix.

In telecommunications, the signal also is a change in the propagating electromagnetic field waves with a complex form, which determines the information — the numerical data we want to transmit. Therefore, an approach with decomposition into sinusoidal components is also applicable to it.

III. Fourier transform

Quantitatively, i.e. mathematically, the decomposition is written in the form of a Fourier transform [5], and not only

m l m \

= 2Lu I I I s(T)eMt—r)dT\dœ

mm

^=—m }

m

iO=—m \T=—oo

T=—œ \io=—m

= 1 è 1

ojü>it—T) d(ß

V

dj

S(t—T)

=[

T=—a

m

= I

s(t) 5(t — t) dr

S(x)=S(—x)

s(t)s(t — t)dr = s(t)

Sampling

In a philosophical sense, this inverse transformation is

w

w

T=— oo

analogous to Newton's second prism, which gathers all the "clear" sinusoidal components back into a single signal.

s(t) = rectangularPulse(0, 1, t)

0 0.5

S(w) = (cos(w)"1i + sin(w))/w - 1i/w

2.5 3

Fig. 4. Fourier transform example for the signal s(t) = rectangular(0, 1, t). See Matlab B code in Appendix.

IV. DIRAC DELTA-FUNCTION

The key point in signal restoring using inverse Fourier transform is using the property of delta-function, suggested by the physicist Paul Dirac [6]. This function also is used to build the theoretical basis of discrete signal processing theory, and therefore is often is referred to as a sampling function.

Dirac delta function (5-function) is a generalized function. Frivolous it could be presented like a infinite high and zero-thickness point:

5(x) = [(

I

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0,x * 0' S(x)dx = 1

(Q3

0, 0,

œ

I f(t, e) dt =

œ, x = 0 x * 0

/MV

«^VT^y v y I I ! iYVYVîB v^jsi

" ......

V/

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Fig. 5. Function f(n, x) = slnnx iterations (n = 2, 4, 8, 16, 32,

nx

64). Form of a curve approaches to a delta-function. See Matlab C code in Appendix.

A. Important example of delta-function realization

For example, following form was used for Fourier's transform reversible proof:

m

= 1 I

2n J

ej°Jtdv = f(t)

Exploring specified function we could try to modify it the way to represent it as a limit of integral sequence, which could be found exactly [7]. Define the function:

. EUi

jut x e- 2 do>

1(e) = I eJ'

—œ

Obviously it tends to f(t) as a limit:

f(t)= lim I(t, e) = lim I

E^>0 E^>0 J

'Jwt x e 2 dw

uu

=I

e>Mtdu

Let's do some mathematical tricks.

Modifying exponent rate of /(e): Jt

£C° e ( 2 Jt \

jœt--= —\co2 — 2 — oil

J 2 2V e J

I

More exactly delta function is defined as a limit of functions sequence that provides indicated properties (height, thickness, area):

— £

u>

\

£( Jt\ f

= — ~2 K 1) — Te

So, in respect that classical exponential integral:

lim

E^0

So, the function can be represented as infinitely narrow and infinitely high rectangle (or any other signal - that's important), whose area is finite and equals to 1. In a sense, delta function is a set of interchangeable sets of all sorts of suitable signal sequences.

sin Tl oc

For example function sequence f(n,x) = (area

under that is always 1) limit is delta-function could be visualized using Matlab.

I

dx =

get another representation of I:

-requency, w

2

uu

/ft «) = /

-L( -JLY e 2v e) x e 2£do>

= e-2l I dw

/

v =

M

M

dw =

2

— dv £

N

2 _£! — e 2E

e

uu I

dv =

— e 2E

When e _ 0 this function tends to 2nô(t):

\2n

1. lim£_>o /(0. e) = lim£_œ I— = œ

2. lim£_o, /(t. e) = 0

3. lim£_o J-l /(t. £)dt = lim£_o Jrr x = 2n

As a limit of lim£_0I(t. e):

i

f(t)

2n

= 1 I e'Mtdw = S(t)

I

f(x)S(x — Xo)dx = f(x o)

V. NEGATIVE frequencies

In spectrum according to Fourier transform, the frequencies could be positive either negative: we should take into account all of them to restore the signal.

Negative frequency value is not something "virtual" or "imaginary": it only informs that full phase of a signal decreases in time (not increases) with speed M > 0. It's not even very important: increasing angle/phase direction is arbitrary. For example, we could accept clockwise rotating as the increasing direction and counter-clockwise rotating as the decreasing or vice versa if needed.

Mathematical explanation is almost obviously: if co =

< 0, that means dcp(t) = codt < 0 while dt >0 (time

moving forward). Therefore, when the time for the negative frequency increases as usual, the phase will decrease.

Essential is that fact that in spectrum both complex sine waves with phase increasing (positive frequency) and phase decreasing (negative frequency) always exist.

1 a) Complex sine wave (w > 0): Cartesian

b) Complex sine wave (w > 0): polar

So, the initial assumption of delta-function representation form permissibility was correct and that was really delta-function in restoring the signal in inverse Fourier transform. But what was the property of delta-function used then?

B. Sampling property of delta-function

The key property of delta-function is sampling or filtering:

1 c) Complex s:

b (w < D): Caztezian

■) Complex sin«

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

b (w < 0): polar

Because integral expression is equals to 0 if x ± x0, so for any e >0:

ra X0 + E

I(x) = J f(x)S(x — x0)dx = J f(x)S(x — x0)dx

—ra Xq — £

Generalized mean theorem (Cauchy's theoreme) states for integrable f(x) andg(x) (in our case g(x) = S(x)) and continuous f(x):

Xq+£ XQ+£

J f(x)S(x — x0)dx = f(8) J S(x — x0)dx

Xq — £ XQ — £__

= 1

= f(9), where 6e\x0 — e; x0 + e]

So limit value of I(x) is:

Km I(x) = f(x o)

£^0

Finally it proofs that inverse Fourier transform allows to restore initial signal from the spectrum, that indicates the parameters of its sine waves components.

0 0.5 1 1.8 2 Ho.Jt) -* 0 Ti .

Time, t '

Fig. 6. Complex sine waves with positive frequency z+(t) =

.n .n

eJs x eJMt and negative frequency z~(t) = eJ~8 x e~JMt (co = 2n) are left-handed and right-handed spirals respectively. See Matlab D code in Appendix.

VI. Analytical signal

Fourier transform allows find a spectrum not only for real signals, but also for complex ones.

But for the real (not complex) signal s(t) spectrum is superfluous:

s(-

—w) = -L I s(t)e-'(-M)tdt

Jzñ J

= 7rnh(t)

x (cos(cot) + jsin(cot))dt = = Re S(co) — Im S(co) = S*(co) That means: the part of spectrum of a real signal with negative frequencies is exactly the same as complex

conjugate for positive frequencies and have no new information. When we sum them in reverse Fourier transform, these parts will destroy the opposite imaginary parts of each other so that only the real part remains - the result will be the real signal as expected.

Could we ignore this redundant information given the knowledge that the signal is real?

The signal, that have the same information as initial real (t) , could be calculated using only positive frequencies:

a(t) =-^= [ S(co) e't du

V2nJ

0

Complex conjugation of ( ) corresponding to a signal with only negative frequencies:

a*(t) =-= [ S*(co)eJ'Mtdu =-^= [ S(-o)eiMt da VTnJ VTnJ

= =

0

dw = —da tot = ax œ ^ —œ 0 ^ 0 -

j S(a)ejaTda V2nJ

0

= ^L j S(a)ejaTda V2n J

That means ( ):

s(t) = [ S(co)eiMtdu = a(t) + a*(t) V2n J

= Re a(t) + jx Im a(t) + Re a*(t) + j x Im a*(t)

= Re a(t) + jx Im a(t) + Re a(t) - j x Im a(t) = 2 x Re a(t) is a real part of ( ) with half complex amplitudes only positive frequencies in spectrum, ( ) = ( ), where:

z(t) =

a(t)

_ i r

V2tt Jo

'S(o )

e j MtdM

2 V2tt J0 2 In other words, we use ( ) instead of ( ) and always could return to initial real ( ) getting the real part of it. This function is called analytical representation of a real-valued function facilitates many mathematical manipulations.

Note: more exactly for frequency = 0 complex amplitude value is Z (0) = not (because it is included in Z and Z* at the same time):

Z(œ) ¥

S(œ)

2

S(œ)

,œ>0

,(ü = 0

4

0,(o <0

Can be shown that z(t) = s(t) + j * s(t)^, where * is the symbol of convolution:

(f * g)(t) ^ [ f(t) g(r - t)dt

—rn

For example, analytical representation for sine wave s(t) = A cos(co t + cp 0) will be z(t) = AeJ(oj t+(p°) = Ax

e>90 x e'Mt = Z x e'Mt, what corresponds to Euler's

formula and previous conclusions.

For another example for rectangular pulse signal s( t) =

, ^ (l,a <t<b re c t(a,b ,t) = ( ^ g :

z( 0 =s( t)+ j Ù *s( ü)) = s( t) + U s(T)(t—7)dT

= s(t) +

]_ r_dz nj (t —

i L Ö

So, analytical representation is not the same as the signal, but we could easily restore initial real signal from it with an advantage of only positive frequencies without redundancy. For that we could get real part of signal ( ), or reconstruct

N . • , , N ( Z(OJ),OJ > 0

S(a>) spectrum (with the rule: S(w) = M) M < 0

and then find ( ) from ( ).

Or in other words, analytical signal is a way to turn real signal to a complex one without redundancy.

Signal: real and analytical

Fig. 7. Real signal (gray thin) and corresponding analytical (black thick) with real, imaginary, polar projections. See Matlab E code in Appendix.

VII. OTHER SPECTRUM TRANSFORMS

Fourier transform is not the only one way to obtain the spectrum of a signal.

Different generalizations and alternatives, that extend the applicability of the method are also available, for example Fourier-Stieltjes transform (for multiple-dimensioned signals), locally compact abelian group (used other forms of spectrum components signals), Gelfand transform, wavelets and so on.

Also there are multiple analogous integral transforms, that are more convenient for specific cases, for example, Hartley transform (that transforms real-valued functions to real-valued functions), Laplace transform (that used complex sine waves with changing amplitudes), Mellin transform (that used not the "e" as a base of transform core) and many others.

But the Fourier transform is the most popular one not only because was presented historically first but also

because it's quite simple and close to naturally (and so, easy to understand), direct and reverse procedure are very similar, signal convolution correspond to spectrum multiplication (and wise versa), basic signals (sine waves) moves to basic signals (sine waves) and many other convenient properties.

That's why this classical Fourier spectrum is most popular and is used as a "default" spectrum.

VIII. Conclusion

The basic concept tool of spectrum representation as a part of signal processing analysis was discussed, namely, the complex mathematical procedures, details and their meaning in general.

In the following parts in series some technologies based on spectrum analysis are planned to discuss in detail: information (digital) signal, modulations, spectrum modifications (like Direct Sequence Spread Spectrum, Frequency Hopping, Time Hopping, Chirp Spread), etc.

Appendix

A. Matlab code: sine wave summation (see Figure 3)

%% Sine summations N = 10000; t0 = 0; t1 = 5; w0 = 0;

w1 = 2*pi*10 0 0;

number of waves start plotting time end plotting time min frequency max frequency, 1KHz

accuracy

1000;

%% Processing s = @(t, w, p) sin(w*t+p); o = @(t) zeros(size(t));

sine wave function zero-vector

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

dw = w1-w0;

t = linspace(t0, t1, accuracy ); spectrum = zeros(1, accuracy);

t in [t0..t1]

s_sum = o(t);

for i = 1:N % sine waves cycle

% uniformly distributed random in range [w0..w1]

w = w0+dw*rand(); % uniformly distributed random in range [0..2 pi] p = 2*pi*rand();

wi = 1+round((w-w0)/dw*(accuracy-1)); spectrum(wi) = spectrum(wi)+exp(j*p); signal = s(t, w, p); s_sum = s_sum + signal;

end

%% Result signal subplot(2,1,1); plot(t, s_sum); title('Result signal'); xlabel('Time, t'); ylabel( 'Value, s(t)');

%% Components amplitude summation with phases

subplot(2,1,2); hold on;

title('Spectrum amplitudes');

xlabel('Frequency, w');

ylabel( 'Abs S(w)');

set(gca,'XTick', [1; accuracy]);

set(gca,'XTickLabel', ['w_0'; 'w_1']); plot(abs(spectrum));

B. Matlab code: rectangle signal spectrum (see Fig. 4)

figure('units', 'normalized', 'outerposition', [0 0 0.5 1]);

%% Parameters of rectangle function a = 0; % start time

b = 1; % end time

N_counts scale=2;

1000;

accuracy plot scaling

w_range = linspace(-50, 50, N_counts); t_range = linspace(a-1, a+b*3, N_counts);

syms t; % t - symolic variable

% f - symbolic rectangular function of t f = rectangularPulse(a, b, t);

%% Processing o = @(t) zeros(size(t)); e = @(t) ones(size(t));

zero-vector one-vector

% F = symbolic expression, Fourier function F = fourier(f);

% Evaluate symbolics

for i=1:length(w_range); % spectrum w=w_range(i); S(i)=eval(F);

end

Re = real(S); Im = imag(S);

for i=1:length(t_range); % function

t=t_range(i); s(i)=eval(f);

end

%% Display results function subplot(2,1,1); grid on; hold on; xlim([a-1 a+b*3]); ylim([-scale scale]); plot(t_range, s);

xlabel( 'Time, t'); ylabel('z(t)'); title(['s(t) = ' char(f)]); % convert to string

%% Display spectrum results

subplot(2,1,2);

xlim([-50 55]);

ylim([-scale scale]);

zlim([-scale scale]);

grid on; hold on; view(-20, 40);

% S(w)

plot3(w_range, Re, Im, 'LineWidth', 3, 'Color', 'k');

% Re S(w) projection

plot3(w_range, Re, -scale*e(w_range), 'r');

% Im S(w) projection plot3(w_range, scale*e(w_range) , 'b');

Im,

'Color',

'Color',

% Polar S(w) projection

plot3(55*e(w_range), Re, Im, 'Color', [0 0.5 0]);

xlabel('Frequency, w'); ylabel('Re S(w)'); zlabel('Im S(w)');

title(['S(w) = ' char(F)]); % convert to string %% Design features

% decimate w_range points 4 projection

p = w_range(1 Re = real(S(1 Im = imag(S(1

2 0:end); 2 0:end)); 2 0:end));

%% Re, Im projection lines % Real projection lines

quiver3(p, Re, -e(p)*scale, o(p), Im+e(p)*scale, 0, 'Color', [1 0.7 'ShowArrowHead', 'off');

o (p) , 0.7] ,

% Imag projection lines

quiver3(p, e(p)*scale, Im, o(p), Re-e(p)*scale,

o ( p), 0, 'Color', [0.7 0.7 1], 'ShowArrowHead', 'off') ;

Polar projection lines

p = w_range(1 Re = real(S(1 Im = imag(S(1

2 0:end); 2 0:end)); 2 0:end));

decimate 4 projection

quiver3(p, Re, -Im, 55*e(p)-p, o(p),o(p), 0, 'Color', [0.7 1 0.7], 'ShowArrowHead', 'off');

C. Matlab code: delta-function sequence (Figure 5)

%% Delta-limit for fn = sin(nx)/(pi*x)

hold on;

fn

@(t, n) sin(n*t)./(pi*t); % function seqúense

timeline

zero-division fix

t=-1:0.01:1;

t(find(t==0))=0.0000001;

for n = 1:6

plot(t, fn(t, 2An));

end

D. Matlab code: negative frequencies (Figure 6)

% Negative frequences

figure('units', 'normalized', 'outerposition', [0 0 0.5 1]) % fullscreen/2

plotArrow3 = @(x, y, z, varargin)

quiver3 (x (1) ,y (1) , z (1) , x(2)-x(1), y(2)-y(1), z(2)-z(1), 0, varargin{:}); % arrow x1->x2

%% Constant definitions

w = 2*pi; ph0 = pi/8; A = 1;

t_max = 2; N_counts = 60;

%% Signal

t = linspace(0, t_max, N_counts), o = zeros(size(t));

sine_c = A*exp(j*(w*t+ph0)); sine_r = real(sine_c); sine_i = imag(sine_c);

angle velociry initial phase amplitude

time to plot accuracy

timeline zero-vector

complex s-wave

%% Figure a: real + image

subplot(2, 2, 1); hold on; grid on;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

axis([0 t_max -1 1 -1 1]); view(-3, 20);

title('a) Complex sine wave ($\omega>0$)

Cartesian');

xlabel('Time, t');

ylabel('Re z(t)');

zlabel('Im z(t)');

% real part

plot3(t, sine_r, o, 'r');

% real + imaginary part plot3(t, sine_r, sine_i, 'b');

% arrow field: real part

quiver3(t, o, o, o, sine_r, o, 0, 'r');

% arrow field: real + imaginary part quiver3(t, sine_r, o, o, o, sine_i, 0, 'b');

% axe line

plotArrow3([0 t_max], [0 0], [0 0], 'Color', 'k');

%% Figure b: real+image polar

subplot(2, 2, 2); hold on; grid on;

axis([0 t_max -1 1 -1 1]); view(-30, 15);

title('b) Complex sine wave ($\omega>0$): polar');

xlabel('Time, t');

ylabel('Re z(t)');

zlabel('Im z(t)');

% sine curve

plot3(t, sine_r, sine_i, 'k'); % arrow fields

quiver3(t, o, o, o, sine_r, sine_i, 0, 'k'); % axe line

line([0 t_max], [0 0], [0 0], 'Color', 'k');

%% Figure c: real - image

subplot(2, 2, 3); hold on; grid on;

axis([0 t_max -1 1 -1 1]); view(-3, 20);

title('c) Complex sine wave ($\omega<0$)

Cartezian');

xlabel('Time, t');

ylabel('Re z(t)');

zlabel('Im z(t)');

% real part

plot3(t, sine_r, o, 'r'); % real - imaginary part plot3(t, sine_r, -sine_i, 'b');

% arrow field: real part

quiver3(t, o, o, o, sine_r, o, 0, 'r');

% arrow field: real - imaginary part quiver3(t, sine_r, o, o, o, -sine_i, 0, 'b');

% axe line

plotArrow3([0 t_max], [0 0], [0 0], 'Color', 'k');

%% Figure d: real - image polar subplot(2, 2, 4); hold on; grid on; axis([0 t_max -1 1 -1 1]); view(-30, 15); title('c) Complex sine wave ($\omega<0$): polar'); xlabel('Time, t');

ylabel('Re z(t)'); zlabel('Im z(t)');

% sine curve

plot3(t, sine_r, -sine_i, 'k'); % arrow fields

quiver3(t, o, o, o, sine_r, -sine_i, 0, 'k'); % axe line

line([0 t_max], [0 0], [0 0], 'Color', 'k'); E. Matlab code: analytical signal (Figure 7)

% Negative frequences

figure('units', 'normalized', 'outerposition', [0 0 0.5 1]) % fullscreen/2

plotArrow3 = @(x, y, z, varargin)

quiver3 (x (1) ,y (1) , z (1) , x(2)-x(1), y(2)-y(1), z(2)-z(1), 0, varargin{:}); % arrow x1->x2

%% Constant definitions

w = 2*pi;

velociry

ph0 = pi/8;

phase

A = 1;

t_max = 2; N counts = 60;

% angle

% initial

amplitude

time to plot accuracy

%% Signal

t = linspace(0, t_max, N_counts); % timeline o = zeros(size(t)); % zero-vector

complex sin

sine_c = A*exp(j*(w*t+ph0)); wave

sine_r = real(sine_c);

sine_i = imag(sine_c);

%% Figure a: real + image

subplot(2, 2, 1); hold on; grid on; axis([0 t_max -1 1 -1 1]); view(-3, 20);

title('a) Complex sine wave ($\omega>0$): Cartesian');

xlabel( ' Time, t'); ylabel('Re z(t)'); zlabel('Im z(t)');

plot3 (t, sine_r,

% real part

plot3(t, sine_r,

% real + imaginary part

o,

sine i,

'r'); 'b');

plot3(t, sine_r,

% sine curve

sine i,

' k');

% arrow fields

line([0 t_max], [0 0], [0 0], 'Color', 'k'); % axe line

%% Figure c: real - image

subplot(2, 2, 3); hold on; grid on; axis([0 t_max -1 1 -1 1]); view(-3, 20);

title('c) Complex sine wave ($\omega<0$): Cartezian');

xlabel( ' Time, t'); ylabel('Re z(t)'); zlabel('Im z(t)');

plot3(t, sine_r,

% real part

plot3(t, sine_r,

% real - imaginary part

-sine i,

'r'); 'b');

quiver3 (t, o, o, o, sine_r, o, 0, 'r'); % arrow field: real part

quiver3(t, sine_r, o, o, o, -sine_i, 0, 'b'); % arrow field: real - imaginary part plotArrow3 ( [0 t_max] , [0 0], [0 0], 'Color', 'k');% axe line

%% Figure d: real - image polar

subplot(2, 2, 4); hold on; grid on; axis([0 t_max -1 1 -1 1]); view(-30, 15);

title('c) Complex sine wave ($\omega<0$): polar'); xlabel( ' Time, t'); ylabel('Re z(t)'); zlabel('Im z(t)');

plot3(t, sine_r,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

% sine curve

-sine i,

'k')

quiver3 (t, o, o, o, sine_r, o, 0, 'r'); % arrow field: real part

quiver3(t, sine_r, o, o, o, sine_i, 0, 'b'); % arrow field: real + imaginary part plotArrow3([0 t_max], [0 0], [0 0], 'Color', 'k');% axe line

%% Figure b: real+image polar

subplot(2, 2, 2); hold on; grid on; axis([0 t_max -1 1 -1 1]); view(-30, 15);

title('b) Complex sine wave ($\omega>0$): polar'); xlabel( ' Time, t'); ylabel('Re z(t)'); zlabel('Im z(t)');

quiver3 (t, o, o, o, sine_r, -sine_i, 0, 'k'); % arrow fields

line([0 t_max], [0 0], [0 0], 'Color', 'k'); % axe line

%% Text design

set(groot, 'defaulttextinterpreter', 'latex'); set(groot, 'defaultAxesTickLabelInterpreter',

'latex');

set(groot, 'defaultLegendInterpreter', 'latex'); set(findall(gcf,'-property', 'FontSize'),

'FontSize', 10);

References

[1] E. Tikhonov, M. Sneps-Sneppe. "Introduction to signal processing: sine wave and complex signals", International Journal of Open Information Technologies, Vol. 7, No 3, March 2019, ISBN 23078 1 62 .

[2] Isaac Newton (1704). "Optics", London: Royal Society, ISBN 0-48660205-2.

[3] Ronald N. Bracewell. "The Fourier Transform", Scientific American. Journal "V mire nauki", No 8, 1989, pages 48-56.

[4] Qiang, Fu (2003). "Radiation (Solar)", In Holton, James R. Encyclopedia of atmospheric sciences. Amsterdam: Academic Press. pp. 1859-1863. ISBN 978-0-12-227095-6. OCLC 249246073.

[5] Emmanuel C. Ifeachor (2011) "Digital Signal Processing A practical approach download". Prentice Hall; 2 edition (October 7, 2001), ISBN-10: 9780201596199

[6] A.B Sergienko, Digital signal procrssing (Original title: Tsifrovaja obrabotka signalov, Цифровая обработка сигналов). // Piter, 2002, ISBN 5-318-00666-3

[7] User's "md2perpe" comment (August 25, 2017) on math.stackovernet web site. Available: https .//maeh . staekovernet.com/ru/q/692456#2406250. Retrieved: Mar, 2019.

quiver3(t, o, o, o, sine_r, sine_i, 0, 'k');

i Надоели баннеры? Вы всегда можете отключить рекламу.