5641R FM-Demod regeneration

Hello

I was the object of a change slowly
the example of FM-Demod 5641R, RF communication, in a library
FM-Demod/Regen for example. I mainly want to use the 5641R as one
retransmitter with treatment. I have successfully used the 5641R as one
retransmitter without treatment, but I noticed that the retransmission
a Demoded-FM signal is not as expected. Mainly because the output of
the core of FM - Demod IP is a true value and the D/A on the 5641R is
configured for quadrature I / Q mode. So, I have to add another
processing loop in order to recreate the IQ data and if then...? I am
familiar with the concept of QI and how to build it but I'm pretty
new development of FPGA as a Point fixed so I couldn't
find a way to do it on the FPGA. Y at - it sort of 'MT '.
Upconvert the baseband to the IQ' block for the FPGA?

Right away
I get essentially double spectrum when the regeneration of the
FM-demoded samples. For example, a signal of 4fsk becomes 2-tone mirror
on each side of the center frequency of YEW instead of 4 independent
tones.

I have attached a code snippet below.

Kind regards

Tim
S.


Tags: NI Products

Similar Questions

  • How can we regenerated certificate of development mac for future use.

    How can we regenerated certificate of development mac for future use.

    Probably better off posting it here:

    Developer forums

  • signal flow 5641R to the disk could not be demodulated correctly

    Hello

    I did an IQ file, which is a signal with PN9, QPSK Gray, the file is OK, IQ sampler rate is 3.75 MHz

    I use the sample 5641R driver, "5641R stream from the disc", to transmit the file IQ, the frequency is 20 MHz, IQ for DAC rate is 3.75 MHz

    on the AO Port, I got the spectrum of the signal, is good.but, when I démodulés the AO port signal, the result is not good, is not the PN9.

    What is the reason? Who can help me for this?

    Thank you!

    Hello

    I have a few questions for you:

    1. Can you tell us how you saved the original file?

    2. Have you used the example of 'stream 5641r to disk?

    3. Could not attach the file registered on this forum?

    4. To create the PN9, QPSK Gray, signal you use the NI Modulation Toolkit?

    5. You read the signal on the channel of AI 5641r return?

    6. Otherwise, what is the source that you are reading the signal?

    7. You mentioned that your IQ rate is 3.75 MECH. / s, is this OK?

    8. What is the frequency?

    Best regards

    Jonathan P

    Technical sales engineer

  • No regenerative analog output in c#

    Hello

    Does anyone have experience implementing a similar continuous regenerative, exit in c#. Specifically, I'm looking for to control the output of several channels, simultaneously over many hours that will not repetitive voltage signals.

    This will require to write new data, drawn from a file stored on my hard drive to my DAQ buffer while the DQA provides the previously loaded buffer. I understand that there are built-in non-renewable methods DAQmx to handle this, I do not know how to handle these methods using c#. Code snippets, references to functions or examples would be much appreciated. Thank you!

    -Jon

    Thanks Christina,

    I ended up understand everything. This example was very helpful, but it kinda turns out to be a cheat.

    In the example is a recursive method that takes care of the buffer of stimulation (its called recall or something).  Before this run, the task of the AO is such that a buffer can be charged only half of the samples were read through

    myTask.AOChannels.All.DataTransferRequestCondition = AODataTransferRequestCondition.OnBoardMemoryHalfFullOrLess;

    in order to effectively support a system of double buffering. However, even if the code is unable to load the buffer, it is still running around a new waveform calculation for load and then realizing that it cannot load it. I wanted something that was expected to produce a buffer exactly when the buffer DAQ was half empty. In this way, a Chuck of a waveform could be read from a file on my hard drive every so often and inserted in the buffer DAQ without ever missing a step. I modified your example to show how to do something like that. I hope that others will find useful.

    -Jon

  • Synchronized not regenerated multifunction AO AI

    I am trying to build a VI that reads and writes a signal simultaneosly to use as a test of the device. I want the signal to be non regenerative and I want to read 80kS/s with at least 4096 samples.

    I built my VI begin with the standard model of producer-consumer and the example AO AI multifunction located under "hardware input output/DAQmx/synchronized/multifunction" but with minor modifications to make it non-regenerative. This however does not work because there seems to be a discrepancy between the two signals after the first few iterations. Initially the signals overlap, but then I get a period. For example if the sample rate and of the samplesize 1000 superimposed signal for a short period when yields but then a delay of environ.25 seconds appears. There are also various errors of buffer all indicating that the buffer has been closed or crushed before that samples could be read. If there is someone who would know how to solve this problem, I would be extremely grateful.

    I'd appreciate also all tips on how to be able to update the sampling frequency and size in real time.

    Best regards

    Felix Turner

    Hi Felix,.

    Welcome to the forums EITHER!  The part of the synchronization of your code seems pretty good assuming tasks of HAVE and AO are running on the same device - you are triggering one task out of the other, so they should start at the same time (if they are the same device, the time will be the same for each clock so you shouldn't get any drift over time).  Another way to synchroinze the two tasks (because they're going at the same rate) would be to simply share the sample between tasks clock.

    A few problems I see with the code:

    I think that problems of buffer problems come from the fact that the tasks of HAVE and AO are in the same thread.  DAQmx Write is a blocking call, so in your code it prevents DAQmx called Read until enough space became available in the buffer output to write the desired number of samples (1000 in your case).  In the meantime, looks like the analog input buffer is completely filled.  You could try to increase the size of the buffer, but you can also consider the two tasks running in parallel loops.

    In addition, samples of reading (-1) will return some data are in the input buffer.  It would probably be a different number of the number of samples that you write by loop iteration, so the data may appear sync when it is read.

    With respect to the number of samples to read and write by loop update, it is editable running so everything you need to do is put the control inside the loop (you can put a local variable outside of the loop to the initial settings).

    The PCI clocks rate, I / ao sample is not modifiable at run time, but what you can do is to use a meter to generate a sample for both tasks clock (just use the internal output as the sample for each task clock).  This example shows how you can change the rate of a performance counter on the fly.

    Put it all together, here's what I'll try:

    I would put both DAQmx tasks in parallel loops. Instead of sharing a trigger of departure between the two tasks, use one of the counters to generate a variable frequency sampling clock to use.  The tasks of HAVE and AO must begin before the meter.

    You should also probably use the number of samples to read the DAQmx Read entry so that each iteration of the loop will be matched with the data written in the previous iteration of loop AO.  If you are not careful when implementing the variable number of samples to reading parameter, you could end up with a race condition where single loop updates to read samples and the other is not updated until the next iteration.  Usually Of functional Global Variables are used in situations like this, but another idea might be to adjust the size of the buffer AO so that we can ensure that the loop AO will always run before the loop to HAVE it.  You can place the control inside the loop of the AO and the local variable inside the loop to HAVE it.

    Feel free to post if you have any questions!

    Best regards

    John

  • Regeneration in a particular cycle stop

    Hi all

    I'm a generation continuous pattern in mode 'regeneration '. It works fine, but I would like to stop the procedure if regeneration is achieved a given number of cycles. So, if I want to generate a given example sequence pattern 900 times (900 cycles) and then stop the generation, how can we do this?

    Thank you

    -George-


  • This allows regeneration without using it

    Hello!

    I'm working on an application that generates a sinusoidal signal (low freq, say 50 Hz for ease of calculation) a period at a time, so the amplitude can change at each cycle. To improve response time, I don't want to use and fill a buffer, just the minimum required (I use 1000 samples/cycle, so a 1000 buffer which is updated each cycle). However, this leads to chess, since smaller delays can accumulate and lead to an area buffer against the recess.

    I would like to activate the regeneration, so that if the application is unable to write fast enough, the device recycles just from the previous cycle, but only then. However, for some reason if I do this I always get two uses for a cycle, even if in the non-regeneration, the application is able to send data fast enough

    Bottom line: How can I activate the regeneration, but avoid when I am able to update the buffer fast enough?


  • How can I determine what digital data was issued last with the regeneration?

    Is there a way to determine the last digital data output if you are running a quick revival and regeneration?  Right now I use a digital channel not used by the channel with the same clock that I use for other data capture. It works very well and I know that the data I receive are correct, but there is something wrong with burning a channel for that. The data I am regenerating changes several times during the trial for counting samples to determine where I was in the buffer would make my code more complex and the chances of a mistake to increase.

    I have a mixture of material that I use for a cDAQ-9172, a box of series M and a PXI-1033 USB.

    Hello Tom,

    There is absolutely something wrong with having to use one of your channels to monitor what you're out, however, it's the best we can right now.  The problem is, when you set a buffer until the release, the access card to this memory stream location it will regulate.  It's speed leaving and overall card design.  There is no way back on the material for do what you are looking for and no software to interact directly with the location of the buffer.

  • regeneration of the outputs analog

    Hello

    I am writing a program to fight mirrors laser. I use the example: output - analog continuous regeneration No. When I put a counter on since the while loop itteration, I can see I runs very fast for the first 10 hours, and then it slows down to normal pase... Is it possible to make the VI that it doen'st run so fast in the first round? Looks like that it is buffering a whole bunch of data... But I want to pause from time to time the exit...

    Best regards

    Thijs


  • DAQmxErrChk and regeneration

    Hello

    I wanted to inform you on the DAQmxErrChk function. What is it and how can it be used to control the regeneration? I have observed the following syntax:

    DAQmxErrChk (DAQmxSetWriteAttribute (genTaskHandle, DAQmx_Write_RegenMode, DAQmx_Val_DoNotAllowRegen));

    So I renamed genTaskHandle in my own name of the task (nitWFM), forge it be anything I need to do to set DoNotAllowRegeneration? No matter how to set the task? When I saw this code there was the following for the task definition:

    DAQmxErrChk (DAQmxCreateTask("",&genTaskHandle));

    DAQmxErrChk (DAQmxCreateAOVoltageChan (genTaskHandle, channels, "",-10,0, 10.0, DAQmx_Val_Volts, NULL));
    DAQmxErrChk (DAQmxCfgSampClkTiming (genTaskHandle, "", DAQmx_Val_Rising, DAQmx_Val_ContSamps,))
    SAMPLESNB));

    In my code, the task is defined as such:

    std::auto_ptr nitWFM;
    nitWFM = std::auto_ptr(new CNiDAQmxTask());

    Set my task as it would allow me to change again the Regenation via the above line?

    masterron1:

    The DAQmxErrChk function is used to check the status code when calling functions DAQmx (see example here).

    If you want to change the settings of the regeneration, there is a mode property of regeneration that you can set, called "DAQmxSetWriteRegenMode."

    For more information about the properties of regeneration, see help OR DAQmx of the C reference. You can get for it in your Start Menu in "program--> National Instruments--> NI - DAQ--> text Code support.

    Go to the tab 'search' and enter 'Régénération' for a complete list of topics. The first result should be what you need.

    Hope that helps!

  • GETVPN and regeneration of the keys when several members of the Group leave at the same time

    He did not specify how the key servers respond when several members of the group start simultaneously. For example, if 3 members leave the same group, made the key manager sends three keys (KEK, TEK) and only the last will be available for future connections? Or the key manager optimizes the regeneration of the keys and sends only a single key?

    Thank you

    Stone,

    On himself, he is not uncertain. You can retrieve the session memory keys (not impossible but difficult).

    I guess what you are looking for is a red button to clear the SAs on all devices?

    In this case:

    http://www.Cisco.com/en/us/docs/iOS-XML/iOS/sec_conn_getvpn/configuration/15-2mt/sec-get-VPN.html#GUID-6267F36C-094F-483F-A1CA-735D39484364

    Specifically "clear members ks gdoi crypto now."

    There is a particular risk that you thought?

    M.

  • Miniature constant regeneration

    How to stop the constant rotation of the ball in the lower left liitle?  He is constantly on regeneration/preview thumbnails extractions that slows down my editing in ACR to a snails pace.  What is the best setting for this? I didn't need the machine working on the pictures, that I do not work.  I tried to divide the case as it had 2700 RAW files to the breast.  It did not help, always constant spin.

    Thank you!

    Debbie

    Hello

    Well there no option to stop the regeneration process, but we can increase the size of the cache for the Assembly of miniatures > preference > Cache.

    Thank you

  • Regeneration of vCenter device certificate does not

    I'll put up a new vCenter Server Appliance and for some reason that the function of regeneration of certificate is not up-to-date certificate with the new host name and of the period of INVESTIGATION.

    I toggle regeneration of certificate of 'Yes' to reboot the device, I can see during startup until a line specifies that 'hostname has changed... regenerating SSL certificate', no errors I see appear.

    However, after that, I connect to the web console to https://x.x.x.x:5480 and verify the certificate and there always localhost.localdom the original DHCP assigned IP so the cert address has not changed!

    How can I get a new cert to regenerate?

    Thank you

    OK, so I just found this discussion here: http://communities.vmware.com/thread/447770 about 5.1 update 1 has suspended to regenerate the certificate after the reboot.  The user could get past the issue of hanging of manually generating the certificate from the command line.

    While I wasn't the problem with the suspension he had, I was able to follow the procedure for manually generating certificates.  It worked great and my cert now matches the host name.

    Not sure what is causing my problem, but this seems to have done the trick.

  • Is there a solution to work around the problem of miniature regeneration in CS5?

    Hello.

    A friend uses my old version of CS5, and she's stuck with cab 6.7, because it is the latest version available in CS5.

    She seems to have huge problems in bridge with the miniature regeneration bug described here, for example: cropping to an edge confuses Adobe Bridge?

    In practice, although it has a relatively powerful machine, she is unable to work because there's always dozens and dozens of generated thumbnails and its eight virtual cores to the full population of disk bandwidth, which makes impossible to use Bridge. I'm not sure that it is exactly this bug, but everything seems to perfectly match 100%: hundreds of DNG files with optical correction enabled and many cropped manually.

    Now, this is a confirmed bug of ACR 6.7 to 8.2 ACR. She cannot move on to the second without buying a new version of Photoshop/bridge.

    Adobe offers a fix for this bug in CS5? Could someone kindly point me to it? His version of bridge is simply unusable as is...

    If the answer above is no, be interested to know if this seems legal (does not mean ethical) to someone: (otherwise), she's quite happy with CS5, it would need to buy a new license for the sole and exclusive reason who sold me the Adobe product has a known and proven bug that makes it practically useless in its framework.

    Thank you

    p.

    The bug appears only when an image has active LPC AND a harvest has been applied AND harvest touch ANY edge of the image. So it does not apply IF CAP is not enabled, no harvest has been applied OR a culture does not touch the edge of the image.

    I went through a load of images by moving the landmarks of crop slightly edges, and regenerations COMPLETELY stopped.

    No culture, no problem. It applies only to images cropped out (with CAP).

    Hope it clears.

  • Error during the regeneration of the appsborg.zip and appsborg2.zip files

    Facing error while regenerating the files appsborg.zip and appsborg2.zip with adadmin with no option of force after 10.1.3.5 (p8626084_101350_LINUX.zip)

    I see in my log file


    Using /u01/oracle/PROD/apps/tech_st/10.1.3/appsutil/jdk/jre/bin/java to spawn the java commands...: Thursday, June 14, 2012 19:55:14

    WARNING: Failed to load the zip file /u01/oracle/PROD/apps/tech_st/10.1.2/forms/java/frmall.jar metadata entry
    Cause: Error trying to read the metadata of the file /u01/oracle/PROD/apps/tech_st/10.1.2/forms/java/frmall.jar: no entry metadata META-INF/JRIMETA. DAT found


    WARNING: Failed to load the zip file /u01/oracle/PROD/apps/tech_st/10.1.2/jlib/ewt3.jar metadata entry
    Cause: Error trying to read the metadata of the file /u01/oracle/PROD/apps/tech_st/10.1.2/jlib/ewt3.jar: no entry metadata META-INF/JRIMETA. DAT found


    WARNING: Failed to load the zip file /u01/oracle/PROD/apps/tech_st/10.1.2/jlib/ewt3-nls.jar metadata entry
    Cause: Error trying to read the metadata of the file /u01/oracle/PROD/apps/tech_st/10.1.2/jlib/ewt3-nls.jar: no entry metadata META-INF/JRIMETA. DAT found


    WARNING: Failed to load the zip file /u01/oracle/PROD/apps/tech_st/10.1.3/lib/xmlparserv2.jar metadata entry
    Cause: Error trying to read the metadata of the file /u01/oracle/PROD/apps/tech_st/10.1.3/lib/xmlparserv2.jar: no entry metadata META-INF/JRIMETA. DAT found


    WARNING: Failed to load the zip file /u01/oracle/PROD/apps/tech_st/10.1.3/j2ee/oafm/applications/mapviewer/web/WEB-INF/lib/mvclient.jar metadata entry
    Cause: Error trying to read the metadata of the file /u01/oracle/PROD/apps/tech_st/10.1.3/j2ee/oafm/applications/mapviewer/web/WEB-INF/lib/mvclient.jar: no entry metadata META-INF/JRIMETA. DAT found


    WARNING: Failed to load the zip file /u01/oracle/PROD/apps/tech_st/10.1.3/j2ee/home/lib/mail.jar metadata entry
    Cause: Error trying to read the metadata of the file /u01/oracle/PROD/apps/tech_st/10.1.3/j2ee/home/lib/mail.jar: no entry metadata META-INF/JRIMETA. DAT found


    WARNING: Failed to load the zip file /u01/oracle/PROD/apps/tech_st/10.1.3/j2ee/home/lib/activation.jar metadata entry
    Cause: Error trying to read the metadata of the file /u01/oracle/PROD/apps/tech_st/10.1.3/j2ee/home/lib/activation.jar: no entry metadata META-INF/JRIMETA. DAT found

    ......
    ......
    ......

    STOP_TASK: [Generate JAR files under JAVA_TOP] [] [Thursday, June 14, 2012 19:55:50]



    Made generate JAR files under JAVA_TOP: Thursday, June 14, 2012 19:55:50



    STRT_TASK: [copy Registry.Dat to JAVA_TOP] [] [Thursday, June 14, 2012 19:55:50]


    Copying Registry.dat Forms Java directory to/u01/oracle/PROD/apps/apps_st/comn/java/classes...

    Error of Administration AD:
    Error when copying the forms on u01/oracle/PROD/apps/apps_st/comn/java/classes/oracle/forms/registry/Registry.dat registry file.


    adogjf() Impossible to copy Registry.Dat.


    Time is: Thursday, June 14, 2012 19:55:50

    Problem solved adadmin running after sourcing 10.1.2 AS home.

Maybe you are looking for