How to design a stable IIR-Filter for FPGA?

Hi, I´m new to Labview for FPGA and currently trying to design a lowpass-filter (for a digital mixer, more or less). It should work with a sample-frequency of 200kHz, a passband edge frequency of 3Hz and a stopband edge frequency of 8Hz. An FIR-filter would have a too large order to be implemented, an IIR one seems more practicable. For the design of the filter I'm using the digital filter design toolkit, refering to its manual and the casestudy with analyzing, modeling, simulating and generating a fixed-point filter. Now, I have problems to get a stable filter. While the manual states to adjust the coefficents by trial and error, the designed filter never matches the floating-point reference. Does anyone have experience in creating such filters? Or a hint, how to optimize the coefficient finding process?
Thanks in advance!
thilo

LabVIEW FPGA 8.20 does include a Butterworth filter function (1st, 2nd and 4th order) in the FPGA palette. You can configure it directly using a dialog on your FPGA diagram. The cutoff may not be quite as sharp as you want but it could be an option for you to consider. Once you have configured the filter VI, you have the option of opening up the subVI with the code that is generated based on your filter parameters, which would allow you to further configure the code directly.
I have attached the configuration dialog with the settings you specified.
Message Edited by Christian L on 11-16-2006 09:27 AM
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
Attachments:
filterdialog.JPG ‏44 KB

