programa para obtener ondas fundamentales de una onda compleja

Hola a todos! quiero saber de otro programa, puede ser de audio, o de matematicas (para manipular la grafica de ese audio) que me descomponga una señal compleja en sus fundamentales (siguiendo la teoria de fourier), pues, creo que es una utopia pero que sabemos que si se consiga! ojala el programa dijese cuantas ondas fundamentales posee esa señal y bueno que grafique cada onda fundamental resultante. Es que yo he visto es como al sumarse dos señales sale una resultante, ahora bien, quiero es un programa que haga lo contrario (pasar de la señal compleja cualquiera a sus fundamentales).

Reply to
Camilo Andres Gil Cardona
Loading thread data ...

Camilo Andres Gil Cardona escribió en mensaje ...

Matlab tiene una toolbox para procesamiento digital de señales, además de ser un programa muy bueno y potente para otras muchas cosas, pero es algo complicadillo y no sé si te compensará. No sé muy bien de lo que es capaz esta toolbox ya que no la he usado demasiado, pero te copio y pego lo que pone en su presentación:

" The Signal Processing Toolbox contains tools to help you do digital signal processing (DSP). DSP is the process by which real-world phenomena such as sound and light are analyzed, manipulated, and created using a digital computer.

Thus signal processing permits computers to interact with the world, and ultimately governs the exchange of information from one kind of signal to another.

The MATLAB environment is ideal for doing DSP because digital signals are MATLAB's most natural data type."

Saludos. M4N010.

Reply to
M4N010

Hola Camilo:

Hay muchos programas que hacen lo que pides (MatLab, Derive...), pero hay que saber interpretar los datos. El programa no te va a dar símplemente un término general, o una serie de 'ondas simples', sino que te dará un vector de elementos complejos, que corresponden con el espectro en frecuencias de la señal que has procesado, y además, con una correspondencia elemento-frecuencia, que hay que saber establecer. Lo mejor, es que utilizes un programa de audio que sea capaz de sacar el espectro de la señal por pantalla, y si no es muy compleja y no tiene puntos angulosos, obtendras un espectro en banda limitada sencillo de interpretar.

Saludos Jorge

"Camilo Andres Gil Cardona" escribió en el mensaje news: snipped-for-privacy@posting.google.com...

Reply to
Jorge Sánchez

Te recomiendo que utilices Matlab. Desde el espacio de trabajo debes importar el archivo. Supongamos que su nombre es Data. luego determinas el espectrograma (suponiendo que el muestreo fue a

44,1 KHz): [B,F,T]=specgram(data,1024,44100)

La matriz B resultante, por filas tiene las intensidades de las diferentes componentes por frecuencias indicadas en el arreglo F para los correspodientes tiempos señalados en el arreglo T.

Paz y suerte.

Omar.-

Reply to
O Alcorta

Hay cientos de algoritmos para eso,,, escritos en C/C++, FORTRAN, ADA, etc... googleá y buscá "Fast Fourier transformer" o sino "fast fourier analysis"...

Reply to
Horacio Castellini

Como te ha dicho la mayoria, MATLAB. Nosotros lo usabamos precismamente para lo que pides en las practicas de la universidad.

Saludos!

Ramon

"Camilo Andres Gil Cardona" escribió en el mensaje news: snipped-for-privacy@posting.google.com...

Reply to
Ramon

Te habras quedado tranquilo compadre, con la respuesta.

En mi opinion puedes utilizar Mathematica (Wolfram), el cual es muy potente, pero quizás un poco complejo de manejar.

"Horacio Castell>

Reply to
Horacio Emilio Pérez Sánchez

MATLAB pero con el toolbox "signal processing" instalado, sino no no tienes instaladas las funciones para la transformada de mi amigo Fourier.

De todas formas si no te quieres meter en la programacion de MATLAB siempre tienes programas específicos de musica como puede ser el cooledit que traen integrada la posibilidad de ver el histograma, claro que no le podrás meter mucha mano para medir y esas cosas.

MATLAB es divertido, animate con el que da muchisimo juego, ademas en la nueva versión (6.5 creo) mathworks ha mejorado las funciones para cargar archivos wav que antes se atascaban a veces.

Si quieres te echamos una mano entre todos . Yo tengo por ahi algunas funciones para cargar .WAV a ver si las encuentrooo...

por aqui hay algo pa empezar:

[wav,fs]=wavread(nombre);

esta instruccion te cargara los datos de audio PCM de un archivo wav llamado (nombre='c:\musica\ejemplo.wav') en un vector llamado WAV y en fs le tienes que especificar la frecuencia de muestreo de ese archivo.

A partir de ahi a jugarr con el apasionante mundo del procesado digital de sonido.

A 18 nov 2003, Ramon expuso lo siguiente:

--
Saludos de:

		Litto's



Cuando una serpiente nace con dos cabezas,
ambas se pelean por la presa.
Reply to
Litto's

Uffff, todavia tiene que mejorar algunas cosas

archivo.

Segun la ayuda de matlab copiada literalmente....

WAVREAD Read Microsoft WAVE (".wav") sound file. Y=WAVREAD(FILE) reads a WAVE file specified by the string FILE, returning the sampled data in Y. The ".wav" extension is appended if no extension is given. Amplitude values are in the range [-1,+1].

[Y,FS,NBITS]=WAVREAD(FILE) returns the sample rate (FS) in Hertz and the number of bits per sample (NBITS) used to encode the data in the file. [...]=WAVREAD(FILE,N) returns only the first N samples from each channel in the file. [...]=WAVREAD(FILE,[N1 N2]) returns only samples N1 through N2 from each channel in the file. SIZ=WAVREAD(FILE,'size') returns the size of the audio data contained in the file in place of the actual audio data, returning the vector SIZ=[samples channels]. [Y,FS,NBITS,OPTS]=WAVREAD(...) returns a structure OPTS of additional information contained in the WAV file. The content of this structure differs from file to file. Typical structure fields include '.fmt' (audio format information) and '.info' (text which may describe subject title, copy right, etc.)

Supports multi-channel data, with up to 32 bits per sample.

NOTE: This file reader only supports Microsoft PCM data format. It does not support wave-list data.

Con lo que uno de los fallos que tiene para el procesado de señales, es qeu te muestrea a 44100 Hz, no puedes especificarle el muestreo. Si quieres hacer un cambio en el muestreo, el consejo es hacer una decimacion (instruccion Decimate) y luego ajustar la base de tiempos.

No esta mal, pero es complejo. Matlab es una de las herramientas mas interesantes que conozco, pero a la vez es bastante complejo. Yo ahora mismo estoy con un PFC en la que a traves de simulink, debo programar un DSP de texas que se encargara del tratamiento del sonido generado por el corazon. En fin, una serie de algoritmos. Lo de la frecuencia de muestreo, te lo comentaba, porque si usas un conversor ADC que viene por defecto en la placa de desarrollo de texas, solo realiza un muestreo a 8 khz, con lo cual, hay que llevar cuidado si utilizas el bloque similar al waveread que existe en simulink, para ir realizando las simulaciones. En fin, todo un mundo como tu dices.

Siento el ladrillo. Saludos.

Reply to
Posofare

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.