How to simulate discrete fourier transform using CMOS on multisim11.0

Please tell me how to simulate discrete fourier transform(DFT) using CMOS implementation in Multisim 11.0..

vlsi,
If I am reading your question correctly, I think this is more of an issue of IC design rather than how to use Multisim (the circuit you describe is likely very complex and would involve many CMOS/transistor components).   If you have an existing or partial circuit already ready to start with, the group could better assist with how to implement or use in Multisim for simulation.   Although it is possible to model a comlex digital parts with CMOS equivalent logic and gates, most of the more complex digital parts in Multisim are modeled in XSPICE, which allows the behavior to be described by a truth table and timing descriptions and the pins are modeled in SPICE.
However if you want to use a predefined DFT algorithm inline within a circuit simulation, you can likely use with a custom LabVIEW VI, we have several Fourier Transfer algorithms in which you could process a signal coming from a circuit simulation in which the transform and simulation could be run together.
http://zone.ni.com/reference/en-XX/help/371361B-01/lvanlsconcepts/discrete_fourier_transform/
There is an example of how this can be done with an FFT (which is a type of DFT)
https://decibel.ni.com/content/docs/DOC-7438
Another idea is to use our co-simulation technology in Multisim v12 together with the LabVIEW Control Design tools.   The LabVIEW Control Design package has several discrete signal processing algorithms built in and you could use them together for very precise mixed signal co-simulation between an electrical simulation and a discrete processing algorithm.
http://www.ni.com/white-paper/13663/en
Regards,
Pat N