Similar Messages

  • How to design socket client-server app for 2-way communication

    Hi, I am writing a client-server application. I have a single server and many clients. Each client will need the ability to send information to the server at any time. The server will also need the ability to send information to a client at any time. Its this second part that I am not sure how to design. Would I need to create a SocketServer on each client to accept incoming messages, or is there a better way? Thanks

    scranchdaddy wrote:
    Don't my requirements sound a lot like an IM application, where a chat server might need to send a message to a chat client at any time?Not really. If that is what you are designing
    in my opinion one could easily be forgiven for thinking you were deliberately obfuscating your goal...
    How does the server know where the client is? Does it know the IP address of the client?I would imagine the server would contain a directory of IPs? I'm not sure.
    What happens if the client is not running?Then I guess the message would not get delivered.
    What happens if the client is behind a firewall that does not allow incoming connections?How do IM chat clients work? How have people solved this in the past?Typically the server would only care about clients currently connected to the server.
    Maybe you should re-think your design. I don't really have a design, just requirements, that's why I'm writing this post.Your subject says "+How to *design* socket client-server app for 2-way communication+".
    Are you saying you expect someone else to do the design for you?

  • IIR filter for multiple ATD data

    I have 3 ATDs simultaneously sampling. The digital IIR filter works on the first board data of 16 waveforms. The second and the third ATD data do not get filtered at all. They just output zero for all the channels. I tried different instances of the IIR filter to be used with different ATD data and the result is the same. If I turn off the digital filter, then the data shows up correctly.
    Please help.
    Thanks,
    Narayana

    Hello Nadim,
    Thank you for replying. In fact I just came from the lab after solving the problem. Yes, it is an analog-to-digital board - with 16 inputs. All these boards are tied together with respect to sampling-using a synchronization cable. the ATD board is what NI used to call PCI-MI0-16E-4. During my troubleshooting, I realized that the data coming from the first board has a t0 and dt value in the waveform attributes. The other two boards did not have these two attributes - they were zero. Once I gave the waveforms the proper dt and t0 value, the IIR filter could operate on the waveforms. So the problem was solved.
    But thank you for replying. If I did not make myself clear above, I can post an image of the code.
    Thank you,
    naroowal

  • How to Design User Accounts and Groups for Human Task

    Hi All,
    I have a requirement wherein we have a group of people to whom tasks get assigned. Details are below
    Assume
    PO- Purchase Order
    IN- Invoice
    CL1 - Client 1
    CL2 - Client 2
    CL3 - Client 3
    REP1 - User 1
    REP2 - User 2
    REP3 - User 3
    APP1 - Approver 1
    APP2 - Approver 2
    APP3 - Approver 3
    1. There are two groups of people say PO_Team and IN_Team.
    2. REPx are the folks who are in the IN_Team. They handle monitor invoices and run reports on them (READ - Only)
    3. APPx are the folks who are in the PO_team. They approve order and sometimes modify them (READ-WRITE)
    4. CLIx are the clients each of whom send PO and expect IN in return
    5. CLI1 - APP1- REP1 together handle one client.
    Now the requirement is something like this
    1. APP1 must be able to see the PO and IN only from CLI1
    2. APP1 must be able to see editable view of PO from CLI1
    3. APP1 must be able to see red only view of IN from CLI1
    4. REP1 must be able to see the PO and IN only from CLI1
    5. REP1 must be able to see read only view of IN from CLI1
    6. REP1 must be able to see read only view of PO from CLI1
    7. In exception cases APP1 can assign a PO from CLI1 to APP2
    Can someone help me in the design of groups and permissions for this?
    TIA

    Groups are the way to go. Every Human Task can be assigned to either a user or a group or a user and a group. Select the last option so that it goes to a particular user but also to a group. That way anyone in the group can approve these tasks though it is sent to one particular users list. Anyone from that group can pick that task up and approve it

  • How to design SSRS report to filter multi-value parameter?

    I developed an RDL which takes a multivalue parameter and I want to set a visibility expression or filter based on this parameter. This parameter uses an "All" value equal to '660E4583-7F29-4D37-8038-5096AE6A1A7F'.
    I want to make the main tablix visible if this parameter is set to this uniqueidentifier and invisible otherwise. How can I achieve this either in the tsql dataset or on the report side? I have tried numerous workarounds, but none have worked so far! I've tried
    different expressions and datatypes.
    Before I tried If/Else statements in the tsql dataset, but most recently I instead added flags to the tsql dataset for each condition and am trying to make this tablix only include the records with the flag matching the parameters chosen. But even this is not
    working for me.
    Here is sample data:
    create table #dummydata
    parameter varchar(max),
    b varchar(max)
    insert #dummydata values('660E4583-7F29-4D37-8038-5096AE6A1A7F','record 1'),('660E4583-7F29-4D37-8038-5096AE6A1vcd','record 2'),('660E4583-7F29-4D37-8038-5096AE6A1v52','record 3')
    select * from #dummydata
    And my filter expression in the RDL for this tablix is:
    =iif(Parameters!Modifier.Value(0)="660E4583-7F29-4D37-8038-5096AE6A1A7F",1,0)
    With datatype = integer and value = 1 However, this tablix is invisible with the above even when I choose "All" for the parameter value = default value. How can I make this tablix visible?
    Ryan D

    Hi Ryan D,
    After testing the scenario in my local environment, everything goes well. As per my understanding, I think this issue can be caused by the Available values in the Modifier parameter. Could you tell us the Available values of Modifier parameter in your scenario?
    The following scenario in my test is for your reference:
    I create a dataset with the sample data you posted.
    Add a multi-value parameter named Modifier in the report.
    Specify the following values in the Available Values of the parameter (please note that the value “All” should be located in the first place, because we use Parameters!Modifier.Value(0) in the filter):
    Label: All                 Value: ="660E4583-7F29-4D37-8038-5096AE6A1A7F"
    Label: A                   Value: ="1"
    Label: B                   Value: ="2"
    Label: C                   Value: ="3"
    Drag a table to the design surface, insert parameter and b fields in the table.
    Use the same expression as you said to add a filter in the tablix.
    We can refer to the following screenshot:
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • How to select a stable IOS version for switch ?

    There isn't any GD version for switch. So how did I know which version is stable ?
    thanks!

    Hi there,
    Usually the most efficient way of selecting a stable version of IOS/CatOS is to take a look through the release notes at the caveats section and verify if there are any issues that would affect your network directly. In addition, working with your local SE is a good idea, as they can offer you their design advice. Usually, a wise move is going with the latest release within a given branch is the most stable, as it includes the most bug fixes. I hope this helps.

  • How to use wildcards in REST filter for subscription items

    I am following this documentation:
    String column filters
    Support % (starts with) operator.
    Support * (Contains) operator.
    Does not support (ends with) operator.
    Examples:
    Name=service*
    Name=*g*
    Name=*g -- not allowed
    REST URL:
    http://<ServerURL>/RequestCenter/nsapi/serviceitems/serviceitemsubscription/<columnName>=<wildcardValue>
    I can get filters to work without wildcards, but have had no success using '*' or '%' characters.  Please provide a properly encoded sample URL for
    ServiceItemTypeName starting with 'Virtual'.  I have not been able to get any data returned when using wildcards in a filter.
    Here is what I have tried:
    ServiceItemTypeName=Virtual Server Snapshot
    http://10.8.0.46:8080/RequestCenter/nsapi/serviceitems/serviceitemsubscription/ServiceItemTypeName=Virtual%20Server%20Snapshot
    response: 200
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?><AllServiceItems totalCount="1" recordSize="1" startRow="1">
    literal works as expected
    ServiceItemTypeName=Virtual%
    http://10.8.0.46:8080/RequestCenter/nsapi/serviceitems/serviceitemsubscription/ServiceItemTypeName=Virtual%25
    Application-Type=application/xml
    response: 200
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?><AllServiceItems totalCount="0" recordSize="0" startRow="1"/>
    expected result not returned
    ServiceItemTypeName=Virtual*
    http://10.8.0.46:8080/RequestCenter/nsapi/serviceitems/serviceitemsubscription/ServiceItemTypeName=Virtual*
    Application-Type=application/xml
    500
    <nsapi-error-response>Internal Error: Invalid parameter values specified or unexpected error.</nsapi-error-response>
    fails with error response

    Hi Dan,
    I don't think you can use wild cards here.
    Please see the Integration Guide for 9.4. Section: "REST API -> Quick Reference".
    Here you'll find a table of what features are supported for the different resources exposed by the API. In there you will find a row for "All Service Items", and you'll see that: Get All, Sorting, Paging and All Filters are supported; Wildcards Name Search are not...
    When I came accross this same situation, I assumed that I am trying to do a Wildcard Name Search here... and it's not supported. It does, however, work for the other (SI Designer created) columns, which is what I believe the documentation is trying to describe. (Though, personally, I feel this is a bug).

  • How to design a EJB session beans for a example ERP case study?

    Hello to everyone,
    We have a huge dilemma on how to organize our Beans to support the use case in an information system such as ERP.
    In the use case user after logded in selecting one of the organization and specific sector that works for. (Background logic check relations between user and organizations, user rights, organization states ets.) After the selection of organizations and sectors, users all the time working with these parameters calling different modules of ERP systems and different activities.
    According to the logic of things, to keep certain parameters we should use a Stateful Beans.
    On the other hand, becouse of performance reasons and our need to open a business logic with a service (REST) we woud like to use Stateless Beans. But it is not acceptable to us every time we send the selected organization and the sector.
    It would be ideal if they could are using an Stateless Beans and that they can somehow to access something like "SessionContext in Web applications", where the logged user kept details of the selected parameters.
    We studied many tutorials, but all are based on simple examples, which do not cover our case.
    Are there any best practice recommendations on how to solve the problems of a similar type?

    user13404668 wrote:
    But it is not acceptable to us every time we send the selected organization and the sector.
    Why is that ? Its a perfectly valid pattern when using SLSB.
    regards,
    ram.

  • Reset an IIR Filter with new data

    hello one and all,  i am creating waveforms and pumping them into an IIR filter.  at times the parameters of the experiment change and i want to reset the data that the IIR filter is drawing off of so that it is calculating from scratch.  i know about the reset input of the IIR filter, however, it is for redesigning the filter coefficients, etc., as stated in the labview help file.  so how do you tell the IIR filter that the waveforms coming in are now a new set of waveforms?
    thank you in advance.
    lucas

    Hi Lucas,
    I assume you are using the Digital IIR Filter.vi.  The logic is not immediately obvious on the diagram of the instances of this VI, but there are two sorts of reset that can happen, namely a coefficient redesign, and a filter state reset.  The coefficient redesign happens when either:
    1.  It is the first time the VI has been called
    2.  The reset control (on Digital IIR Filter.vi) is true
    3.  The dt value of the waveform changes from the previous iteration
    4.  The design specifications change from the previous iteration.
    The filter state reset (which is what you want I think) will happen:
    1.  If there has been a coefficient redesign
    2.  If the timestamp of the last point of the previous waveform does not match the timestamp of the first point of the current waveform + dt.  This is basically an assumption of continuity of the waveforms over consecutive calls to the VI.
    I think you have two choices to get the behavior you want.  First, you can use the continuity of the waveforms as a way of controlling the reset of the filter state.  When you want a reset, then make the current waveform discontinuous.  The second option would be to use the lower level VIs on the signal processing->filters->IIR palette.  This allows you to explicitly separate the design and implementation of the filter on your diagram, with explicit reset control on the filter states.

  • A weight filter for Psophometr​ic measuremen​t

    May I know which Icon or how to contstruct an A weight filter for Psophometric measurement in Labview. Currently I use the A weight filter is found in Panasonic Audio Analyzer (VP-7722A) for testing.

    Designing these sorts of weighting filters can be tricky. There is no design method that ships with LabVIEW that will cover this well. If your sample rate is pretty high, you could take the analog specification of the filter and use a bilinear transform with pre-warping (at the critical frequency of the A-weight spec) to get the digital filter.
    The easy way to get these filters is to purchase the Sound and Vibration toolkit.

  • How to design crystal report multi column

    how to design crystal report multi column
    for example
    id              1001             id                 1002     
            id            1003
    name        dinesh          name            dk                 name       
    dkn
    address   kota             address       jaipur             address     delhi
    pin          3260356        pin              546332            pin       
    675942
    id              1004             id                 1005       
               id            1006
    name        dinesh1       name            dk1                     name       
    dkn
    address   kota1           address       jaipur1                 address     delhi
    pin          32606           pin                546345                pin       
    675942
    and so on....................

    DN
    I am afraid you have come to the wrong place.  MS does not support Crystal reports except for
    "Microsoft supports setup and installation for the Crystal Reports products shipped with the Professional and Enterprise Editions of Microsoft Visual Basic for Windows versions 3.0, 4.0, 5.0 and 6.0."
    For other support you need to contact
    For other Crystal Reports support, please do not contact Microsoft. Please contact Crystal Decisions (formerly Seagate Software), which now owns and supports Crystal Report Writer.
    http://support.microsoft.com/kb/100368
    Wanikiya and Dyami--Team Zigzag

  • [EWS][Java] How can I use the Search Filter only mails with attachments?

    Hey,
    I'm trying to search a folder ( doesn't matter  which ) for ONLY mails with attachments.
    How can I use the search filter for that purpose? 
    Thanks!

    You can drag the attachment collumn from settings and sort on that collumn
    In the main Outlook window, on the View menu, point to
    Current View, and then click Customize Current View.
    Click Fields. In the Available fields list, click the field that you want to add, and then click
    Add.
    Come back and mark replies as answer if they help, and help others with the same problem. If this post is helpful please vote it as Helpful on the left side.

  • Reverse Proxy Filter for EP7?

    Hi! on
    https://websmp208.sap-ag.de/nw-ep-how-to,
    we notice an article called:
    "How to… Configure the Reverse Proxy Filter for SAP Enterprise Portal 6.0 SP2"
    Did anyone use the method there to resolve their problems?
    If so, would you please share your experience?
    We have a question about what code should be put in the web.xml.
    Points guaranteed. Thanks!

    It appears that the Light Portal Framework in EP 7.0 uses FQDN in the anchors (<A>) on the pages it sends back to the Client Browser (not relative URI's).
    This could be a configuration setting somewhere that I missed, however, I would expect the Light Framework to be the best at making sure links are relative.
    I would like to explore all options, from making our Reverse Proxy Server handle the filtering to making sure Portal sends back a valid link.
    If the Reverse Proxy Filter is not available in EP 7.0, what can I do to replace it's functionality?
    Mike

  • How to design channel select VI for Agilent34970A

    Hello Guys,
                 I want to design a temperature data acquisition system by using 34970A,but now i have a problem that i don't know how to design a channels selecting vi?
    My idea is to select any channel from multiple channels to scan,pls help me for explaining how to do,because my labviw knowledge and experience  is so poor.

    Thanks for the response.  In order to incorporate the sampling information (sampling frequency) into my data ( 160 X 512 2-D Array), I use "Build Waveform.vi." However, for the input argument "Y," I can only use a 1-D array.  I try with my 2-D array, but it gives me a connection error.  So, my first thought was to stick the Build Waveform.vi into a for loop with a shift register.  I use an indexing tunnel node when guiding my data array into the loop.  I then connect the 1-D array to the build waveform.vi, and send the output to a "Build Array.vi" where the output goes to the shift register, and the other input comes from the first shift register.  What prevents this from working i.e., creating a 2-D waveform array, is that the option to uncheck the "Concatenate Inputs" is not available when i right click on the  Build Array.vi.  I notice that I do have the option to uncheck it when i'm just using 2 waveforms without the shift register.  Would you have any suggestions?  I want keep it running as efficient as possible, so i figured that I might want to avoid doing the filtering 160*13 times, manually.
    would there be any advantage to using the Digital IIR Filter.vi over the Butterworth Filter.vi ?  The input for the former is a waveform while for the latter is a plain ol' array, but i notice that i can send a waveform into it and i don't get an error.
    Message Edited by Alias77 on 07-17-2007 06:35 PM

  • How to design a good 60Hz notch filter?

    I tried to design a 60Hz notch filter(59-61 as stop band,tried different kind filters/orders,cont.true)But I can't have a stable output. When test on 60 Hz input,the output signal's amplitude will change in a repeated pattern,sometime the ripples is very small, but sometimes it's big, especially at the waveform beginning. The Fs is 5000, data is sampled every few seconds. Are there any refined 60Hz notch filter can be used, or any better way to design a notch filter?
    Averaging is one way to remove the ripples after filtering,but I hope the filter can give a steady output.Thanks!

    sfhj wrote:
     please if you have this example  or know about it ,send it 
    thanks
    @sfhj
    Hijacking a old thread is never a good idea. I suggest you start your own. Also in order to get help you must explain better what you have done so far, why and how you struggle. The best way to do this, is to post your code, and some signals examples. I know a lot of tricks. And none of them need a fancy toolkit. But you must start your own thread in order to get help from me.  
    Edit: I noticed you have started a new thread, do you want to move the discussion to that thread?
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

Maybe you are looking for

  • When syncing photos getting error iPhone can not be read from or written to

    I am getting an error only when I try to sync photos. Error is iPhone can not be read from or written to. This only happens when I am syncing photos, so far everything else syncs fine. I have an iPhone 3G S. I had some pictures on the iPhone that I d

  • Adobe flash player 9 problem

    I have Adobe Flash Player 9 (Version 9,0,45,0) installed on my computer but I keep getting the following error: A script in this movie is causing Adobe Flash Player 9 to run slowly. If it continues to run your computer may become unresponsive. Do you

  • Multiple Dates in Get Info Window

    Hello, We have an iMac running OS 9.2.2. I just noticed this the other day: I'm finding multiple dates in the Created and Modified fields in the Get Info window. For example, on a document I created today, the date reads: WedWed SepMay 63 20062006 Ap

  • I photo trash emptying

    I'm new to mac and new to iphoto. I imported a whole load of pics into iphoto and have spent some time and effort into getting them into the right locations, editing etc. I now find I have 700+ photo's in iphoto trash (intentionally) that are mostly

  • Telemetry Application.

    Please I need to develop a Telemetry application with oracle forms. I'm only very good with oracle SQL and PL/SQL, not oracle forms. please how do I go about it? Oracle Forms Tutor are very rare in my country. are there any books for beginners? Thank