penn state engineering: department of mechanical engineering · web viewdigital signals analog...

29
N06 page 1 of 29 Digital Signals Analog signals - continuous a) amplitude b) time Digital signals - discrete values a) amplitude b) time Amplitude digitizer must have sufficient - 1) span 2) resolution 3) accuracy Time digitzer must have sufficient - 1) speed - convert and store 2) capacity 3) precision Fixed sampling rate h = time interval between samples (constant) f S = 1 / h

Upload: others

Post on 28-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

N06page 22 of 22

Digital Signals

Analog signals - continuous

a) amplitude

b) time

Digital signals - discrete values

a) amplitude

b) time

Amplitude

digitizer must have sufficient -

1) span

2) resolution

3) accuracy

Time

digitzer must have sufficient -

1) speed - convert and store

2) capacity

3) precision

Fixed sampling rate

h = time interval between samples (constant)

= 1 / h

Time domain

Digital domain

t

x(t)

xi

Aliasing

% alias.m - aliasing due to undersampling

% HJSIII - 07.11.12

clear

% actual sampling rate 200 Hz

fs = 200;

% sampling rate for display

fsfast=2000;

% sampling times

dt = 1 / fs;

dtfast = 1 / fsfast;

% fill sample buffers

tend = 0.1;

ns = tend / dt;

nsfast = tend / dtfast;

ts = (0:ns) * dt;

v30 = sin( 2 * pi * 30 * ts );

v60 = sin( 2 * pi * 60 * ts );

v90 = sin( 2 * pi * 90 * ts );

v120 = sin( 2 * pi * 120 * ts );

v150 = sin( 2 * pi * 150 * ts );

v180 = sin( 2 * pi * 180 * ts );

v210 = sin( 2 * pi * 210 * ts );

v240 = sin( 2 * pi * 240 * ts );

tsfast = (0:nsfast) * dtfast;

v30fast = sin( 2 * pi * 30 * tsfast );

v60fast = sin( 2 * pi * 60 * tsfast );

v90fast = sin( 2 * pi * 90 * tsfast );

v120fast = sin( 2 * pi * 120 * tsfast );

v150fast = sin( 2 * pi * 150 * tsfast );

v180fast = sin( 2 * pi * 180 * tsfast );

v210fast = sin( 2 * pi * 210 * tsfast );

v240fast = sin( 2 * pi * 240 * tsfast );

% plot time domain

figure( 1 )

subplot(4,2,1)

plot( ts, v30, ts, v30, 'o', tsfast, v30fast, ':' )

title('30/60/90/120 Hz sampled at 200 Hz')

% xlabel('Time (sec)')

% ylabel('Amplitude')

subplot(4,2,3)

plot( ts, v60, ts, v60, 'o', tsfast, v60fast, ':' )

% title('60 HZ sine sampled at 200 Hz')

% xlabel('Time (sec)')

% ylabel('Amplitude')

subplot(4,2,5)

plot( ts, v90, ts, v90, 'o', tsfast, v90fast, ':' )

% title('90 HZ sine sampled at 200 Hz')

% xlabel('Time (sec)')

% ylabel('Amplitude')

subplot(4,2,7)

plot( ts, v120, ts, v120, 'o', tsfast, v120fast, ':' )

% title('120 HZ sine sampled at 200 Hz')

xlabel('Time (sec)')

% ylabel('Amplitude')

subplot(4,2,2)

plot( ts, v150, ts, v150, 'o', tsfast, v150fast, ':' )

title('150/180/210/240 Hz sampled at 200 Hz')

% xlabel('Time (sec)')

% ylabel('Amplitude')

subplot(4,2,4)

plot( ts, v180, ts, v180, 'o', tsfast, v180fast, ':' )

% title('180 HZ sine sampled at 200 Hz')

% xlabel('Time (sec)')

% ylabel('Amplitude')

subplot(4,2,6)

plot( ts, v210, ts, v210, 'o', tsfast, v210fast, ':' )

% title('210 HZ sine sampled at 200 Hz')

% xlabel('Time (sec)')

% ylabel('Amplitude')

subplot(4,2,8)

plot( ts, v240, ts, v240, 'o', tsfast, v240fast, ':' )

% title('240 HZ sine sampled at 200 Hz')

xlabel('Time (sec)')

% ylabel('Amplitude')

% plot frequency domain

figure( 2 )

f0 = fs / 2;

f = 0 : 400;

fsym = [ 30 60 90 120 150 180 210 240 270 300 330 360 390 ];

