﻿

# c# parse pdf to xml : Batch pdf metadata Library application class asp.net html wpf ajax xnumbers-tutorial114-part867

Xnumbers Tutorial
140
Indicate, if necessary, the upper-left
cell of the range where you want to
write the result.
Then, press OK. The result will be output starting from the output cell I2.
Smart
Selector
The special button near the input field is useful for selecting large
matrices .Select the first cell, or an internal cell of the matrix and then
press this button. The entire matrix will be selected
Elaboration time
Multiprecision computation does slow down the computation considerably. It takes much more
time then the standard double precision.  The time depends on the matrix dimension and on
the precision digits. The following graphs show the average time for the inversion and for the
multiplication of two dense matrices.
0
20
40
60
80
100
120
140
160
0
25
50
75
100
invers.
multip.
Time (sec)
N x N
30 digits
Multiprecision
0
1
2
3
4
5
6
0
50
100
150
200
digits
time (sec)
20 x 20
standard precision
As we can see, the inversion of a (100 x 100) dense matrix, with 30 precision digits, takes
about 150 seconds. Clearly, for this kind of tasks, macros are more suitable than functions.
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
Xnumbers Tutorial
141
Integrals & Series
Discrete Fourier Transform
=DFT(samples, [central])
=FFT(samples, [central])
Returns the complex matrix of the DFT transform of N samples.
This function returns an (N x 2) array. The first column contains the real part; the second
column the complex part .
The optional parameter "central" (default False) outputs a central transform.
If N is an integer power of 2, that is N = 2
P
, use the fastest FFT.
FFT uses the Cooley and Tukey decimation-in-time algorithm.
Formulas
Given N samples ( f(0), f(1), f(2),....f(N-1) ) of a periodic function f(t)
with
a normalized
sampling rate (T=1), the DFT is:
(
)
(
)
[
]
=
− ⋅
=
+ ⋅
=
1
0
/
cos2  /
( )
( )
( )
( )
N
n
i
r
nk N
i sin
nk N
f n
i F k
F k
F k
π
π
The components (F
r
, F
i
) are called the harmonic spectrum of f(t)
By the Fourier series, we can approximate a periodic function f(t):
(
)
(
)
k t t bsink k t
a
f t t a
k
K
k
k
⋅ +
+
=
ω
ω
cos
()
1
1
0
where the coefficients (a
k
, b
k
) are the components 2F
r
and 2F
i
of DFT
Example: Find the 16-FFT of the following periodic function (T = 1 sec)
cos(3  )
) ) 0.5
cos(
() 3
t
t
f t
ω
ω
+
= +
where
T
π
ω
2
=
First of all we have to sample the given function. Setting N = 16 , we have a sampling period of
1
0, 1,...
,
16
1
=
= ⋅∆
=
∆ =
N
i
t i i t
N
T
t
i
cos(3  )
) 0.5
cos(
3
i
i
i
t
t
f
ω
ω
+
= +
=
Appling the FFT function at the samples set ( f
0
, f
1
, f
2
,....f
15
), we get the complex discrete
Fourier’s transform
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET Professional .NET PDF converter component for batch conversion.
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
PDF pages, C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET NET components to batch convert adobe PDF files to
Xnumbers Tutorial
142
Note that the FFT returns a (16 x2)
matrix. The first column contains the real
part of FFT while the second column the
imaginary one.
The magnitude and phase can be easily
obtained with the following formulas
(
)
(
)
2
2
im
re
i
FFT
FFT
A
+
=
=
re
im
i
FFT
FFT
arctan
θ
Observe that the first row of the FFT
contains the mean of f(t).
Note also that the rows from 10 to 16 are
the mirror-copy of the previous rows.
Rearranging the mirror part we can obtain the central Fourier's spectrum.
For example, below there are two representations of the same DFT, obtained setting the
"central" parameter "false" and "true", respectively.
Bilateral DFT
Central DFT
Amp
0
0.05
0.1
0.15
0.2
1
4
7
10 13 16 19 22 25 28 31
Amp
0
0.05
0.1
0.15
0.2
1
4
7 10 13 16 19 22 25 28 31
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
NET control to batch convert PDF documents to Tiff format in Visual Basic. Qualified Tiff files are exported with high resolution in VB.NET.
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
project. Professional .NET library supports batch conversion in VB.NET. .NET control to export Word from multiple PDF files in VB.
Xnumbers Tutorial
143
Discrete Fourier Inverse Transform
=DFT_INV(samples, [central])
=FFT_INV(samples, [central])
Returns the inverse of the DFT transform of N complex samples.
This function returns an (N x 2) array containing the samples of the function f(t).
The optional parameter "central" (default False) outputs a central transform.
If N is an integer power of 2, thus N=2
P
, use the fastest FFT_INV function
FFT_INV uses the Cooley and Tukey decimation-in-time algorithm.
Formulas
[
]
(
)
(
)
[
]
=
+ ⋅
+ ⋅
=
1
0
/
cos2  /
( )
( )
( )
N
k
i
r
nk N
i sin
nk N
i F k
F k
f n
π
π
Where the components (Fr , Fi)  are the harmonic spectrum of f(t)
Example: Find the inverse transform of the FFT computed in the previous example
As we can see, the first column of  FFT_INV returns the samples of f(t) that have originated the
FFT itself
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Batch merge PDF documents in Visual Basic .NET class program. Merge two or several separate PDF files together and into one PDF document in VB.NET.
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Studio .NET project. Powerful .NET control to batch convert PDF documents to tiff format in Visual C# .NET program. Free library are
Xnumbers Tutorial
144
Discrete Fourier Spectrum
=DFSP(samples, [dB], [Angle])
This function returns the harmonic spectrum of a samples set
The parameter "samples" is a vector of N equidistant samples
The optional parameter "dB" (default FALSE) sets the amplitude conversion in decibel
The function returns an (N x 2) array, containing the amplitude and phase.
The spectrum (A
n
θ
n
is computed for real positive frequencys, being
(
)
+
+
n
n
n t
A
f
f t
θ
ω
sin
(0)
()
Example: Find the harmonic spectrum of the following 32 samples
Amplitude
0
0.2
0.4
0.6
0.8
1
1.2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Phase
-100
-50
0
50
100
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Inverse Discrete Fourier Spectrum
=DFSP_INV(spectrum, [dB], [Angle])
This function builds the temporal sequence from its real spectrum (amplitude, phase)
(
)
( ( )
,
i
n
n
f t
A
θ
The parameter "spectrum" is an (M x 2) array. Each row contains a harmonic. The first column
contains the amplitude and the second column the phase
The optional parameter "dB" (default FALSE) sets the output in decibel
The function returns the vector (N x 1) where N = 2M
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
Powerful components for batch converting PDF documents in C#.NET program. Convert PDF to multiple MS Word formats such as .doc and .docx.
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
NET components for batch combining PDF documents in C#.NET class. Powerful library dlls for mering PDF in both C#.NET WinForms and ASP.NET WebForms.
Xnumbers Tutorial
145
2D Discrete Fourier Transform
=FFT2D (samples)
This function performs the 2D-FFT of a bidimensional data set (x
i
, y
i
).
The parameter "samples" is an (N x M) array where N and M are integer powers of 2 (4, 8, 16,
32, 64…). The function returns an (2N x M) array. The first N rows contain the real part, the last
N rows contain the imaginary part.
Note: This function requires a large amount of space and effort. Usually it can works with
matrices up to (64 x 64).
Example: Analyze the harmonic component of the following (8 x 8) table
The 2D-FFT can be
computed in a very straight
way. Simply select a 16 x 8
array and insert the FFT2D
where the input parameter is
the given matrix (range
B10:I17).
We can easily extract the
harmonic components:
(0,0) 1
=
H
(1,0) 0.05
=
H
(0,1) 0.1
=
H
j
H
0.354
(1,1) 0.354
+
=
j
H
(2,2) 0.25
=
If we compute the inverse transform DFT2D_INV(“L10:S25”) we will obtain again the given
starting matrix.
2D Inverse Discrete Fourier Transform
=FFT2D_INV (samples)
This function FFT2D_INV performs the inverse of the FFT2D. It accepts in input an (2N x M)
array having the real part in the first N rows and the imaginary part in the last N rows. It returns
an (N x N) array
Xnumbers Tutorial
146
Macro DFT (Discrete Fourier Transform)
This macro performs:
the DFT of a data set of N samples
the DFT-Inverse of a data set of N complex samples
the 2D-DFT of a matrix of N x M samples
the 2D-DFT-Inverse of a two matrices of N x M samples
DFT
It works for any number N.
If N is a powers of 2 (8, 16, 32, 64, etc.) the macro uses the faster FFT algorithm and the
elaboration is more efficient.
Its use is quite simple. Select the vector of samples and then start the macro
The column “x” is not strictly necessary. If present, the macro uses it to calculate the sampling
parameters (see the top-right box).
For long input vector, you can select only the first cell C9 and start the macro.  The entire input
data set (32 x 1) will be automatically selected.
The macro writes the results in the following way
=  frequency sample
Hre     =  Real part of DFT transform
Him    =  Imaginary part of DFT transform
Amp   =  Amplitude  (if “polar” is checked)
Phase =  Phase    (if “polar” is checked)
The amplituted can be converted in dB. That is:  Amp
dB
= 20 Log(Amp)),
or also in dBm, the power ratio relative to 1 mW (a sine wave of 1 V
peak
, with 50 ohms load, is
equivalent 10 dBm).
The option check box "central" specifies if the DFT output is bi-lateral or central.
See the following examples
Xnumbers Tutorial
147
Example of a Fourier
transform of pulse.
Period = 1 sec
Duty cicle = 5.5%
Amplitude = 1
Sampling time = 1/256
f(t)
0
0.2
0.4
0.6
0.8
1
1.2
-0.5
-0.3
-0.1
0.1
0.3
0.5
Amplitude of the central
DFT
(-100 < f < 100)
Amp(f)
0
0.01
0.02
0.03
0.04
0.05
0.06
-100
-50
0
50
100
Amplitude of the bi-lateral
DFT
(0 < f < 255)
Amp
0
0.01
0.02
0.03
0.04
0.05
0.06
0
50
100
150
200
250
Amplitude in dB of the
central DFT
(-100 < f < 100)
Amp (dB)
-60
-55
-50
-45
-40
-35
-30
-25
-100
-50
0
50
100
Xnumbers Tutorial
148
Operation DFT-inverse
In this case you have to select two columns: the real and imaginary part of the DFT (H
re
, H
im
).
Then start the macro as usually.
If the DFT is in polar form (Amplitude, Phase), you have to check the “polar” option box and
choose consequently the appropriate units: dB and angle
Operation 2D-DFT
Dimension N and M must be integer power of 2
In this case you have to select a matrix of N x M values (do not select the axes-scales) and
start the macro as usually.
If you want the DFT in polar form (Amplitude, Phase), you have to check the “polar” option and
choose consequently the appropriate units: dB and angle
The macro generates two matrices containing
the real and imaginary parts of the 2D-DFT
Operation 2D-DFT inverse
In this case you have to select a matrix of 2N x M values (do not select the axes values)
containing both real and imaginary part and start the macro as usually.
If the DFT is in polar form (Amplitude, Phase), you have to check the “polar” option and choose
consequently the appropriate units: dB and angle