How to calculate standard deviation of a certain number of points?

Hi, I have an application that I acquire force signals and pu then on a array.
I need to calculate the standard deviation and the mean each a certain number of points, 1000 for example.
I'm having problems with this, if you can help me I'd be thankful.
Thanks
Douglas
Solved!
Go to Solution.

So you need something like this?
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Attachments:
Std_Deviation.png ‏12 KB

Similar Messages

  • How to calculate standard error in Numbers

    How to calculate standard error in Numbers?

    Urbinan,
    STDEV will estimate the stardard deviation based on your sample and STDEVP will calculate the standard deviation of your entire population.
    Jerry

  • Any FM to calculate Standard Deviation .. ?

    Hi All,
           My requirement is to calculate the standard deviation for the work hours in a task list.Please let me know if there is any FM available to achieve this.
    Cheers
    Nishanth

    Hi,
    Check out using these two FM to calculate the standard deviation which is used for the track of a quality control chart, if you want to use the standard deviation as a control value for a quantitative characteristic in order to detect the dispersion changes for a characteristic. The second one uses the multiplicative factor for the chi-square distribution required for the calculation of the control limits is estimated on the basis of the total dispersion of all original values.
    1)QRKT_STD_DEVIATION_SHEWHART  
    2)QRKT_STD_DEVIATION_SHEWHART_2
    Regards,
    Jagath

  • Does anyone know how LabView determines standard deviation on their Gaussian Peak Fit VI?

    The VI reports standard deviation that is quite high. I am wondering if they go out to 5-sigma or something along those lines.
    If anyone has had this same issue, please let me know
    Thanks in advance!

    Interesting you mention the robustness of the algorithm. I have heard in the past that it is not very good. In fact, the data you feed into it must be VERY Gaussian otherwise the fit is just garbage. Luckily for me, my data is quite clean, see the attached picture.
    You also mention Levenberg-Marquardt. Is a VI available somewhere or would I need to write my own?
    Thanks for your prompt reply!
    Attachments:
    GaussFitAttachment.docx ‏26 KB

  • How to calculate  the 99th percentile of a number stream ...

    Environment:
    Oracle 11.2.0.3 EE on Solaris 10.5
    I have a stream of numbers (say 1000), I need to calculate the 99th percentile of the distribution of that stream such that when a new number 'n' is introduced I can tell if the new number is above the 99th percentile of the distribution of my stream.
    I don't have a good feel for the nature of the distribution if that's important.
    I am NOT, I repeat NOT a statistician! :-)
    I have read the docs on the different functions available, ntile, percent_rank, percentile_cont, percentile_disc, etc. I have also read many articles referenced via Google.
    The examples do not do exactly what I'm attempting and I was unable to get the result I need by trial and error (mostly!).
    Any suggestions are most welcome!!!
    If you need additional information I'll try to supply what I know.
    -gary

    Here are the CREATE TABLE and INSERT statements for some sample data:
    create table sales(custno number, tran_dt date, amount number)Here are the INSERTs to load:
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('23-MAR-12','DD-MON-RRRR'),3065);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('29-FEB-12','DD-MON-RRRR'),8435);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('29-FEB-12','DD-MON-RRRR'),9712);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('20-MAR-12','DD-MON-RRRR'),1869);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('03-AUG-12','DD-MON-RRRR'),647);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('03-MAR-12','DD-MON-RRRR'),7434);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('23-AUG-12','DD-MON-RRRR'),225);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('01-SEP-12','DD-MON-RRRR'),28);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (5, TO_DATE('10-APR-12','DD-MON-RRRR'),9393);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('19-MAY-12','DD-MON-RRRR'),1010);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('29-FEB-12','DD-MON-RRRR'),2625);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('18-MAR-12','DD-MON-RRRR'),2511);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('15-AUG-12','DD-MON-RRRR'),1156);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('17-AUG-12','DD-MON-RRRR'),5106);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('19-AUG-12','DD-MON-RRRR'),714);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('07-APR-12','DD-MON-RRRR'),6105);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('25-MAY-12','DD-MON-RRRR'),1592);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('14-MAY-12','DD-MON-RRRR'),1880);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('29-JUL-12','DD-MON-RRRR'),8497);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('13-MAY-12','DD-MON-RRRR'),1658);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('06-APR-12','DD-MON-RRRR'),3071);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('04-SEP-12','DD-MON-RRRR'),8277);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('20-MAR-12','DD-MON-RRRR'),3929);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('04-MAR-12','DD-MON-RRRR'),9239);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('24-APR-12','DD-MON-RRRR'),4390);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('12-MAY-12','DD-MON-RRRR'),8362);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('06-APR-12','DD-MON-RRRR'),4157);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('01-SEP-12','DD-MON-RRRR'),9260);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('31-MAR-12','DD-MON-RRRR'),8017);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('20-MAY-12','DD-MON-RRRR'),2420);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('21-JUL-12','DD-MON-RRRR'),5272);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('23-AUG-12','DD-MON-RRRR'),313);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('24-MAY-12','DD-MON-RRRR'),4747);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('25-APR-12','DD-MON-RRRR'),272);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('02-MAY-12','DD-MON-RRRR'),4329);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('28-JUL-12','DD-MON-RRRR'),3149);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('18-MAR-12','DD-MON-RRRR'),1740);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('07-MAR-12','DD-MON-RRRR'),6868);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('02-JUN-12','DD-MON-RRRR'),5661);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('08-MAY-12','DD-MON-RRRR'),6136);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('23-AUG-12','DD-MON-RRRR'),512);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('16-AUG-12','DD-MON-RRRR'),8784);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('31-AUG-12','DD-MON-RRRR'),7300);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('12-MAY-12','DD-MON-RRRR'),9303);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('29-MAR-12','DD-MON-RRRR'),2626);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('14-JUL-12','DD-MON-RRRR'),6365);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('19-JUN-12','DD-MON-RRRR'),7880);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('20-JUN-12','DD-MON-RRRR'),6096);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('05-AUG-12','DD-MON-RRRR'),1980);
    INSERT INTO SALES(custno, tran_dt, amount) VALUES (26, TO_DATE('27-MAY-12','DD-MON-RRRR'),3004);I can now calculate the average sales over the past 6 months (180 day) and 1 month (30 day) periods. I don't need the 6 month average but I do need the individual sales to get the distribution and hence the standard deviations and hopefully the 99th percentile number. I know it's around 3 standard deviations but the spec I'm working with requires using the 99th percentile. Not my choice! :-)
    select custno,
             avg(case when tran_dt between sysdate -210 and sysdate -31 then amount else 0 end) sales6mo,
             avg(case when tran_dt >= sysdate -30 then amount else 0 end) sales1mo,
             stddev(amount) sd,
             stddev(amount)*3 sd3
    from sales
    group by custno;I want to see if there are any customers' (I know I only generated 2) 1 month sales that are more than the 99th percentile of the 6 month distribution.
    If it's easier to use a lower percentile I can use the examples to plug in the 99.
    Here is the result of the above query:
        CUSTNO   SALES6MO   SALES1MO         SD        SD3
             5 4506.11111 28.1111111 4142.61146 12427.8344
            26 3563.81579 1090.05263  2952.1488 8856.44641So, from this data I would expect my 99th percentile to be close to the SD3 column. Correct?
    Thanks very much for the assistance!!
    -gary
    Edited by: garywicke on Sep 5, 2012 9:54 AM

  • How to calculate the area of a large number of polygons in a single query

    Hi forum
    Is it possible to calculate the area of a large number of polygons in a single query using a combination of SDO_AGGR_UNION and SDO_AREA? So far, I have tried doing something similar to this:
    select sdo_geom.sdo_area((
    select sdo_aggr_union (   sdoaggrtype(mg.geoloc, 0.005))
    from mapv_gravsted_00182 mg 
    where mg.dblink = 521 or mg.dblink = 94 or mg.dblink = 38 <many many more....>),
    0.0005) calc_area from dualThe table MAPV_GRAVSTED_00182 contains 2 fields - geoloc (SDO_GEOMETRY) and dblink (Id field) needed for querying specific polygons.
    As far as I can see, I need to first somehow get a single SDO_GEOMETRY object and use this as input for the SDO_AREA function. But I'm not 100% sure, that I'm doing this the right way. This query is very inefficient, and sometimes fails with strange errors like "No more data to read from socket" when executed from SQL Developer. I even tried with the latest JDBC driver from Oracle without much difference.
    Would a better approach be to write some kind of stored procedure, that adds up all the single geometries by adding each call to SDO_AREA on each single geometry object - or what is the best approach?
    Any advice would be appreciated.
    Thanks in advance,
    Jacob

    Hi
    I am now trying to update all my spatial table with SRID's. To do this, I try to drop the spatial index first to recreate it after the update. But for a lot of tables I can't drop the spatial index. Whenever I try to DROP INDEX <spatial index name>, I get this error - anyone know what this means?
    Thanks,
    Jacob
    Error starting at line 2 in command:
    drop index BSSYS.STIER_00182_SX
    Error report:
    SQL Error: ORA-29856: error occurred in the execution of ODCIINDEXDROP routine
    ORA-13249: Error in Spatial index: cannot drop sequence BSSYS.MDRS_1424B$
    ORA-13249: Stmt-Execute Failure: DROP SEQUENCE BSSYS.MDRS_1424B$
    ORA-29400: data cartridge error
    ORA-02289: sequence does not exist
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 27
    29856. 00000 - "error occurred in the execution of ODCIINDEXDROP routine"
    *Cause:    Failed to successfully execute the ODCIIndexDrop routine.
    *Action:   Check to see if the routine has been coded correctly.
    Edit - just found the answer for this in MetaLink note 241003.1. Apparently there is some internal problem when dropping spatial indexes, some objects gets dropped that shouldn't be. Solution is to manually create the sequence it complains it can't drop, then it works... Weird error.

  • MDX - how to calculate the sales between a certain period and the currentmember with a max date

    Hi all,
    1)I need to calculate the sales between W1 and the currentmember, but the max date should be W20. How can I solve this in MDX?
    MEMBER [Measures].[Q1 act.period to date sales] AS
    Sum(
    [Date invoice].[Bonus calendar - Week].[Bonus week of year].&[2015]&[1]
    [Date invoice].[Bonus calendar - Week].Currentmember
    *[CurrentSalesPeriod]
    ,[Measures].[Sales amount]
    This is the measure I have, I need to add the max date is W20. 
    2)Also, when I calculate the sales between [Date invoice].[Bonus calendar - Week].[Bonus week of year].&[2015]&[40] and the currentmember, for example being [Date invoice].[Bonus calendar - Week].[Bonus week of year].&[2015]&[20],
    he calculated the sales between this period. However, in theory this is not possible because W20 < 40. Is there any way I can put a constraint on this that he only calculates the sales if the currentmember is > the start period?
    Thanks in advance!

    Y, you can put a check on to determine if currentmember > start period.
    Firstly, your period keys are composite of year and period (indicated by the two ampersands in the fully qualified date above). If your period keys were non-composite (eg 201501) it would be a simple matter of 
    IIF([Date invoice].[Bonus calendar - Week].Currentmember.properties("key") > [Date
    invoice].[Bonus calendar - Week].[Bonus week of year].&[2015]&[1].properties("key"),[Measures].[Sales
    amount],null)
    There are advantages of having two period attributes on the dimension, one with a fully unique
    key and the other with just the period of fy, but that's digressing.
    With your composite keys, you could use a calc like the following for the SUM()
    Sum(
    [Date invoice].[Bonus calendar - Week].[Bonus week of year].&[2015]&[1]
    [Date invoice].[Bonus calendar - Week].Currentmember
    *[CurrentSalesPeriod]
    ,IIF([Date
    invoice].[Bonus calendar - Week].Currentmember.parent.properties("key") +[Date
    invoice].[Bonus calendar - Week].Currentmember.properties("key") > [Date
    invoice].[Bonus calendar - Week].[Bonus week of year].&[2015]&[1].parent.properties("key")+[Date
    invoice].[Bonus calendar - Week].[Bonus week of year].&[2015]&[1].properties("key"),[Measures].[Sales
    amount],null))
    Richard

  • How to calculate the cumulative sum  with certain interval in SAP HANA

    Hi Experts,
    I have a scenario in which I have a column with Boolean values and need to calculate the cumulative values in the interval where there are consecutive ones as mentioned below,
    ID          Date                           column 1
    1         9-14-2014 14:22:00          1
    1          9-14-2014 14:25:00          1
    2          9-14-2014 13:22:00          0
    1          9-14-2014 15:02:00          0
    1          9-14-2014 14:37:00          0
    2          9-14-2014 14:25:00          1
    2          9-14-2014 14:32:00          1
    1          9-14-2014 14:05:00          1
    2          9-14-2014 14:45:00          0
    2          9-14-2014 14:59:00          0
    1          9-14-2014 15:12:00          1
    1          9-14-2014 15:18:00          1
    1          9-14-2014 15:21:00          1
    First needs to group by 'ID' and Order By ' Date' and calculate the calculated column 'cumulative sum' for the consecutive ones in 'column1' as
    ID          Date                           column 1          Cumulative sum
    1          9-14-2014 14:05:00          1                    1    
    1          9-14-2014 14:22:00          1                    2
    1          9-14-2014 14:25:00          1                    3
    1          9-14-2014 14:37:00          0                    0
    1          9-14-2014 15:02:00          0                    0
    1          9-14-2014 15:12:00          1                    1
    1          9-14-2014 15:18:00          1                    2
    1          9-14-2014 15:21:00          1                    3
    2          9-14-2014 13:22:00          0                    0
    2          9-14-2014 14:25:00          1                    1
    2          9-14-2014 14:32:00          1                    2
    2          9-14-2014 14:45:00          0                    0
    2          9-14-2014 14:59:00          0                    0
    Is there any function and way to calculate this  without loops in procedure?
    Please help!!. Thank you!!
    -Gayathri

    Hi Henrique,
    The SQL,
    SELECT id, date, col1, sum(col1) over (partition by col1 order by id, date) as cumulative_sum
    will give me the cumulative value for all the col 1 with same value which is not my requirement,
    the above will give the result as shown below. I have also added the correct values as per my requirement as well
    ID          Date                           column 1          Cumulative sum     correct ***_sum
    1          9-14-2014 14:05:00          1                    1                              1
    1          9-14-2014 14:22:00          1                    2                              2
    1          9-14-2014 14:25:00          1                   2                              3
    1          9-14-2014 14:37:00          0                    0                              0
    1          9-14-2014 15:02:00          0                    0                              0
    1          9-14-2014 15:12:00          1                   4                              1
    1          9-14-2014 15:18:00          1                   5                              2
    1          9-14-2014 15:21:00          1                    6                              3
    2          9-14-2014 13:22:00          0                    0                              0
    2          9-14-2014 14:25:00          1                    1                              1
    2          9-14-2014 14:32:00          1                    2                              2
    for my requirement , I need to find the cumulative value only for the consecutive 1s if there are 0s in between then there should be a break and cumulative sum should start again for the next set of consecutive 1s
    Hope you could help. Thanks.
    -Gayathri

  • How do I transfer texts from a certain number to my email?

    I plan on taking someone to court for promising to back me back I have it all in my texts, but I don't know how to transfer it all to my email in the same format. If I can even print it out in the same format would be great as well. I have an Driod X and I would also be grateful if someone could help me.

    You can forward the messages to your e-mail from your messaging app in the same way you would forward a text to a phone number, just type in your e-mail address instead.
    You can also look into downloading apps from the Market that allow you to back-up your text messages in different formats and see if any of those will produce the output you're looking for.

  • Standard deviation in abap

    Dear Freinds,
    I want to calculate standard deviation of my internal table columns  in abap code , please help me how to calculate it  .
    Thanks,
    Naveen

    hi,
    try this code for calculating it:-
    REPORT abc.
    DATA : BEGIN OF itab OCCURS 0,
    num TYPE i,
    END OF itab.
    data : std type p decimals 2.
    itab-num = 8. APPEND itab.
    itab-num = 25. APPEND itab.
    itab-num = 7. APPEND itab.
    itab-num = 5. APPEND itab.
    itab-num = 8. APPEND itab.
    itab-num = 3. APPEND itab.
    itab-num = 10. APPEND itab.
    itab-num = 12. APPEND itab.
    itab-num = 9. APPEND itab.
    PERFORM stdev changing std..
    write :/ std.
    FORM stdev CHANGING std.
    DATA : mn TYPE p DECIMALS 2.
    DATA : sm TYPE i.
    DATA : sm2 TYPE i.
    DATA : dev TYPE p DECIMALS 2.
    DATA : cnt TYPE i.
    LOOP AT itab.
    sm = sm + itab-num.
    cnt = cnt + 1.
    sm2 = sm2 + ( itab-num * itab-num ).
    ENDLOOP.
    mn = sm / cnt.
    dev = ( sm2 - ( ( ( sm * sm ) / cnt ) ) ) / ( cnt - 1 ) .
    dev = SQRT( dev ).
    std = dev.
    ENDFORM. "stdev
    Edited by: ricx .s on May 2, 2009 1:50 PM
    Edited by: ricx .s on May 2, 2009 1:51 PM

  • Display of standard deviation in graphs

    Hello,
    I am trying desperately to find out how to present standard deviation within adobe illustrator generated graphs. Can anyone please help me with this problem?
    p.s
    I am using adobe-illustrator CS2 and winXP
    tnx

    Dear lwo,
    You can add two more channels.
    One with mittelwert+standardabweichung/2
    and one with mittelwert-standardabweichung/2 .
    Then configure them to show only symbols and no line.
    Color them red and choose a cross as symbol.
    Be sure, the mittelwert channel is the first one in the array,
    or the bars will hide the crosses.
    Best regards,
    Stefan Heinzl
    Message Edited by Stefan Heinzl on 03-09-2009 09:56 AM
    Attachments:
    Block Diagram.jpg ‏17 KB
    Front Panel.jpg ‏40 KB

  • Standard Deviation in iOS Numbers

    Hi! I want to know how to find standard deviation in numbers on iOS.

    Dear lwo,
    You can add two more channels.
    One with mittelwert+standardabweichung/2
    and one with mittelwert-standardabweichung/2 .
    Then configure them to show only symbols and no line.
    Color them red and choose a cross as symbol.
    Be sure, the mittelwert channel is the first one in the array,
    or the bars will hide the crosses.
    Best regards,
    Stefan Heinzl
    Message Edited by Stefan Heinzl on 03-09-2009 09:56 AM
    Attachments:
    Block Diagram.jpg ‏17 KB
    Front Panel.jpg ‏40 KB

  • How can change standard BW- reports

    Hi ,
    i nee small chnges  to BW standard reports ..
    plz tell me , how can change standard BW- reports...
    i assign points ..
    regards
    PSR

    PSR,
    You can make changes to them directly. But it is a best practice not to disturb them, but save as a new report and then make necessary changes. So you can save as them and make necessary changes.

  • How to calculate the number of sent/received emails of a certain domain

    Thank you for what you have helped me with!
    How to calculate the number of sent/received emails of a certain domain in a certain period? It is Messaging Server 5.2, Directory Server 4.2. Is there a log option for this?
    Thank you.

    Not sure where you find, "LOG_MESSSAGE_ADD". I don't actually find this option in the documentation.
    The domains that mails are coming from and being sent to are certainly logged in the normal mail.log, so why mess with additional logging options? If you're talking about "LOG_CONNECTION", I actually see no additional data that is useful to you.
    If you decide to change the option.dat, you do indeed need to
    imsimta cnbuild (note, it's not cnrebuild)
    imsimta restart
    If I were facing the same issue, I'd be looking at the log parsing perl script, and simply modifying it to do what I wanted.

  • How to wire input to "Standard deviation & Variance VI"

    The data that is being read is an I16 file in a 2 dim array. I need to compute to mean and standard deviation for all the numbers in the array. If I wire this 2 dim array to the input of the "Standard Deviation and Variance" vi function I get a broken wire. I've tried numerous functions to convert the data into a format but I get incorrect answers. I believe I need to convert all the rows and comumns into a series of numbers. There are 128 rows and 128 columns all with different numbers.

    I'd suggest you use reshape array, to reshape the 2D array into a 1D array. See the attached LV 7 example.
    I basically find the array size of the 2D array, multiply those dimensions sizes together and call reshape array. So, a 128x128 2D array becomes a 16K 1D array.
    Brian
    Attachments:
    2D_Mean.vi ‏26 KB

Maybe you are looking for