HyperMath

BlockFrF

BlockFrF

Previous topic Next topic No expanding text in this topic  

BlockFrF

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

Frequency Response Function (FRF) calculated using blocking.  There are two forms.

Syntax

frf = BlockFrf(vec1, vec2, block_size, overlap, length)

frf = BlockFrf(vec1, vec2, window, overlap, length)

Arguments

Name

Description

 

vec1

A vector of input to a system.

 

vec2

A vector of output from a given system.

 

block_size

The number of elements to be used for each block.  Must be a positive integer and not greater than the length of vec1.

 

window

A vector of window weights to apply to each block.  Its length is used as the block_size.

 

overlap

The number of elements shared between consecutive blocks.  Must be a non-negative integer and less than block_size.

 

length (optional)

The length of the output vector if specified as a positive integer. If omitted or zero, the length will be the block size or window length. If the length is specified as ‘pad’, the length will be rounded up if necessary to obtain a power of 2.  See Comments.

Output

Name

Description

 

frf

A vector of the FRF.  Its length is equal to that of block_size orwindow unless argument length is specified.

Example 1

Find the FRF between the input vector input and the output vector output, using a block size of 256 and an overlap of 128:

 

Syntax

 

output = BlockFrf(input,output, 256, 128)

 

Results

 

output is a vector of the FRF of length 256

Example 2

Repeat the above example with a Hanning window instead.

 

Syntax

 

output = BlockFrf(input,output, HannWin(256), 128)

 

Results

 

output is a vector of the FRF of length 256.

Comments

The BlockFrf function uses blocking to calculate the imaginary component of a Frequency Response Function (FRF). vec1 and vec2 are assumed to be evenly sampled.

The FRF is complex-valued and used to map time-domain data into the frequency domain.

The BlockFrf function is different from a normal FRF in that it introduces blocking.  The input vector is subdivided into blocks.  An FRF is then performed on each individual block.  The results of these FRFs are then averaged to give the final result.

When length is set to ‘pad’, the block size is padded with zeros (if needed) to round it up to power of 2 before performing a FRF on the block.

See Also:

BlockFftImag

BlockFftMag

BlockFftPhase

Fold

Freq