Devo generare una sine waveform con una certa fase iniziale ma che sia reentrant

devo generare una sine waveform con una certa fase iniziale ma che sia reentrant, in quanto sto simulando una digital down conversion e genero per ogni simbolo la moltiplicazione dei campioni del simbolo trasmesso con un numero di campioni uguali di una sinusoide con una certa frequenza. Quindi per ogni simbolo devo far partire la sinusoide con la fase con cui ha terminato l'iterazione precedente. Inoltre, dato che sto simulando una 16 QAM ho la necessità di creare due portanti, una seno ed una coseno, entrambe rientranti, ma con fase iniziale sfasata di 90 ° tra loro. Però, il vi SineWaveform ignora la phase se il segnale di Reset è false, come nel mio caso.
I have to generate a sine waveform with a initial phase but it has to be reentrant.Since I'm simulating a digital down-conversion, I have to multiply the samples of each symbol with an equal number of samples of a sine wave that has a fixed frequency. So, for each symbol I need that sine waveform starts with the phase with which ends the previous sine waveform( related to previous symbol). Also, since I am simulating a 16 QAM modulation,I need to create a sine and a cosine, but the initial phase of 90 ° out of phase with each other. My problem is that SineWaveform ignores phase if reset signal is false, as in my case.

Ciao Paolo,
 scusami per il ritardo con cui ti rispondo, ma sono stato abbastanza impegnato. Ho dato un'occhiata al tuo codice, e così com'è strutturato la sine carrier waveform non aggiorna la fase iniziale ad ogni ciclo inquanto è sempre e comunque impostata a phase = 0. Ho implementato un semplice codice che, data una waveform in ingresso, ne ricostruisce la fase e ti restituisce quella dell'ultimo campione della sinusoide in ingresso. A questo punto ti suggerisco di introdurre uno shift register nel for loop. Inizializzandolo a 0 (all'esterno del ciclo), collegandolo all'input phase del Sine waveform generator.vi sei sicuro che ad ogni iterazione la sinusoide portante parte con fase iniziale uguale a quella dell'ultimo campione della sinusoide precedente.
Quindi ricapitolando dovresti:
1) Aggiungere uno shift register al for loop. inizializzato a 0;
2) Collegare l'estremo sinistro dello shift register all'input phase del tuo waveform generator;
3) Inserire il VI allegato a valle del waveform generator;
4) Riportarti l'uscita del Last element phase reconstr.vi all'estremo destro dello shift register precedentemente inserito.
Spero sia tutto abbastanza chiaro, sperando di aver correttamente interpretato le tue problematiche a riguardo.
Saluti
Attachments:
Last element phase reconstr.vi ‏17 KB