a = f0 - abs( mod(f,fs) - f0 );

asym = f0 - abs( mod(fsym,fs) - f0 );

plot( f, a, fsym, asym, 'o' )

title( 'Aliasing = fs/2 - abs( mod(f,fs) - fs/2 )' )

xlabel( 'Actual frequency [Hz]' )

ylabel( 'Apparent frequency [Hz] for fs=200 Hz' )

Nonrecursive Digital Filters

VIN

VOUT

analog filter

(only real-time)

xi

yi

digital filter

(real-time, post sampling

and backward in time)

Digital filter

xi raw

yi filtered

Low pass smoothing with moving averages

first-order, low pass, backward difference

second-order, low pass, backward difference

third-order, low pass, backward difference

order = number of time samples h e,g, is second order

DC gain = sum of coefficients

DC gain > 0 low pass (in general)

DC gain = 0 high pass or bandpass (in general)

Backward difference

a) all time steps are prior history

b) has startup artifact

c) OK for real-time

d) phase lag

e) finite impulse response (FIR) - no knowledge of events for

i

xi

yi

actual

impulse

spring-mass-damper (second order analog filter) has infinite impulse response (IIR)

t

Forward difference

a) all time steps in future

b) has artifact at end of sequence

c) NOT OK for real-time

d) phase lead

e) FIR

Central difference

a) some time steps in future and some in prior history

b) has artifact at startup and end of sequence

c) NOT OK for real-time

d) zero phase (generally)

e) FIR

Weighting

uniform weighing

central weighing

forward weighing

backward weighing

High pass

first-order, first derivative, backward difference (actually at i-½)

first-order, first derivative, forward difference (actually at i+½)

average

second-order, first derivative, central difference

DC gain = 0 high pass

second-order, second derivative, central difference

DC gain = 0 high pass

Plot the frequency response transfer function of the digital filter shown below that modifies the sequence xi into a new sequence yi. Circle any filter descriptors that apply.

yi = xi+1 + 3 * xi + xi-1

recursivenonrecursive

forward-differencecentral-differencebackward-difference

high passband passlow pass

FIRIIR

forward-weightedcentrally-weightedbackward-weighted

phase-leadzero-phasephase-lag

startup artifactno startup artifact

first-ordersecond-orderthird-order

DC gain = 0DC gain = 1DC gain = 5

0

f / fs = 0.25

f /fs = 0.50

f / fs = 0.75

f / fs = 1.00

-20 dB

0 dB

+20 dB

Plot the frequency response transfer function of the digital filter shown below that modifies the sequence xi into a new sequence yi. Circle any filter descriptors that apply.

yi = xi+1 + 3 * xi + xi-1

recursivenonrecursive

forward-differencecentral-differencebackward-difference

high passband passlow pass

FIRIIR

forward-weightedcentrally-weightedbackward-weighted

phase-leadzero-phasephase-lag

startup artifactno startup artifact

first-ordersecond-orderthird-order

DC gain = 0DC gain = 1DC gain = 5

Frequency response for nonrecursive digital filters

backward difference

% nonrecursive.m - gain/phase for nonrecursive digital filter

% HJSIII, 13.11.14

r = 0:0.01:1;

G = exp(j*2*pi*r) + 3 + exp(-j*2*pi*r); % central difference

%G = 1 + 3*exp(-j*2*pi*r) + exp(-j*4*pi*r); % backward difference

amp = 20*log10( abs( G ) );

phi = 180/pi*angle( G );

subplot(2,1,1)

plot( r,amp )

ylabel( 'Gain [dB]' )

title( 'y(i) = x(i+1) + 3*x(i) + x(i-1)')

% title( 'y(i) = x(i) + 3*x(i-1) + x(i-2)')

subplot(2,1,2)

plot( r,phi )

ylabel( 'Phase [deg]' )

xlabel( 'Frequency ratio r = f/fs' )

Backward difference

Startup artifact (works for recursive and nonrecursive)

examples for second-order backward difference

similar approach for end of sequence artifact

i

1

0

3

2

-1

a) ignore - start at i = 3

b) pad with constants -

discontinuity in , introduces high frequency artifact

c) reflect

i

1

0

3

2

-1

d2

d3

artifact

Filter forward and then backward in time (works for recursive and nonrecursive)

1) filter forward in time

2) reverse sequence of data (e.g. MATLAB "flipud" or "fliplr"

3) filter again

4) reverse sequence back to original

can also perform using filter time loops

