Home | Develop | Download | Contact
example_vector_dsp.cpp

Programa para el testeo de las funciones.

Programa para el testeo de las funciones.Para compilar o código example_vector_dsp.cpp:

g++ -static -o example_vector_dsp example_vector_dsp.cpp -lpdsramm

Para executar o programa:

./example_vector_dsp

Retornando por consola:


A.T():
1  -1 5  -1 1  2  -1 

B.T():
1 2 3 

A.Conv(B).T():
1  1  6  6  14 1  6  4  -3 

A.Conv1D(B,2,Pds::Ra::Full).T():
1  1  6  6  14 1  6  4  -3 

A.Conv(B,true).T():
1  6  6  14 1  6  4  

A.Conv1D(B,1,Pds::Ra::Same).T():
1  6  6  14 1  6  4  
7       1

A.Conv1D(B,1,Pds::Ra::Full).T():
1  1  6  6  14 1  6  4  -3 
9       1

A.Conv1D(B,1,Pds::Ra::Valid).T():
6  6  14 1  6  
5       1

A.XCorr(B).T():
3  -1 14 6  6  7  2  0  -1 

A.XCorr(B,true).T():
14 6  6  7  2  0  -1 

A.T():
1  -1 5  -1 1  2  -1 
Block[0].T():   1  5  2  -1 
Block[1].T():   1  5  2  -1 
Pds::Vector::FlattenVectorBlock(Block).T():     1  5  2  -1 1  5  2  -1 

Código example_vector_dsp.cpp:

#include <Pds/Ra>
#include <cmath>
int main(void)
{
Pds::Vector A("1 -1 5 -1 1 2 -1");
Pds::Vector B("1 2 3");
A.T().Print("\nA.T():\n"); // Transpose of A
B.T().Print("\nB.T():\n"); // Transpose of B
R=A.Conv(B); // Conv(A,B)
R.T().Print("\nA.Conv(B).T():\n");
R=A.Conv1D(B,1,Pds::Ra::Full); // Conv(A,B)
R.T().Print("\nA.Conv1D(B,2,Pds::Ra::Full).T():\n");
R=A.Conv(B,Pds::Ra::Same); // Conv(A,B) with size of A
R.T().Print("\nA.Conv(B,Pds::Ra::Same).T():\n");
R=A.Conv1D(B,1,Pds::Ra::Same); // Conv(A,B) with size of A
R.T().Print("\nA.Conv1D(B,1,Pds::Ra::Same).T():\n");
R=A.Conv1D(B,1,Pds::Ra::Full); // Conv(A,B) with size of A
R.T().Print("\nA.Conv1D(B,1,Pds::Ra::Full).T():\n");
R=A.Conv1D(B,1,Pds::Ra::Valid); // Conv(A,B) with size of A
R.T().Print("\nA.Conv1D(B,1,Pds::Ra::Valid).T():\n");
R=A.XCorr(B); // XConv(A,B)
R.T().Print("\nA.XCorr(B).T():\n");
R=A.XCorr(B,true); // XConv(A,B) with size of A
R.T().Print("\nA.XCorr(B,true).T():\n");
std::vector<Pds::Vector> Block;
A.T().Print("\nA.T():\n"); // Transpose of A
Block[0].T().Print("Block[0].T():\t");
Block[1].T().Print("Block[1].T():\t");
Pds::Vector::FlattenVectorBlock(Block).T().Print("Pds::Vector::FlattenVectorBlock(Block).T():\t");
return 0;
}
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
unsigned int Nlin(void) const
Retorna el número de lineas de la matriz.
void Print(const std::string &str, unsigned int precision) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
Pds::Vector Conv(const Pds::Vector &B, Pds::Ra::Padding Padding=Pds::Ra::Full) const
Calcula la convolución entre A y B.
Pds::Vector Conv1D(const Pds::Vector &B, unsigned int Stride=1, Pds::Ra::Padding Padding=Pds::Ra::Full) const
Calcula la convolución entre A y B.
static std::vector< Pds::Vector > MaxPoolingVectorBlock(const std::vector< Pds::Vector > &A, unsigned int LinPool)
Aplica max pooling a cada matriz de lineas y columnas.
static Pds::Vector FlattenVectorBlock(const std::vector< Pds::Vector > &Block)
Convierte a Pds::Vector un VectorBlock.
static Pds::Size Conv1DOutputSize(unsigned int Anlin, unsigned int Bnlin, unsigned int Stride, Pds::Ra::Padding Padding)
Calcula el tamaño de la matriz resultado de la convolucion de A y B.
Pds::Vector XCorr(const Pds::Vector &B, bool Same=false) const
Calcula la correlacion cruzada entre A y B.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed