Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Dibujar onda en builder c++ ..........fft

Estas en el tema de Dibujar onda en builder c++ ..........fft en el foro de C/C++ en Foros del Web. Hola, estaba ocupando el componente sdl para crear señales en builder c++, ondas, sacar fft, etc... pero al ser de pago me limita en varias ...
  #1 (permalink)  
Antiguo 25/11/2010, 15:37
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 15 años, 6 meses
Puntos: 11
Exclamación Dibujar onda en builder c++ ..........fft

Hola, estaba ocupando el componente sdl para crear señales en builder c++, ondas, sacar fft, etc...

pero al ser de pago me limita en varias cosas... me propusieron usar dislin pero tambien voy a tener limitaciones, asi que no me queda otra mas que usar los mismos componentes que vienen por defecto en builder... mi pregunta es cual componente debo usar??... uno que me sirva para dibujar la señal y poder manipularla...

y bueno aprovecho de pedir a parte si alguien sabe un algoritmo para fft facil de usar...

nada mas.... muchas gracias...
  #2 (permalink)  
Antiguo 26/11/2010, 02:08
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: Dibujar onda en builder c++ ..........fft

Si no es obligatorio utilizar Builder y lo que necesitas es simplemente el tema de procesar las señales, prueba con Scilab (www.scilab.org), es como Matlab pero gratis.

Si es para dibujar la señal, pienso que DISLIN puede servirte, al fin y al cabio se trataría de que te aparezca una ventana con la gráfica.

Si manipular la gráfica significa cambiar los parámetros de la gráfica, me refiero a cosas como cambiar los límites de los ejes coordenados, el color de fondo y de trazado de la(s) curva(s) o hacer un zoom de alguna zona en concreto, todo ello a base de golpes de ratón, efectivamente no creo que DISLIN te lo permita (la verdad es que lo he usado desde programas en modo consola, y esas manipulaciones las hacía introduciendo los parámetros desde teclado y redibujando).

Si quieres hacerlo empleando el ratón, puede que tengas que buscar algún componente que te permita dibujar, probablemente exista un control llamado Canvas o algo parecido (bien en Builder, bien en SDL), tendrías que pintarte las líneas(ejes y cuadrícula), escribir las etiquetas y, para dibujar las gráficas, hacer las conversiones desde tus datos a los pixels de tu área de dibujo. Sería como dibujar en el Paint de WIndows, pero desde programa. Ojo, MUY engorroso.

Sobre tu última pregunta, si tienes que implementarlo en tu programa, hay un libro titulado Numerical Recipes in C (no recuerdo ahora editorial ni autor), este libro trae funciones para un montón de cosas de análisis numérico junto con algo de teoría. El libro es en inglés, no sé si hay alguna traducción al castellano.

Si te vale emplear una librería matemática, mira en esta web:

http://www.thefreecountry.com/

En la sección Programming -> Source Code/Libraries puedes encontrar varias librerías matemáticas, quizás alguna te sirva.

Si realmente quieres el código fuente del algoritmo creo que tengo algo por ahí, aunque no lo tendré disponible hasta dentro de un par de días. Si quieres que te lo mande, dímelo.

Saludos,
  #3 (permalink)  
Antiguo 26/11/2010, 10:31
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 15 años, 6 meses
Puntos: 11
De acuerdo Respuesta: Dibujar onda en builder c++ ..........fft

Bueno, con respecto al Scilab lamentablemente no me sirve.. procesan señales pero lo que tengo que relaizar es un ejecutable que lea los datos, los almacene en matrices, luego segmentar la traza, luego a cada segmento sacarle la fft, luego a cada una de esas fft volver a segmentarla para sacar en cada segmento el promedio de la onda, etc... entonces no me sirve ... y es casi igual al matlab el cual si he usado...

con respecto a lo del codigo fuente... me sería de gran ayuda, ya que he encontrado por internet algunos pero la verdad me enredan cada vez mas.... te gradecería mucho me lo hicieras llegar necesitas mi correo? se puede escribir aqui? lo escribo porciacaso... moisesneveu gmail . com

y bueno me exigen hacelo con builder y la verdad es que no encuentro el componente adecuado que me sirva... quiza ni lo tenga... lo que me preocupa muchisimo...

una vez mas... GRACIAS!!!

saludos.
  #4 (permalink)  
Antiguo 30/11/2010, 03:42
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: Dibujar onda en builder c++ ..........fft

Te he mandado un correo con un par de archivos adjuntos.

Saludos,
  #5 (permalink)  
Antiguo 14/12/2010, 12:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 15 años, 6 meses
Puntos: 11
Exclamación Respuesta: Dibujar onda en builder c++ ..........fft

agradezco mucho tu correo, no te respondí antes por que casi no tuve tiempo de ingresar a internet... agradezco mucho toda tu ayuda, busque toda la información que me diste y mucha de ella me sivió... mil gracias...

estoy topando solo en una cosa... y tiene que ver con la ayuda que me diste, no hay caso de hacer que funcione... al final he terminado echando a perder algunos codigos..

la idea es usar un codigo que no se si lo saque de por aqui mismo... es este:

#include <stdio.h>
#include <string.h>
#include <iostream>

int main()
{
FILE *fp1;
int i,j;
float A[3][3], B[3][3];
int c;

fp1 = fopen("datos.txt", "r"); //Abrimo el archivo

for(i=0;i<3;i++) //Iteramos i,j para ir almacenando los valores.
for(j=0;j<3;j++)
{
fscanf(fp1, "%f", &A[i][j]);
fscanf(fp1, "%f", &B[i][j]);


printf("Matriz A: %.2f \n", A[i][j]);
printf("Matriz B: %.2f \n", B[i][j]);
}
fclose(fp1);

system("PAUSE");
return 0;
}

este permite que los datos de un txt se guarden en arreglos...

la idea es sacar la fft de la traza o los resultados que este me da y no se si hacerlo directamente desde las matrices o desde el archivo....

por ejemplo si estos son los datos de las matrices:

15 22
20 27
25 35
30 40
35 25
40 42
45 21
50 30

recorrer desde 10 al20 y sacar la fft de 32,22,27
recorrer desde 15 al 25 y sacar la fft de 22,27,35
recorrer desde 20 al 30 y sacar la fft de 27,35,40
recorrer desde 25 al 35 y sacar la fft de 35,40,25
y asi con los siguientes hasta llegar al final del arreglo...

no se hay que usar punteros u otra cosa...

la verdad es que por aqui he pedido ayuda pero nadie sabe realmente como hacerlo... alguien de este foro me dio una idea pero no me resulto (por mi inexperiencia)... bueno, si alguien sabe como se podría hacer esto les pido su cooperación... saludos.

Etiquetas: builder, dibujar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:18.