a) effectively removes phase lag/lead

b) provides double order attenuation

Recursive Digital Filters

Recursion

compute a new value for a function using old values that were computed with the same function

example -

now includes

recursion provides IIR capability

must be VERY careful with high pass filters

Standard second-order backward-difference recursive form

DC gain =

Recursive digital filter to emulate spring-mass-damper

VIN

VOUT

analog filter

xi

yi

digital filter

m

k

c

x

y

x

y

spring-mass-damper

digitize xi at fs = 1/h and use approximations for derivatives

Butterworth = critical damping

standard second-order backward-difference recursive form

sample values for fc = 4 Hz, fs = 60 Hz

1.594339

0.372781

0

-0.262729

-1.254439

0.364490

Recursive digital filter using z-transform

Laplace transform of transfer function

second order expansion for continuous variables

Butterworth filter low-pass A0 = 1, Aother = 0

Butterworth filter high-pass Ak = 1, Aother = 0

Butterworth filter (low-pass or high-pass)

Order k

B0

B1

B2

B3

B4

B5

1

1

1

2

1

1.4142136

1

3

1

2

2

1

4

1

2.6131259

3.4142136

2.6131259

1

corresponding z-transform

expansion for digitized variables

standard second-order backward-difference recursive form

second-order coefficients a and b using bilinear transformation from s to z

sample values for fc = 4 Hz, fs = 60 Hz

C = 1 / tan( fc / fs )4.70463

A = B0 + B1 C + B2 C229.78689

a0 = ( A0 + A1 C + A2 C2 ) / A0.033571

a1 = ( 2 A0 - 2 A2 C2 ) / A0.067143

a2 = ( A0 - A1 C + A2 C2 ) / A0.033571

b1 = ( 2 B0 - 2 B2 C2 ) / A-1.41898

b2 = ( B0 - B1 C + B2 C2 ) / A0.553269

reference:Digital Signal Processing, W. Stanley, G. Dougherty and R. Dougherty;

2nd ed, Reston, 1984

NOTE: MATLAB butter, filter, and filtfilt interchange a-b terms from notation above.

% check_filter.m - check transfer function of digital filter

% HJSIII, 13.11.14

clear

% test conditions - 1024 points sampled at 1 KHz

n = 1024;

fs = 1000;

f0 = fs / 2;

dt = 1 / fs;

t = dt * (0:(n-1));

% create second order Butterworth filter - cutoff 100 Hz

fc = 10;

wn = fc / f0;

[ b, a ] = butter( 2, wn );

% frequencies for FFT

df = fs / n;

f = df * (0:(n-1));

f(1) = 1e-20;

lf = log10( f );

% buffer to accumulate average/max/min transfer functions

ave_trf = zeros( n, 1 );

max_trf = -100* ones( n, 1 );

min_trf = 100 * ones( n, 1 );

% repeat for multiple trials

ntrial = 100;

for itrial = 1:ntrial,

% sample random signal

xin = randn( n, 1 );

% apply filter

xout = filter( b, a, xin );

% FFT

fftin = fft( xin );

fftout = fft( xout );

% transfer function

trf = fftout ./ fftin;

mag_trf = log10( abs( trf ) );

ave_trf = ave_trf + mag_trf;

max_trf = max( mag_trf, max_trf );

min_trf = min( mag_trf, min_trf );

% bottom of averaging loop

end

ave_trf = ave_trf / ntrial;

figure( 1 )

plot( lf,mag_trf )

axis( [ -1 3 -5 1 ] )

title( 'Single transfer function for 10 Hz LP Butterworth' )

xlabel( 'Log Frequency [Hz]' )

ylabel( 'Log gain' )

figure( 2 )

plot( lf,ave_trf,'r', lf,max_trf,'g', lf,min_trf,'g' )

axis( [ -1 3 -5 1 ] )

title( 'Average transfer function for 10 Hz LP Butterworth' )

xlabel( 'Log Frequency [Hz]' )

ylabel( 'Log gain' )

Recursive digital filter in MATLAB

>> help butter

BUTTER Butterworth digital and analog filter design.

[B,A] = BUTTER(N,Wn) designs an Nth order lowpass digital

Butterworth filter and returns the filter coefficients in length

N+1 vectors B (numerator) and A (denominator). The coefficients

are listed in descending powers of z. The cutoff frequency

Wn must be 0.0 < Wn < 1.0, with 1.0 corresponding to

half the sample rate.

If Wn is a two-element vector, Wn = [W1 W2], BUTTER returns an