Similar Messages

  • Como generar una factura de clientes con lotes

    Como Generar Una factura de Clientes con lotes, es Decir buscas? Busca otros Una Lista de Materiales Con Todos SUS Hijos, Tener pecado Una generada Orden de venta.
    Mi codigo es el siguiente, en solitario ingreso CUANDO Que El artículo De Una Lista de Materiales no me géneros la factura.
    Espero me puedan Ayudar.
    Consulta_SAP = new SqlDataAdapter ("SELECT Código como Código DESDE DONDE ITT1 Padre = '" + artículo + "'", DB_SAP);
                            Datos_SAP = new DataTable ();
                            Consulta_SAP.Fill (Datos_SAP);
                            cadena codigo_ = "";
                            codigo_ = Datos_SAP.Rows [0] [0] .ToString ();
                            for (int y = 0; y <Datos_SAP.Rows.Count; y ++)
                                dg_items.Rows.Add (Datos_SAP.Rows [y] [0] .ToString ());
                            for (int n = 0; n <dg_items.Rows.Count; n ++)
                                items_hjos = Convert.ToString (dg_items.Rows [n] .Cells [0] .Value.ToString ());
                                Facturas.Lines.SetCurrentLine (c);
                                Facturas.Lines.BatchNumbers.InternalSerialNumber = "67";
                                Facturas.Series = Convert.ToInt32 ("49");
                                Facturas.CardCode = CI;
                                Facturas.DocCurrency = "$";
                                Facturas.Lines.Address = direccion;
                                Facturas.UserFields.Fields.Item ("U_Orden") Valor = "Reto" + + reto ".";
                                Facturas.Lines.Quantity = 1;
                                Facturas.Lines.TaxCode = "IVAP16";
                                    Facturas.Lines.BatchNumbers.BatchNumber = "145134514000396";
                                    Facturas.Lines.BatchNumbers.Quantity = Convert.ToDouble ("1.0");
                                Facturas.Lines.BatchNumbers.SetCurrentLine (0);
                                Facturas.Lines.BatchNumbers.Add ();
                                Facturas.Lines.Add ();
                                c = c + 1;

    Hola
    Nuevamente gracias por tu respuesta
    La nota que mencionas la he revisado junto con otras varias,  te cuento como me fue con estas
    El cambio de estatus solo esta habilitado para las facturas de deudores que no son de anticipo, esto lo que me permite es  hacer la nota de crédito de esa factura  y así cancelar el pago  recibido de la factura de Anticipo  y esto me libera  una parte del Anticipo,
    Ahora al tratar de hacer  la nota de crédito de la factura de Anticipo el sistema invierte los importes, donde el total aplicado de la factura  se convierte en el total pendiente  en la nota de crédito,
    FACT
    Total Pendiente   970 (DEL PAGO CANCELADO)
    Total aplicado        30
    NOTA DE CRÉDITO
    Total Pendiente   30
    Total aplicado        970 (DEL PAGO CANCELADO)
    Esto es lo que me  tiene detenida :s
    Saludos

  • Con apple hardware test rilevo questo errore nella memoria 2MEM/1/4 DIMM1/J4001/1/ e qualche altra volta 2MEM/104/4 DIMM1/J4001    ritengo siano problemi ad una delle memorie ram aggiuntive. che debbo fare ? è da sostituire? o c'è un modo di escludere l

    con apple hardware test nel mio IMAC G5, rilevo questo errore nella memoria 2MEM/1/4 DIMM1/J4001/1/ e qualche altra volta 2MEM/104/4 DIMM1/J4001    ritengo siano problemi ad una delle memorie ram aggiuntive. che debbo fare ? è da sostituire? o c'è un modo di escludere il o i banchi di memoria interessati?

  • Generar señal senoidal con myDAQ

    Hola:
    Necesito generar una señal senoidal de frecuencia variable con la myDAQ mediante DAQmx. He conseguido generar alguna señal por la salida a0 pero en el osciloscopio se ve muy deformada. He utilizado las funciones de alto nivel de Labview.
    Cómo podría genener la señal utilizando funciones de bajo nivel ?. 

    Hola Aitor,
    puedes encontrar ejemplos de generación analógica de bajo nivel en LabVIEW >> Help >> Find Examples... >> (Pestaña) Browse >> Directory Structure >> (Ventana central) DAQmx >> Analog Output. Un ejemplo muy completo es Voltage - Continuos Output.vi.
    Adicionalmente, puedes encontrar ejemplos de usuarios en la Comunidad:
    https://decibel.ni.com/content/groups/ni-daqmx-examples
    Espero que te sea de ayuda!
    Saludos!!
    Jesús

  • Generar señal cuadrada con mydaq y fracuencia mayor a 50 khz

    hola buenas tardes, tengo que generar una señal cuadrada con una frecuancia de 50khz, y genere una por programa y su frecuencia maxima fue de 30hz. agradesco su ayuda. espero y me ayuden. gracias   

    Saludos ANTUAN94,
    Gracias por utilizar los Foros de Discusión de National Instruments, revisando el manual del myDAQ, en la página 4 en la sección des especificaciones de Digital I/O, en la especificación de Update Mode se comenta que es temporizada por software.
    SPECIFICATIONS: NI myDAQ:
    http://www.ni.com/pdf/manuals/373061f.pdf
    Por lo que es posible que la frecuencia de 30 Hz de tu aplicación esté limitada más bien por software. Me tomé la libertad de generarte y probar un pequeño VI que genera una señal cuadrada de 50 Hz por el Puerto 0, línea 0.
    Espero que esto te sea de ayuda, quedo al pendiente en caso de cualquier posible duda, saludos cordiales.
    David P.
    National Instruments
    Applications Engineer
    www.ni.com/soporte

  • Sine waveform to double indicator (not array)

    Hi!
    I am using the sine waveform.vi, and I get a waveform, as standard output. If I use "Get waveform components". I get a 1D array from "Y". . What I want is to use the current amplitude value of the sine waveform as a double data type. How is this possible? If I use an index array, I can get all the array components, but I don't see how that is going to solve my problem.
    Thanks for your help!
    Is my avatar the dog from the fraggle rock?

    Waveform is combination of DataArray, dt and timestamp usually. So as you use "get wfm component" you will get array of Y data. This is what expected also as waveform is not of single scalar value.
    But to see the last recent element in your array you can use index array function.If you know the number of element in your array. If you don't know then use Array size function to know size and substract one from it then put it as index of array to get last value inside your array.
    In my personal experience on any waveform one interest area are amplitude, phase, frequency and sampling info etc.. thease are details which you are using to generate.
    So please varify once again what you want..
    - HS

  • Por que al bajar videos de mi ipad al pc reproducen lento  y sin coordinacion con el sonido

    por que al bajar videos de mi ipad al pc reproducen lento  y sin coordinacion con el sonido

    If the videos are already on the iPad and the sound is out of sync, quit the videos app completely and reboot your iPad.
    Go to the home screen by tapping the home button. Double tap the home button and the recents tray will appear with all of your recent apps displayed at the bottom. Tap and hold down on any app icon until it begins to wiggle. Tap the minus sign in the upper left corner of the app that you want to close. Tap the home button or anywhere above the task bar.
    Reboot the iPad by holding down on the sleep and home buttons at the same time for about 10-15 seconds until the Apple Logo appears - ignore the red slider if it appears on the screen - let go of the buttons. Let the iPad start up.

  • Si è installato search snap.do e ogni volta che apro una scheda di firefox mi compare come pagina iniziale invece che la preferita.

    si è installato search snap.do e ogni volta che apro una scheda di firefox mi compare come pagina iniziale invece che la preferita. Nonostante reinserisca la pagina iniziale voluta da me, ogni volta che apro una nuova scheda mi compare snap.do. Inoltre mi cancella l'impostazione "mostra le finestre e le schede dell'ultima sessione". Tutto questo succede da alcune settimane anche dopo l'ultimo aggiornamento di firefox. Ho W7.

    What is the value of the browser.newtab.url pref?
    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do NOT click the Reset button on the Safe Mode start window.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    If you do not keep changes after a restart or otherwise have problems with preferences, see:
    *http://kb.mozillazine.org/Preferences_not_saved

  • IPad blocccado da una finestra dei richiesta bakcup che non si chiude, iPad blocccado da una finestra dei richiesta bakcup che non si chiude

    Ieri ho caricato il mio ipad che si è caricato normalmente ma da allora non posso più accedere compare una finestra Backup iCloud con la scritta: il backup non viene effettuato da 2 settimane i backup hanno luogo quando iPad è collegato alla rete elettrica, bloccato e connesso al wi-Fi ...ho ricollegato come richiesto .... Ma non ho risolto il problema ... La finestra non si chiude impedendomi di accedere .

  • Acquiring multiple voltage and current sine waveforms, and log them along with the respective time stamp in a file."

    "I am doing a data acquisition project using a 16 channel N.I. series 6020E card where I want to capture respective current and voltage sinusoidal signals. I am planning on capturing four pairs of matching current and voltage signals. I planned on taking one reading across the channels every fifteen minutes. This reading will need to be 60 data points per period or 3600 readings per second per channel in order for me to recreate the sine signal to determine the phase angle difference between the voltage and current. I was able to get one channel to capture a signal but could not get more than one working at a time. I am also trying to sycronize the data collection so all samples are with respect to each other. Thanks for any help."
    -posted by cappy on 2/11/2002
    John N on 2/12/2002 answered:
    "Hi Cappy,
    Could you post this question to the Hardware > Counter/Timer or Hardware > Multifunction I/O forums? I think you will get more responses there. Here is a link.
    The hardware is usually a better differentiation since software can support such a huge range of functionality.
    The data rates you are talking about sound reasonable. Are you using the USB or the AT interface?
    One other thing to be aware of is that the samples taken will not be simultaneous due to the multiplexed nature of the MIO board measurements. However if you know the channel clock rate(output from one of the VI's), then you can calculate the time difference between each measurement and correct your phase measurements by that amount.
    If you have more questions, please post this to the other forum and copy all of our discussion to let everyone know what we have talked about already.
    Best Regards,
    John Nieri
    Applications Engineer
    National Instruments"
    I am using the USB connection. If anyone can help with or has a similar VI for this, it owuld be appreciated so I can work on the larger aspect of the total project.

    The easiest VI to use for this acquisition is AI Acquire Waveforms in the data acquisition palette in LabVIEW. This VI allows you to perform a finite acquisition from multiple channels on your DAQ board. As John mentioned the acquisition from individual channels will not be truly simultaneous. There will be a slight time shift from one channel to the next on the order of the maximum acquisition speed of the card, 100kHz or 10 microseconds in your case. By accounting for this 10 microsecond delay between consecutive channels you can properly calculate the phase shift between voltage and current.
    Christian L
    NI Consulting Services
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Sine waveform data Compression Techniques

    Hi Engineers,
    I am looking for some techniques or algorithms to compress the Sine Wave waveform data.
    (Some of the changes I already done like DBL to SGL format and 16 bit integers )
    I can't effort the sample loss.
    Thanks and Regards
    Himanshu Goyal
    Thanks and Regards
    Himanshu Goyal | LabVIEW Engineer- Power System Automation
    Values that steer us ahead: Passion | Innovation | Ambition | Diligence | Teamwork
    It Only gets BETTER!!!

    Himanshu,
    simple mathematic for binary files:
    30 channels a 10KS/s presumably double => 30*10.000*8 Bytes/s = 2.400.000 Bytes/s (roughly 2MB/s).
    Running the application for 1 hour should result in 2MB/s*60*60 = 7.2GB.
    So the file you are getting is the most condensed version of data without lossing information.
    Loss of information will bring that down to less amount of space needed, but you have to consider which information you want to discard.
    Possible ways:
    1) Convert all data to Single: You will lose information, eventually cutting off values if the values are very big or very small. On the other hand, you cut down the space to 1/2 (3.6GB/h)
    2) Averaging: Calculate the average for several values. This is ok for good oversampling (>1000) and small numbers (<50) esp. when the signal has lots of noise. The space needed is cut down by the amount of values you build the average on. Please note that you cannot use a moving average (which is in fact a simple filtering method).
    3) Calculate a form-fit function for packages of the signal and store the parameters for the given function: Best compression, but will lose nearly all information of the waveform and introducing uncertainties by the form fit function (increasing errors). In addition to that, packages might have steps to one another since the form fit function will not result in a continuous function without steps.
    There are more methods for sure, but those are the most basic and common that i can think of.
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Envelope of burst of sine waveform

    Hi,
    I want to get only the envelope of the burst of sine wave as attached in the picture.
    Is there any standard functions available to find the envelope.Please tell me how to find the envelope of a signal. 
    Attachments:
    signalburst.PNG ‏20 KB

    I have tried to find the envelope of the signal using Hilbert transform but i didnt get smooth waveform.
    I have attached the vi which i tried..Please tell me what is the problem..How can i get smooth waveform
    Attachments:
    Envelope.vi ‏30 KB

  • Generate sine waveform (myRio)

    What is the best way to generate a 1khz sine signal on one of the analog outputs of the myRio device? I tried a timed loop and the Point by Point Sine Generation VI similar to the Electret Microphone demo or this post: http://forums.ni.com/t5/Academic-Hardware-Products-ELVIS/frequency-matching-problem-with-myrio/m-p/2... by Sammy_K. But the resolution is a problem. The frequency is not very accurate and with a dt of 100 uS and a 1Mhz Clock I only get 10 samples per period. A dt of 10 is too much load for the processor (the deivce does not respond anymore and needs to be restarted). Is there a better way of generating a 1khz sine output or do I need to do this within the FPGA somehow?
    Solved!
    Go to Solution.

    Hey JulianR,
    The thing to keep in mind is that each time you call the Analog Write express VI you write one data point to the analog output on the myRIO.  The rate at which data is output is determined by the rate at which you loop runs.  You can use a timed loop in LabVIEW to write analog output values at a relativly fixed loop rate and vary the value to generate a sine wave output.
    I put together an example of doing just this (but using the value to set a PWM duty cycle rather than analog output) in this thread.  You'd basically need to replace the PWM express VI with the Analog Output Express VI.
    Finally as Marc67 mentioned you could implement the sine wave output in LabVIEW FPGA which would give you more control and let you use faster output frequencies.  I'd start with the timed loop method and move to FPGA if you need faster output rates.
    Let us know if you have more questions for us.
    -Sam K
    LabVIEW Hacker
    Join / Follow the LabVIEW Hacker Group on google+

  • Can pci-6251 output a stable sine waveform with 50mV Vpp and frequency is 150 hz,1000hz,3000hz?

    i tried .while the result waveform is not stable and the frequency is always changeing all the time. Any way to improve it ? thanks so much !

    Hay thnx dude..
    I found the example and now it works
    once again thanks a lot

  • Generating a digitized sine waveform

    Hi,
    I am trying to generate a digitized sine wave to feed into my 16 bit DAC. Basically, I am trying to create a sine wave that goes from 0 to 65535, with a frequency and amplitude that I can control.
    Any ideas how can I do it?
    Thanks!

    Thank you for your suggestion!
    Attached is what I have so far. I think it works. I digitized the sine wave, but my problem is that the sine wave is not "continuous/real time". Also I cannot change my sample size (default is 1000).
    Any other suggestions?
    I am planning of providing a digitized sine wave to a DAC and measuring SNR at the output of the DAC with an Audio Precision. That is why I needed a continuous/real time sine wave with more sample points.
    Thanks.
    Attachments:
    digital sine wave NI.vi ‏50 KB

Maybe you are looking for