Similar Messages

  • RE:  Discrete Fourier Transform

    Hi All
    I'm carrying out some image processing work and whaat I have done is computed the frequency of colours within a set image. Now I'd like to compute the discrete fourier transform of this distribution. Are ther any libraries within java or known to anyone that can handle this? Bear in mind that the distribution is within a 3D domain (Red, Green and Blue component).
    Thanks in advance for the help.

    isn't it possible to split up the problem in a green problem, a red problem and a blue problem? I think that that might ease your problem at least a bit. Then you only have a 2D Fourier problem.

  • Simulate update in Transformation using a single record

    In an update rule, it was possible from the monitor to simulate the update of an infoProvider.  During the simulation, you could choose to select only certain records of the PSA for simulation. This was very useful if you wanted to simulate only a single problematic record.
    In a transformation using a DTP, I can find out how to add the breakpoints and debut a start routine in a transformation, but I cannot find a way to do that simulation using only a single record from the PSA.
    The only option I can find is to create a DTP that has a filter that restricts the PSA down to a single record, but this is time consuming as you first have to find a way to filter the PSA to select a unique record.
    I have tried to use the ENTER DATA PACKAGE when setting the breakpoints, but this does not seem to allow this to happen.
    Is there a similar function in the DTP that allows you to simulate the update on a single selectable record?

    Hi Kevin,
    this function is not available from the transformation, yet check the DTP, where you can set the processing to serial. You can then change breakpoints at the processing steps of the DTP, and will also be asked to enter for which package you want to simulate the DTP or use the expert mode [next to processing mode] (I hope this is correct since I couldn't verify it in the system due to time constraints).
    Please search also the forum, since the topic simulation of DTP was already a topic here.
      Cheers
         SAP NetWeaver BI Organisation

  • How to simulate windows pc monitors using a mac cinema display?

    I occassionally have to produce jpegs to be posted on photographer's websites. These are high-end fashion images and the photographers are really picky about making them look good online with accurate hues, saturation, etc.
    On my old iMac I used to 'preview' how they would look on a windows pc by simply changing my display profile to 'Generic Monitor' under system preferences. This worked pretty good and gave me results that matched the windows machines I have in my studio. However I just bought a Mac Pro with a 23" cinema display and for some reason this option is no longer availble, the closest thing in the Displays panel is now 'Generic RGB Profile' and testing this by comparing jpegs on my cinema display to those viewed on a windows laptop on the same desk I can see that this profile does not seem to come anywhere nearly as close to matching the contrast and saturation of crappy pc monitors.
    Any one else had this problem? When I call apple tech support they seem very vague about what these profiles are actually meant to represent and why the very useful Generic Monitor profile is no longer present ("that monitor doesn't come with that profile, it's a professional monitor" one tech told me, obviously not understanding what I'm trying to do). This is kind of disappointing given that I've just spent over $6,000 on hardware that doesn't perform as well in this respect as my old iMac did.
    Anyone know of a simple fix or somewhere I can download a profile that will work with my cinema display and mac pro? Any thoughts would be much appreciated.
    PS - I am not very technical so I don't know if these profiles are in some ways connected with the graphic card, my mac pro has an ATI Radeon 2600XT and is running Leopard 10.5.1.
    Thanks!

    No, the saturation can't be adjusted during calibration. But the Cinema Display desn't have especially saturated colours. It matches the sRGB standard of most PC displays.
    Cinema Displays are normal screens. Macs look different because the operating system adjusts the gamma to 1.8. There is nothing special about the monitor itself.
    On the other hand, it will always look more saturated than a laptop screen. PC or Mac ...

  • How to do 2:1 transformation using XSLT in ccBPM?

    Hi,
    We have the following ccBPM defined:
          A    A    B   A/C   D    E    F
    Start---R1---T1---S2---T2---S3---T3---S1---END
    R1: Receives Synch XML message A via plain HTTP adapter and opens S/A bridge.
    T1: Transforms A into message B using XSLT
    S2: Sends message B to a legacy system to do a lookup and gets response C
    T2: Transforms A and C into D.
    S3: Sends D to another legacy system synchronously and gets response E.
    T3: Transforms E to the final response format F
    S1: Sends F to the original requestor and close the S/A bridge.
    We had created an XSLT style sheet which takes into
    consideration of multi-mapping message structure (e.g.
    ns0:Messages/ns0:Message1/A and Messages/Message2/C...)
    For some reason, the integration process always fails at
    Step T2. The only error message we got is:
    <b>
    Incorrect XML format after mapping: Message expected instead of Catalog
    </b>
    We went thru all the monitoring/trace tool and could not find any more info on the issue.
    I'd really appreciate it if someone can explain the required steps
    for designing and configuring n:1 XSLT  transformation step.
    Thanks in advance
    -Simon

    Hi Duke,
    I still couldn't get it to work. I compared my xsl file
    with yours and they look similar. I was able to turn on the
    DefaultTrace. The trace log indicated the mapping call was
    successful. But no output was generated. No error message
    either. Supposedly XI combines two input xml messsages into 
    a single message to feed into the XSLT, is there away to
    trace out this single input message?
    Also do two input messages need to be correlated?
    thanks again for your help
    -Simon

  • How to simulate a mobile robot using labview

    Hello,
    Is it possible to simulate the movement of a mobile robot using labview?
    I mean, is it possible to have a graphics window to show these movements?
    Thanks

    In LabVIEW there are several options to display animated graphics in 2D and 3D. Here are some examples that can be found in the example library that ships with LabVIEW:
    If you need further information I would suggest to post this question with some more details (e. g. a picture of your robot, type of movements,...) in the LabVIEW forum.
    Best regards,
    Jochen Klier
    National Instruments Germany
    Message Edited by Jochen on 04-23-2007 10:46 AM
    Attachments:
    2D robot.jpg ‏113 KB
    solarsystem.jpg ‏114 KB

  • Why not use Fourier transforms for filtering?

    Are there any resources for constructing filters using discrete Fourier transforms (DFTs)? Or is it as easy as it seems. For example, for lowpass filtering I obtain the DFT of my signal, zero out components above the selected cutoff frequency and then transform back to get my signal minus the high frequency (noise) components. It seems to behave correctly for the signal I've applied it to, but am I missing something. Upsides would appear to be (1) no time delay between the input and output and (2) the filter is sharp with no transition band. Downside is that this method is slower than using impulse filters, but are there other upsides, downsides, or considerations I'm missing?

    The technique of filtering using frequency domain truncation and IFFT is used in specific areas where computation time is essential (to avoid the time domain convolution with a long impulse response), like image processing. However the technique also has some downsides you should be aware of.
    The frequency domain filtering performed on a data record is totally equivalent to a circular convolution made on your time signal with the impulse response of your ideal low-pass filter (typically a sin(x)/x function). The fact what we are doing a circular convolution will result in unwanted artifacts and you'll see some "parts" of the beginning of your signal at the end of the filtered signal and vice-versa.
    Try for example to create a short signal (like a sharp pul
    se) and extend it with zeros. After filtering you will see a sort of "pre-shoot" of your original signal at the very end of your signal. If you then rotate your time signal you'll discover that the signal is actually continuous (in a circular way).
    You can reduce the problem by, for example, adding "some" zeros at the beginning and at the end of your signal (zero-pad) before your filtering operation (before the FFT) and then remove these additional samples again from you filtered signal (after the IFFT).

  • Passing data from Microphone to FFT (Fast Fourier Transform) Class

    I am quite new to Java and trying to find a way to use microphone and pass the data from microphone to a FFT Class and get the result back as one number (which will be the frequency). Because I am quite new, I am in need of some advice and description to solve this problem.
    I will be glad if anybody experienced on this issue can help me.
    Regards.

    You need to read a good bit about signal analysis before you tackle this.
    The FFT is an algorithm for the implementation of the Discret Fourier Transform (DFT). If you just perform an FFT of your data how are you then going to extract the frequency. For example, if you take the DFT of 1024 samples you will generate 1024 complex values with the to 512 pairs being complex conjugates of the bottom 512 pairs.
    If you just choose the frequency with the largest magnitude then you will suffer from 'windowing' effects. You will need first to apply a 'window 'to your data so as to minimize the effects of only being able to use a limited length of data.
    OK, so you have applied a window, performed the DFTand found the sample with the largest magnitude then how do you relate this frequency index to the real frequency?
    If you Google for Java FFT I know you will be able to find an FFT implementation but that is just the start. You need to understand the DFT and how to use it and what it's limitations are and how to relate the results to the real world. You almost certainly cannot get that information from a Java forum. Java forums are for dealing with specific Java problems.
    So! Go study some signal analysis before you start using the FFT on your microphone data.
    A few words of warning. If you download an FFT implementation, make sure you test it extensively before you use it on your real data. I have tested about 10 and there are some rubbish implementations out there.

  • RE:  Fast Fourier Transform

    Hi All
    Does anyone know of any java classes that perform Fast Fourier/Discrete Fourier Transforms correctly? Most of the ones I've used from google produce inconsistent results.
    Thanks in advance.

    Already done that with a few and am getting differing results. But I'll go through them again I might of missed something.
    Thanks for the suggestion though

  • Simulate discrete job

    Hi Gurus,
    Just wanted to know if we can simulate a discrete job drilling down to last level purchased items and list the shortage qty.
    Thanx & Regards

    The simulate discrete job is used for the unreleased jobs -- you need not create a job, you can just see the numbers and close it, job gets created only when you save the simulation.
    Here we give the assembly and then do we sum up certain quantities of that particular assembly and put that value in the quantity column --quantity here represents the job qty
    In the start date do we need to have the date as the day that we do the simulation -- you need to mentioned either start or completion dates so that system will show you the operations and materails scheduled dates
    Do we need to give the alternate bill and routing. --no, if you dont give then system will take the primary bill and routing
    The question is how do we know that for manufacturing this much quantity of this much assembly, these are the raw materials and these are the resources --simulation is all about seeing what is required to make say 100 qty of assembly A. Requirements are seen if you click on the buttons componetns , operations present at the bottom
    hth
    Edited by: Karthik Gopaluni on Jun 28, 2011 10:43 AM

  • Calculating magnitude of fourier transform

    Hi all,
    I'm currently working on a section of code where I've got to input a JPG, perform Discrete Fourier Transform on it and calculate the magnitude. I'm hoping to return the DFT as a float array
    My questions are:
    When the image is put in, the number of bands is set at 6. Does this represent R,G,B for real and R,G,B for complex?
    When I try and calculate the magnitude, I ideally want an array of floats returned to represent the magnitude of each vector, but I get 3 bands returned. Can I combine these into one band?
    Here's my code listing
    //add image to parameter block
    ParameterBlock pb=new ParameterBlock();
    pb.addSource('my buffered image goes here');
    pb.add(DFTDescriptor.SCALING_NONE);
    pb.add(DFTDescriptor.REAL_TO_COMPLEX);
    //Create the DFT operation.
    PlanarImage dft = (PlanarImage)JAI.create("dft", pb, null);
    System.out.println("Num bands="+dft.getNumBands());
    // Get the DFT image information.
    //Create the ParameterBlock specifying the source image.
    pb = new ParameterBlock();
    pb.addSource(dft);
    // Calculate the magnitude.
    PlanarImage magnitude = JAI.create("magnitude", pb, null);
    // Retrieve the DFT data.
    Raster dftData = magnitude.getData();
    //at line below i get 3 bands returned...can i combine these
    System.out.println("Num bands="+magnitude.getNumBands());
    Thanks for your help!!!!

    Would you like to create a greyscale image?

  • How to create fourier transform properties using labview

    Hi everyone
    i am a new user to Labview and i only have 2 weeks left to complete an assignment.
    This assignment involves the implementation of the various types of fourier transform properties using Labview. These properties include linearity, time shifting, frequency shifting, time scaling,
    I do not really know how to implement them using Labview
    PLS HELP!!!
    Thanks

    i am refering to the fourier transform properties listed below:
    A) time shifting
    x(t-a) ------- >  exp (-jwa) X(w) 
    For the time shifting property above, i have problem creating the exponential term using labview
    B) time scaling
    x(at)-----------> 1/a X (w/a)
    C) Time convolution
    Y(w) = F[h(t) * x(t)] = H(w)X(w)
    where * stands for the convolution operation and F stands for fourier transform
    Please provide diagrams if possible. Thank you
    PLEASE HELP!!!!!!!!  THANKS!!!!!!!

  • How do i simulate a digital instrument using FP

    Hi
    I am a new user of LabView and need to construct an application to verify the operation of data logger programs.  I need simulate data from various analogue and digital instruments using standard test data from a spreadsheet.  I have just about figured out how to take data from a CSV file and set a FP output to this value for analogue values (voltages and 4-20mA signals) but dont really know how to simulate a digital instrument.
    For example one of the instruments I need to simulate is a rotary encoder which produces a 16 bit binary string representing a value in mm this is done on the instrument as follows:
    Dataloger sets the enable line high (5V)
    Datalogger reads LSB from instrument output buffer (0V = 0, 5V=1)
    Dataloger sends 10ms pulse to instrument.
    Next bit sent to output buffer on negative edge of pulse
    Datalogger reads bit value from output buffer
    Datalogger sends 10mS pulse etc etc until all 16 bits have been recieved
    Datalogger sets enable line low
    In order to test the logger programs I have to send test data from a CSV file to mimic the operation of the encoder ie take a decimal value from the file - convert to 16bit binary - wait for enable line on logger set channel x on FP-DI-330 high - send first bit to channel n on th FP-DO-403 - wait for logger to send clock pulse  to channel y on FP-DI-330 - send next bit to channel n etc etc.
    Any idea how I might do this?

    Good morning Jeff,
    I would suggest trying to set up a "triggered" output from your FP modules.  Use FP-DI-330 line as the "trigger" and set the acquisition as a reference trigger.
    You would need to create an input line that monitors the digital input (trigger line) and once an input has been received (for 10ms) the digital out would then need to output the LSB and so on.
    It may be necessary to implement a state machine structure, that will monitor the input until the condition is met (a trigger input) and then output the desired data.  For more information on state machines refer to:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=123485&requireLogin=False
    http://venus.ni.com/stage/we/niepd_web_display.DISPLAY_EPD4?p_answer=&p_guid=B123AE0CB980111EE034080...
    I hope this helps
    AdamB
    Applications Engineering Team Leader | National Instruments | UK & Ireland

  • How to use SAXParser to transform using stylesheet

    I've got some PL/SQL code that is generating in-memory XML
    document based on query run against Oracle database, and then
    transforms that XML using XSLT (for later posting over network).
    I've been encountering lots of memory errors and wanted to try
    using the SAXParser instead. However, the info I've found on
    SAXParser never really talks about transforming using stylesheet.
    How would I go about transforming a 'subdocument' at a time (I
    need the output to exist as one very large properly formatted XML
    document, not as a bunch of separate XML docs). Are there
    examples of this somewhere?

    Hi. What I understand is, you should pass the value of the body first on a variable before doing the MFL transformation action. Use the Assign action to do this.
    Then Use the MFL transform on the value inside the given variable, and you can pass it back to body.

  • Fourier transform of rectangle function

      We know that the fourier transform of a rectangle function is  a sinc function.Now I want to use Labview to simulate
    this process.How to do it? I input a rectangle function to FFT vi ,but the result is not a sinc function,why?

    With the FFT you are attempting to approximate the FT of a continuous function using discrete sampling for a finite time.  The approximation is "perfect" when the continuous function is bandwidth limited.  The Rectangle function is not, you require an infinite number of terms in its Fourier series approximation.
    A simple way to imagine the relationship between the finite sample on which you are going to perform the FFT and the continuous function you are approximating is to periodically extend the finite sample in positive and negative time.  When you put in a simple rectangle pulse into the FFT you are seeing the approximation to the FT of a square wave with some duty factor, not of a single pulse.  This probably explains most of the confusion.
    The details of the relationship between the FT of a continuous function and the approximation via a discrete FT is detailed and subtle and you should probably study a signal processing or mathematics textbook.

Maybe you are looking for