order 2N bandpass filter with passband W1 < W < W2.

[B,A] = BUTTER(N,Wn,'high') designs a highpass filter.

[B,A] = BUTTER(N,Wn,'low') designs a lowpass filter.

[B,A] = BUTTER(N,Wn,'stop') is a bandstop filter if Wn = [W1 W2].

When used with three left-hand arguments, as in

[Z,P,K] = BUTTER(...), the zeros and poles are returned in

length N column vectors Z and P, and the gain in scalar K.

When used with four left-hand arguments, as in

[A,B,C,D] = BUTTER(...), state-space matrices are returned.

BUTTER(N,Wn,'s'), BUTTER(N,Wn,'high','s') and BUTTER(N,Wn,'stop','s')

design analog Butterworth filters. In this case, Wn is in [rad/s]

and it can be greater than 1.0.

See also buttord, besself, cheby1, cheby2, ellip, freqz, filter.

N = order

Wn = fC / fn = fC / (fS/2)

NOTE: MATLAB butter, filter, and filtfilt interchange a-b terms from notation above.

>> help filter

FILTER One-dimensional digital filter.

Y = FILTER(B,A,X) filters the data in vector X with the

filter described by vectors A and B to create the filtered

data Y. The filter is a "Direct Form II Transposed"

implementation of the standard difference equation:

a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)

- a(2)*y(n-1) - ... - a(na+1)*y(n-na)

If a(1) is not equal to 1, FILTER normalizes the filter

coefficients by a(1).

FILTER always operates along the first non-singleton dimension,

namely dimension 1 for column vectors and non-trivial matrices,

and dimension 2 for row vectors.

[Y,Zf] = FILTER(B,A,X,Zi) gives access to initial and final

conditions, Zi and Zf, of the delays. Zi is a vector of length

MAX(LENGTH(A),LENGTH(B))-1, or an array with the leading dimension

of size MAX(LENGTH(A),LENGTH(B))-1 and with remaining dimensions

matching those of X.

FILTER(B,A,X,[],DIM) or FILTER(B,A,X,Zi,DIM) operates along the

dimension DIM.

See also filter2 and, in the signal Processing Toolbox, filtfilt.

Overloaded methods:

timeseries/filter

fxptui.filter

dfilt.filter

>> help filtfilt

FILTFILT Zero-phase forward and reverse digital filtering.

Y = FILTFILT(B, A, X) filters the data in vector X with the filter described

by vectors A and B to create the filtered data Y. The filter is described

by the difference equation:

y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)

- a(2)*y(n-1) - ... - a(na+1)*y(n-na)

After filtering in the forward direction, the filtered sequence is then

reversed and run back through the filter; Y is the time reverse of the

output of the second filtering operation. The result has precisely zero

phase distortion and magnitude modified by the square of the filter's

magnitude response. Care is taken to minimize startup and ending

transients by matching initial conditions.

The length of the input x must be more than three times

the filter order, defined as max(length(b)-1,length(a)-1).

Note that FILTFILT should not be used with differentiator and Hilbert FIR

filters, since the operation of these filters depends heavily on their

phase response.

See also filter.

>>

(

)

1

i

h

t

at

n

i

1

for

x

i

i

-

´

=

£

£

s

c

n

n

f

1

h

f

2

m

k

m

2

c

=

p

=

=

w

w

=

2

s

c

2

s

2

n

2

s

c

s

n

f

f

2

f

m

kh

f

f

2

f

m

2

m

2

m

2

ch

÷

÷

ø

ö

ç

ç

è

æ

p

=

w

=

p

=

w

=

2

s

c

s

c

f

f

2

f

f

2

1

A

÷

÷

ø

ö

ç

ç

è

æ

p

+

p

+

=

A

/

f

f

2

f

f

2

a

2

s

c

s

c

0

÷

÷

ø

ö

ç

ç

è

æ

÷

÷

ø

ö

ç

ç

è

æ

p

+

p

=

0

a

1

=

A

/

f

f

2

a

s

c

2

÷

÷

ø

ö

ç

ç

è

æ

p

-

=

(

)

A

/

2

b

1

-

=

A

/

f

f

2

1

b

s

c

2

÷

÷

ø

ö

ç

ç

è

æ

p

-

=

-1-0.500.511.52

-2

-1.5

-1

-0.5

0

0.5

1

Hand-made 4 Hz LP Butterworth at 60 Hz sampling

Log Frequency [Hz]

Log gain

)

s

(

X

)

