Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Multiples portadoras USRP

Hola, estoy tratando de implementar un VI que envíe un mensaje por toda la banda FM.

 

Estoy usando el VI adjunto como base para enviar el mensaje en una estación pero necesito encontrar la manera de cambair mi frecuencia de portadora o realizar algún barrido para abarcar todo el espectro.

 

Gracias de antemano.

0 kudos
Mensaje 1 de 11
4.660 Vistas

Hola davidbp.13, para cambiar la frecuencia de transmisión se debe hacer la configuración de la transmisión del USRP nuevamente (niUSRP Configure Signal.vi), lo que podrías hacer es meter en un ciclo todo este proceso y mandarlo a llamar con cada una de las frecuencias que deseas abarcar.

Es importante mencionar que transmitir simultáneamente en todo el espectro no es posible, se debe hacer banda por banda.

Saludos!

Mensaje 2 de 11
4.629 Vistas

Hola Oscar, agradezco tu pronta respuesta. 

 

Entiendo, mi idea era enviar un mismo mensaje en múltiples portadoras de una sola vez (algo así como un tipo de FDM), pero veo que debo hacer lo que sugieres que sería básicamente enviar mi mensaje cambiando secuencialmente de portadora realizando un barrido sobre el espectro que quiero abarcar. 

 

Ya soy capaz de transmitir a una frecuencia pero he tenido alguno problemas al implementar el barrido, ¿sabes de algún ejemplo existente que realize algo similar o como puedo implementarlo tal vez?

 

Gracias de antemano y saludos.

0 kudos
Mensaje 3 de 11
4.600 Vistas

Hola davidbp.13, una manera de resolverlo es con un for loop que itere por un arreglo en donde tengas almacenadas todas las frecuencias que deseas. Ajunto un ejemplo que espero sea de ayuda. La idea es que para cada frecuencia se configure y transmitan los bits deseados.

 

Saludos!

0 kudos
Mensaje 4 de 11
4.576 Vistas

Hola Óscaar muchas gracias por tu ayuda. Exploré el VI y tiene sentido.

 

Una última pregunta, corrí el VI para realizar una pueba y me arrojó los siguientes errores sin haberlo alterado. ¿Sabes a que se debe? 

 

Adjunto screenshots del error, gracias de antemano.

Descargar todos
0 kudos
Mensaje 5 de 11
4.491 Vistas

Hola davidbp.13,

 

El error puede deberse al tamaño de la muestra que estás intentando mandar, puede que sea muy grande para la cantidad de memoria que está disponible. Intentando con un número como '32' o '16' en el campo "Number of Samples", en vez de '-1' puede ayar a eliminar el error.

 

Quedo al pendiente de los resultados. Saludos cordiales!

0 kudos
Mensaje 6 de 11
4.487 Vistas

Hola Oscar,

 

Efectivamente, al corregir el número de muestras se corrigió el error y el VI funciona. Al correrlo pude enviar mi mensaje, sin embargo lo que escucho es el mensaje cortado, es decir, se turna mi mensaje con la transmisión FM. 

 

No sé si es que la conmutación es muy lenta o si precisamente esa es la idea. O si al contrario se puede conmutar de estación única y exclusivamente cuando haya finalizado el mensaje a transmitir.

 

Saludos cordiales!

 

David

 
0 kudos
Mensaje 7 de 11
4.481 Vistas

Hola davidbp.13,

 

Parece que es cuestión de revisar el manejo de los ciclos y las frecuencias que requieras. El ejemplo expuesto va pasando una cantidad limitada de muestras para que se vayan transmitiendo en toda la banda de interés. Por otro lado, quizá es una opción invertir el for y while loops, para que mande toda la información completa de canal en canal.

 

Saludos cordiales!

0 kudos
Mensaje 8 de 11
4.468 Vistas

Hola Oscar,

 

Intenté hacer lo sugerido y ya casi lo hecho a andar pero quería saber si me puedes ayudar con una duda. Estoy con un VI realizando una prueba, envíamos el mensaje una vez y funciona correctamente, sin embargo al enviarlos 2 o más (con el for loop) el VI colapsa al parecer en el Wirte TX Data. 

 

Si logro enviar dos mensajes seguidos podré enviar los que quiera porque el arreglo de frecuencias funciona bien.

 

Gracias. Adjunto el VI.

0 kudos
Mensaje 9 de 11
4.449 Vistas

Hola davidbp.13,

 

En efecto el VI marca error en el Wirte TX Data debido a un problema de underflow, esto es que no se transmiten suficientes datos al USRP en el tiempo que los requiere. Aunque normalmente se le atribuye al hardware que se esté utilizando o el tipo de conexión; en este caso viene desde el software, ya que el tener que detener el envio de datos para solicitar otro archivo genera este underflow que reporta.

 

Las posibles soluciones son:

a) Colocar el manejo de sesión del USRP (Open Tx Session y Close Session) adentro del For Loop o,

b) Si se trata del mismo archivo para todas las bandas, sacar el VI Express File Dialog del For Loop.

 

Por otro lado, es posible que el VI Resample Waveforms se comporte diferente a lo esperado a partir de la segunda iteración del ciclo. Si es el caso, le recomiento revisar la ayuda del VI, especialmente para la opción de Reset del mismo.

 

Saludos!

0 kudos
Mensaje 10 de 11
4.436 Vistas