s

(

Y

s

B

...

s

B

s

B

B

s

A

...

s

A

s

A

A

)

s

(

G

k

k

2

2

1

0

k

k

2

2

1

0

=

+

+

+

+

+

+

=

00.050.1

-1

0

1

30/60/90/120 Hz sampled at 200 Hz

00.050.1

-1

0

1

00.050.1

-1

0

1

00.050.1

-1

0

1

Time (sec)

00.050.1

-1

0

1

150/180/210/240 Hz sampled at 200 Hz

00.050.1

-1

0

1

00.050.1

-1

0

1

00.050.1

-1

0

1

Time (sec)

y

B

y

B

y

B

x

A

x

A

x

A

2

1

0

2

1

0

&

&

&

&

&

&

+

+

=

+

+

)

z

(

X

)

z

(

Y

z

b

...

z

b

z

b

1

z

a

...

z

a

z

a

a

)

z

(

H

k

k

2

2

1

1

k

k

2

2

1

1

0

=

+

+

+

+

+

+

+

=

-

-

-

-

-

-

k

i

k

2

i

2

1

i

1

i

k

i

k

2

i

2

1

i

1

i

0

y

b

y

b

y

b

y

x

a

x

a

x

a

x

a

-

-

-

-

-

-

+

+

+

+

=

+

+

+

+

L

L

-1-0.500.511.522.53

-5

-4

-3

-2

-1

0

1

Single transfer function for 10 Hz LP Butterworth

Log Frequency [Hz]

Log gain

-1-0.500.511.522.53

-5

-4

-3

-2

-1

0

1

Average transfer function for 10 Hz LP Butterworth

Log Frequency [Hz]

Log gain

050100150200250300350400

0

10

20

30

40

50

60

70

80

90

100

Aliasing = fs/2 - abs( mod(f,fs) - fs/2 )

Actual frequency [Hz]

Apparent frequency [Hz] for fs=200 Hz

1

i

i

i

x

2

/

1

x

2

/

1

y

-

+

=

2

i

1

i

i

i

x

3

/

1

x

3

/

1

x

3

/

1

y

-

-

+

+

=

3

i

2

i

1

i

i

i

x

4

/

1

x

4

/

1

x

4

/

1

x

4

/

1

y

-

-

-

+

+

+

=

2

i

i

i

x

2

/

1

x

2

/

1

y

-

+

=

2

i

1

i

i

i

x

3

/

1

x

3

/

1

x

3

/

1

y

-

-

+

+

=

order

*

h

t

t

EVENT

i

+

>

i

1

i

2

i

i

x

3

/

1

x

3

/

1

x

3

/

1

y

+

+

=

+

+

1

i

i

1

i

i

x

3

/

1

x

3

/

1

x

3

/

1

y

-

+

+

+

=

1

i

i

1

i

i

x

3

/

1

x

3

/

1

x

3

/

1

y

-

+

+

+

=

1

i

i

1

i

i

x

4

/

1

x

2

/

1

x

4

/

1

y

-

+

+

+

=

1

i

i

1

i

i

x

4

/

1

x

4

/

1

x

2

/

1

y

-

+

+

+

=

1

i

i

1

i

i

x

2

/

1

x

4

/

1

x

4

/

1

y

-

+

+

+

=

(

)

h

/

x

x

y

x

1

i

i

i

-

-

=

»

&

(

)

h

/

x

x

y

x

i

1

i

i

-

=

»

+

&

(

)

(

)

(

)

(

)

2

/

h

/

x

x

h

/

x

x

2

/

x

x

x

1

i

i

i

1

i

2

/

1

i

2

/

1

i

-

+

-

+

-

+

-

=

+

»

&

&

&

(

)

h

2

/

x

x

y

x

1

i

1

i

i

-

+

-

=

»

&

(

)

(

)

(

)

(

)

h

/

h

/

x

x

h

/

x

x

h

/

x

x

x

1

i

i

i

1

i

2

/

1

i

2

/

1

i

-

+

-

+

-

-

-

=

-

»

&

&

&

&

(

)

2

1

i

i

1

i

i

h

/

x

x

2

x

y

x

-

+

+

-

=

»

&

&

i

r

2

j

i

s

s

t

f

2

j

e

x

f

/

f

r

f

/

i

h

i

t

e

x

p

p

=

=

=

=

=

(

)

(

)

1

i

r

2

j

i

r

2

j

1

i

r

2

j

1

i

i

1

i

i

e

e

3

e

x

x

3

x

y

-

p

p

+

p

-

+

+

+

=

+

+

=

(

)

(

)

(

)

r

2

j

i

r

2

j

i

r

2

j

r

2

j

i

r

2

j

i

e

e

e

3

e

e

y

p

-

p

p

p

p

+

+

=

5

G

0

f

/

f

r

for

e

3

e

x

/

y

G

s

r

2

j

r

2

j

i

i

=

=

=

+

+

=

=

p

-

p

r

4

j

r

2

j

2

i

1

i

i

i

e

e

3

1

G

x

x

3

x

y

p

-

p

-

-

-

+

+

=

+

+

=

S

f

00.10.20.30.40.50.60.70.80.91

0

5

10

15

Gain [dB]

y(i) = x(i+1) + 3*x(i) + x(i-1)

00.10.20.30.40.50.60.70.80.91

-1

-0.5

0

0.5

1

Phase [deg]

Frequency ratio r = f/fs

00.10.20.30.40.50.60.70.80.91

0

5

10

15

Gain [dB]

y(i) = x(i) + 3*x(i-1) + x(i-2)

00.10.20.30.40.50.60.70.80.91

-200

-100

0

100

200

Phase [deg]

Frequency ratio r = f/fs

1

0

1

x

x

x

=

=

-

x

&

(

)

2

1

1

2

1

2

1

0

x

x

2

x

x

x

d

x

x

-

=

-

-

=

-

=

(

)

3

1

1

3

1

3

1

1

x

x

2

x

x

x

d

x

x

-

=

-

-

=

-

=

-

0

x

1

=

&

&

(

)

!

5

6

!

6

=

1

i

1

i

i

i

y

3

/

1

x

3

/

1

x

3

/

1

y

-

-

+

+

=

1

i

y

-

2

i

2

1

i

1

2

i

2

1

i

1

i

0

i

y

b

y

b

x

a

x

a

x

a

y

-

-

-

-

-

-

+

+

=

(

)

MAX

t

t

0

for

t

x

£

£

2

1

2

1

0

b

b

a

a

a

-

-

+

+

(

)

(

)

x

y

c

x

y

k

y

m

F

&

&

&

&

-

-

-

-

=

=

å

kx

x

c

ky

y

c

y

m

+

=

+

+

&

&

&

&

(

)

(

)

h

/

x

x

or

h

2

/

x

x

x

1

i

i

2

i

i

-

-

-

-

»

&

(

)

(

)

h

/

y

y

or

h

2

/

y

y

y

1

i

i

2

i

i

-

-

-

-

»

&

(

)

2

2

i

1

i

i

h

/

y

y

2

y

y

-

-

+

-

»

&

&

i

2

i

i

i

2

i

i

2

i

2

1

i

2

i

2

kx

x

h

2

c

x

h

2

c

ky

y

h

2

c

y

h

2

c

y

h

m

y

h

m

2

y

h

m

+

÷

ø

ö

ç

è

æ

-

=

+

÷

ø

ö

ç

è

æ

-

+

÷

ø

ö

ç

è

æ

+

-

-

-

-

-

2

i

i

2

i

2

1

i

2

i

2

x

h

2

c

x

k

h

2

c

y

h

2

c

h

m

y

h

m

2

y

k

h

2

c

h

m

-

-

-

÷

ø

ö

ç

è

æ

-

+

÷

ø

ö

ç

è

æ

+

=

÷

ø

ö

ç

è

æ

-

+

÷

ø

ö

ç

è

æ

-

+

÷

ø

ö

ç

è

æ

+

+

2

i

2

1

i

2

2

i

i

i

2

y

h

2

c

h

m

y

h

m

2

x

h

2

c

x

k

h

2

c

y

k

h

2

c

h

m

-

-

-

÷

ø

ö

ç

è

æ

-

-

÷

ø

ö

ç

è

æ

-

-

÷

ø

ö

ç

è

æ

-

+

÷

ø

ö

ç

è

æ

+

=

÷

ø

ö

ç

è

æ

+

+

(

)

2

i

1

i

2

i

i

2

i

2

y

m

2

ch

1

y

2

x

m

2

ch

x

m

kh

m

2

ch

y

m

kh

m

2

ch

1

-

-

-

÷

ø

ö

ç

è

æ

-

-

-

-

÷

ø

ö

ç

è

æ

-

+

÷

÷

ø

ö

ç

ç

è

æ

+

=

÷

÷

ø

ö

ç

ç

è

æ

+

+