The Black Box Toolkit Serious about science: Serious about timing User Guide Rev. 1.1 Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 2 of 98 The Black Box Toolkit Credits: Author: Dr. Richard R. Plant, C.Psychol, AFBPsS Covers the following hardware: The Black Box Toolkit BBTK Response Pad BBTK Digital Microphones BBTK Digital Tone Generators BBTK External Opto-Detector Modules For the following platforms: Microsoft Windows 2000 and XP Contact details: Global Distributors: Psychology Software Distribution PO Box 17 Stittenham YORK YO60 7YJ UK Phone: Fax: 00 44 (0)7950 115737 00 44 (0)1347 878416 Email: firstname.lastname@example.org Web Address: www.psychologysoftwaredistribution.com Black Box Toolkit contact details: Email: email@example.com firstname.lastname@example.org email@example.com Web address: www.blackboxtoolkit.com Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 3 of 98 CONTENTS 1. INTRODUCTION 1.1. Background 1.2. How can I ensure my timing accuracy is up to scratch? 1.3. How can you ensure millisecond accuracy and experiment generators typically can’t? 2. HARDWARE & SOFTWARE REQUIREMENTS 2.1. Host PC hardware requirements 2.2. Remote PC requirements 5 6 7 8 9 3. INSTALLATION 3.1. Software installation 3.2. Hardware installation 3.3. Connecting the toolkit to the host PC 10 10 11 4. INTERFACES ON OFFER 4.1. Detection & generation 13 5. DETECTION INTERFACES & SENSORS 5.1. Opto-detectors 5.2. BBTK digital microphones 5.3. Passive switch closure detection on remote response devices 5.4. The BBTK response pad 16 17 17 18 6. GENERATION INTERFACES 6.1. BBTK digital tone generators 6.2. Active switch closure of remote response devices 21 21 7. CALIBRATION 7.1. Assessing the suitability of a host PC for realtime data collection 7.1.1. Multi-processor systems and Hyper-Threading (Intel Pentium 4) 7.2. External calibration 7.3. Adjusting sensor thresholds for optimum performance 7.3.1. Tutorial 1: Setting-up opto-detectors for monitoring visual stimuli 7.3.2. Tutorial 2: Setting-up microphones for monitoring auditory stimuli 7.3.3. Tutorial 3: Setting-up sensors for cross-modal stimulus materials 7.3.4. Tutorial 4: Setting-up for active switch closure/stimulus-response 23 26 26 27 27 30 31 32 8. THE TOOLKIT SOFTWARE SUITE 8.1. Using the menu system 8.2. Digital stimulus capture (DSC) 8.2.1. Tutorial 1: Measuring synchrony between visual and auditory stimulus presentation 8.2.2. Tutorial 2: Rapid serial visual presentation (RSVP) 8.2.3. Tutorial 3: Using the BBTK response pad with DSC with a paradigm that involves visual and auditory presentation 8.3. Event generator (EG) 8.3.1. Tutorial 1: Simulated auditory response and duration measurement using a voice key 34 34 35 39 40 42 43 Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 4 of 98 The Black Box Toolkit 8.3.2. Tutorial 2: Simulating the TTL synch pulse from an fMRI scanner 8.3.3. Tutorial 3: Using two BBTKs to simulate an fMRI scanners operation 8.4. Digital stimulus capture and response (DSCAR) 8.4.1. Tutorial 1: Examining the response time error caused by using a mouse for response registration 8.4.2. Tutorial 2: Exporting a predefined sequence from the design-time DSCAR module 8.5. The data analyser (DA) 8.5.1. Tutorial 1: Using the Data Analyser to check for visual stimulus duration 18.104.22.168. Analysing visual stimulus event data obtained from monitoring a TFT 22.214.171.124. Analysing visual stimulus event data obtained from monitoring a CRT 8.6. Switching graph background colour 8.7. Labelling lines with your own terms 8.8. Making and viewing notes 8.9. Copying plots and data to the clipboard 8.10. Saving plots as standard Windows WMF or BMP files 8.11. Exporting the spreadsheet to Microsoft Excel or an HTML file 8.12. Shortcut keys used in the data analyser 9. STEP-BY-STEP CASE STUDY 9.1. Using the Black Box Toolkit to investigate the effect of using several different mice as response devices in a simple visual reaction time paradigm 9.2. The effect of changing response device 9.3. The effect of using a TFT with various response devices 46 48 50 51 58 60 61 62 62 65 65 66 67 68 69 70 71 83 88 10. USING THE BBTK RESPONSE PAD 91 11. GLOSSARY 93 12. BIBLIOGRAPHY 94 13. SPECIFICATIONS 13.1. General specifications of the Black Box Toolkit 13.2. Sensor and generation modules timing specifications 13.3. Individual line specifications 13.3.1. Lines 1 & 2, powered digital-in & passive switch closure 13.3.2. Lines 3 & 4, opto-detector 13.3.3. Lines 5 & 6, powered digital-out 13.3.4. Lines 7 & 8, active switch closure 13.4. Power supply 13.5. Optional response box 95 95 96 96 96 97 97 97 97 14. APPENDIX A: REALTIME PRIORITY 98 Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 5 of 98 1. INTRODUCTION 1.1. Background Computers, whilst ramping-up in terms of clock speed, are actually no more accurate than those of a decade ago. In fact quite the reverse can be true with today’s modern multitasking operating systems. Even if you make use of a recognised experiment generator, there is little assurance that your stimulus and response timings are “millisecond accurate”. Many packages promise to achieve “millisecond precision”. Unfortunately there is a subtle, yet important, difference between “accuracy” and “precision”. Millisecond precision simply means that timings are reported in units of a millisecond – there is no assurance that the actual timings are accurate! By using the Black Box Toolkit, or BBTK for short, you can check the presentation and response timing accuracy of the majority of paradigms in use today. If you are measuring presentation or response events in units of a millisecond, you should be using the toolkit as a matter of course. Achieving the best possible stimulus display timing is becoming more important as researchers push the envelope with the types of studies they run and data they collect. Synchrony between visual and auditory materials for example is often prone to larger variation than many researchers acknowledge. Response timing can also be affected adversely. The mere act of swapping one response device for another can statistically alter your results. This is a proven fact – what’s more, without checking you would never know! Within any study that has not already been “calibrated” using the Black Box Toolkit there is almost guaranteed to be one or more sources of uncontrolled timing error; be this within presentation or response timing. Such error can adversely effect statistical power, introduce conditional bias, make replication difficult, and lead to spurious effects. This is before one verifies the paradigm to ensure that it is actually doing what it has been designed to do. Honest mistakes in scripting can lead to presentation errors that are hard to detect due to high presentation rates. By using the BBTK you can help ensure that: • • • • • Your experiment is performing as intended in terms of presentation and synchrony. For fast presentation schedules it can be difficult for the researcher themselves spot errors unaided You can tune presentation schedules to achieve the best possible presentation accuracy and consistency (if you don’t know what’s broken you can’t fix it!) You know what the absolute error and variance is within your chosen response device – remember these can vary enormously! Armed with this knowledge you may decide to change device or perform a post-hoc statistical correction You improve your chances of replication and internal consistency Above all you improve the quality and respectability of your research Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 6 of 98 The Black Box Toolkit 1.2. How can I ensure my timing accuracy is up to scratch? The ethos of the BBTK is to allow researchers to benchmark their paradigm in-situ and without modification by means of an easily programmable “virtual human”. By making use of a wide range of external sensors the toolkit can detect a variety of stimulus materials when presented. Depending on programming it can generate a response at a known onset and for a given duration. The toolkit can detect visual stimuli, auditory stimuli or any TTL signal. Responses can be made using TTL signals, switch closures (button/key down) or through a tone generator to trigger voice keys etc. Stimulus detection and resulting responses are recorded with sub-millisecond accuracy. Conceptually the BBTK offers much the same functionality as a four channel digital signal generator and a four channel digital oscilloscope. It is easily capable of sub-millisecond sampling rates on a typical host PC (around 48kHz, or 48 samples per millisecond). Unlike a signal generator and oscilloscope which typically costs many thousands and are difficult to use, the BBTK enables the researcher to check most paradigms in-situ in less than 30 minutes. Even with a modern signal generator and scope you cannot hope to virtualise human senses and response characteristics – with the BBTK you can do just that! Timing analysis of events is accomplished using a virtual 8-channel oscilloscope style display. Moveable cursors allow event timing to be measured relative to any two points. Four lines show detected stimuli and four lines show simulated responses made by the toolkit and fed into the remote PC running the paradigm being benchmarked. 1.3. How can you ensure millisecond accuracy and experiment generators typically can’t? First the BBTK will only run on Microsoft Windows 2000 and XP based operating systems. Multi-tasking operating systems typically use threads with each piece of software utilising one or more of these threads. The operating system typically gives each application a share of the CPU time in a round-robin fashion based on each applications threads and the priority of those threads. Typically experiment generator software tries to increase the priority of its own threads so that it has more time to process its own tasks and is less likely to be interrupted by other applications that might disturb its progress. However under Microsoft Windows for example the priority can only ever be boosted to “Above Normal” or “High Priority” as boosting threads any higher will have undesirable side effects. All BBTK software runs with its threads switched to “Realtime” priority. This means that our software gets nearly all the processor time and is not interrupted by other software or the operating system itself. Experiment generator software cannot run with “Realtime” priority due to “undesirable” side effects. Realtime priority “locks out” non-critical operating system threads meaning that the mouse, keyboard and background disk flushes are turned off. Obviously there is little point in having an experiment generator that cannot accept responses from participants! Once a piece of toolkit software is running it cannot be stopped as it takes over the whole system until it reaches a predetermined time limit and control is relinquished. The mouse and keyboard become inactive and the only way to stop a module is to turn off the PC! Whilst event data is being collected timestamps taken from the PC’s internal high resolution timer are stored within a pre-allocated memory buffer. Once a run has finished data is written to the hard disk ready for analysis. This helps ensure we are millisecond accurate. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 7 of 98 For more information see Appendix A and the section on calibration. You might also like to visit various experiment generator vendors websites to see how they phrase “millisecond timing accuracy”. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 8 of 98 The Black Box Toolkit 2. HARDWARE & SOFTWARE REQUIREMENTS 2.1. Host PC hardware requirements The host PC is the computer which has the BBTK physically plugged into it and runs the suite of data collection and analysis tools. Minimum Recommended • 1Ghz+ Athlon/XP or P4 class CPU • PIII 500Mhz • IEEE 1284 port (standard printer • IEEE 1284 port (standard printer port) switched to EPP 1.7 or 1.9 port) switched to EPP 1.7 or 1.9 mode mode • 256Mb RAM • 128Mb RAM • 30Gb Hard Drive • 30Gb Hard Drive • CD/RW or DVD/RW • CD-ROM • MS Windows 2000 or XP • Microsoft Windows 2000 or XP BBTK base hardware BBTK base modules hardware and optional You will need to ensure that you have enough hard drive space free to store all event data captured by the toolkit. Its real-time log (.rtl) files can grow at rate of 1-2Mb per second of data capture. Before using the toolkit for data capture you should ensure that it can sample at a high enough rate in a consistent manner. Special “calibration” software is included which determines the number of processor cycles needed to take one event sample. The lower the number of processor cycles taken per sample the higher the toolkit sampling rate in kHz. This feature is designed to help ensure you always collect valid timing data. If you wish to make use of the full functionality of the BBTK you will need to purchase the following optional modules: • BBTK Digital Microphone(s) The BBTK Microphones are not the same as ordinary analogue microphones. They are custom built and include specialised circuitry to convert analogue signals into digital ones at very high sampling rates. Although you may be able to physically plug a microphone into the 3.5mm jack on the BBTK it will not function and may damage both your microphone and the BBTK. Any damage caused as a result will void your warranty. • BBTK Digital Tone Generator(s) The BBTK Tone Generators are not the same as ordinary analogue speakers. They are custom built and include specialised circuitry and make use of digital signals together with piezoelectric sounders which have known timing characteristics. Although you may be able to physically plug a speaker, e.g. Walkman headphones into the 3.5mm jack on the BBTK it will not function and may damage both your speakers and the BBTK. Any damage caused as a result will void your warranty. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit • Page 9 of 98 BBTK response The four button BBTK response pad enables you to record both presentation and response timing independent of the pad paradigm and remote PC. Active switch closure leads allow each button to be linked to those on your own response devices so that they can be triggered in parallel. Each button has a snap-on clear keytop. 2.2. Remote PC requirements The remote PC is the computer which runs the paradigm you are interested in benchmarking. This is accomplished by attaching various toolkit sensors to the PC to detect stimuli and its response devices so that they can be remotely controlled. Although the term “remote PC” is used throughout this guide, the term PC actually refers to “Personal Computer” and does not imply an IBM compatible PC or indeed a PC at all! A remote PC could be: A Mac, an IBM PC compatible, a Linux machine, Unix machine, MRI scanner, MEG etc. We manufacture and supply a wide variety of interfacing options which enable you to monitor and control the majority of equipment in use today. Please contact us for further details. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 10 of 98 The Black Box Toolkit 3. INSTALLATION 3.1. Software installation Installing the toolkit software is straightforward as it uses industry standard MSI deployment. Before you install you will need to ensure you are logged into the local PC with administrator privileges. When installing you have the option of selecting one of three installation types. A. Test & Analyse This option is used if you will be hosting the toolkit. The full suite of software, utilities, documentation and sample data files will be installed. B. Analyse Only This option will install the bare minimum required to analyse data collected on another PC. Documentation and sample data files will be installed. C. Sensor Check Utility/Custom Setup This option allows you to install a paradigm simulator which simulates the presentation of stimulus materials in order for you to check the toolkit sensors are operating correctly. Typically you will install this on the remote PC you are running your own paradigms on. For setup options A and B a Black Box Toolkit entry will be created under the “Start|All Programs” menu. Under that program group will be three entries. One for the main menu, one for viewing the electronic manual and one for visiting the Black Box Toolkit website. To access the electronic version of the manual you should ensure that Adobe Acrobat Reader is installed (www.adobe.com/reader). If you choose to install the “Sensor Check Utility” a relevant entry will be created on the Start menu. 3.2. Hardware installation Before installing the toolkit hardware on a host PC you should check that the BIOS settings are suitable for hosting the toolkit. To do this you will need to reboot your PC and enter the BIOS setup. Typically you do this by pressing the DEL key as the PC boots-up. Some systems use a different key combination so you may need to consult the documentation that came with your computer. Once you have entered your BIOS setup you need to ensure that your parallel printer port is setup to operate as an EPP parallel port. All modern BIOS’s should enable you to do this simply by selecting from a list of options. Typically you will need to look under an integrated peripherals menu. You should select the default address for LPT1 which is 378 with an IRQ of 7. In order to host the toolkit the port type must be switched to EPP. You may also have the option to set the EPP version number. This should be set to either 1.9 or 1.7. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 11 of 98 Remember once you have made any changes you will need to save changes and reboot the PC. 3.3. Connecting the toolkit to the host PC Before connecting the toolkit hardware you should ensure that the host PC is switched off. You should then connect the toolkit to the printer port as shown. On standard ATX motherboards the port is coloured purple. Finally connect the toolkit power supply and power on the toolkit followed by your host PC. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 12 of 98 The Black Box Toolkit IEEE 1284 LPT (printer) port on a standard ATX motherboard. Should be set to EPP mode in the BIOS (1.7 or 1.9). On most motherboards the port is coloured purple. Once the toolkit is connected you are ready to begin benchmarking paradigms running on a second PC. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 13 of 98 4. INTERFACES ON OFFER 4.1. Detection & generation The toolkit has a total of eight digital lines or channels. Four digital input lines are used for detecting events that occur on a remote PC. Four further lines are used by the toolkit host to feed simulated responses into the remote PC as if they had been made by a human. When making use of the BBTK response pad the four output lines are switched to input mode giving a total of eight digital input lines. Four continue to offer support for the standard sensors or TTL inputs while the additional four monitor each button of the response pad. An overview of the toolkit interfaces is shown overleaf. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. External Opto-detector module BBTK Digital Microphone BBTK Digital Tone Generator Power Supply Standard Opto-detector with fixing strap Power Connector IEE1284 lead to host PC Standard PS/2 Mouse with Active Switch Closure lead tacked to left button BBTK 4 button Response Pad Active Switch Closure lead to be tacked onto your own response device USB joypad with Active Switch Closure lead tacked to primary response button Lead to BBTK Response Pad Page 14 of 98 The Black Box Toolkit The Black Box Toolkit Page 15 of 98 Line 1: Powered In - BBTK Microphones, additional External Opto-detector modules or Passive Switch Closure monitor 3.5mm stereo jack. Orange LED. TTL +5v Line 5: Powered Out BBTK Digital Tone Generators stereo jack. Red LED. Line 6: Powered Out TTL +5v Line 2: Powered In Sensitivity Threshold Adjustment for Optodetectors on Lines 3 & 4 Line 8: Active Switch Closure Line 3: Opto-detector for CRTs, TFTs, Data Projector or any other light emitting display device 2.5mm mono jack. Yellow LED Line 4: Opto-detector Line 7: Active Switch Closure 2.5mm mono jack. Green LED. TTL 9 way connector to BBTK 4 Button Resonse Pad 25 way IEEE 1284 Connection to Host PC. Standard EPP Parallel Port version 1.7 or 1.9 Power Supply Connector 7.5~9v DC 250mA. Positive inner pin. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 16 of 98 The Black Box Toolkit 5. DETECTION INTERFACES & SENSORS 5.1. Opto-detectors Up to four opto-detectors can be used to monitor for screen events that occur on a remote PC or data projector screen. As standard the toolkit offers two opto-detector inputs via lines 3 and 4. 3.5mm jack plugs are used to connect photodiode opto-detectors to the toolkit. Two tuning potentiometers above the sockets allow you to fine tune sensitivity (crossing threshold) to suit the stimulus materials being displayed. A yellow LED indicates that visual activity has been detected. Two opto-detectors are shipped as standard. The photodiode opto-detector is attached to the remote PC by means of an adjustable elastic strap. The clear polycarbonate mounting allows for accurate positioning over a visual stimulus. If required two additional opto-detector modules [optional extra] can be used allowing for up to four visual regions to be monitored. If you purchased these external modules they can be plugged into the 3.5mm powered-in lines of the toolkit (lines 3 and 4). A sensitivity potentiometer is located on the plug-in module itself. The orange LED of the powered-in lines indicates that visual activity has been detected. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 17 of 98 Note: If you are using both external opto-detector modules you will not be able to make use of the toolkit powered-in lines (BBTK Microphones, TTL-in etc.). If you are using one additional opto-detector module you will be able to make use of one additional powered-in line simultaneously. The photodiode opto-detectors can be used for TFTs, CRTs and data projectors. In short, any display device that emits enough luminescence to trigger the detector. 5.2. BBTK digital microphones The toolkit offers support for up to two digital microphones [optional extra]. These allow for two audio sources to be monitored on a remote PC. If you purchased the microphone modules they can be plugged into the 3.5mm powered-in lines of the toolkit (lines 1 and 2). A sensitivity potentiometer is located on the plug-in module itself. The orange LED of the powered-in lines indicates that auditory activity has been detected. The microphone module should be positioned as close to the speaker/headphone of the remote PC as possible. You should then use the “Sensor Threshold Check” tuning utilities to adjust the microphone sensitivity to match your stimulus materials amplitude, as in essence these modules function as a highly accurate voice-key. Note: The BBTK Microphones are not the same as ordinary analogue microphones. They are custom-built and include specialised circuitry to convert analogue signals into digital ones at very high sampling rates. Although you may be able to physically plug a microphone into the 3.5mm jack on the toolkit it will not function correctly and may damage both your microphone and the toolkit. Any damage caused as a result will void your warranty. 5.3. Passive switch closure detection on remote response devices The toolkit can monitor for up to two switch closures on a remote PC. For example, you can use a passive switch closure monitoring lead [optional extra] tacked onto a button of your own response device. Then when you press a button/key the toolkit will also register the properties of the response. Specifically the onset, duration and offset with submillisecond accuracy. In sort, any suitable switch closure (see 13.3.1) or TTL signal can be monitored using this method. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 18 of 98 The Black Box Toolkit If you purchased the additional switch closure monitoring leads you can plug them into lines 1 and 2 (powered-in lines). Activity on lines 1 and 2 is indicated by orange LEDs. Each line you utilise for remote switch closure monitoring means that you will not be able to use that line for any other purpose. Note: If you decide to make use of the passive switch closure monitoring, you do so entirely at your own risk. It is assumed that your local technical staff will be onhand to advise as required. We cannot be held responsible for any damage caused to your own equipment through incorrect wiring. In addition any damage caused to the toolkit as a result will void your warranty. If you intend to make use of passive switch closure/TTL monitoring you are strongly advised to purchase additional leads from us. 5.4. The BBTK response pad The BBTK response pad functions as a standard four button response pad [optional extra]. It offers high quality response buttons with customisable keytops and is housed in a lightweight ergonomically designed enclosure. A cable links it to the rear of the toolkit. When the toolkit software runs with the pad all four buttons can be monitored alongside the four other input lines (opto-detectors and powered-in lines, e.g. microphones). This means that you can monitor for a visual and auditory stimulus on the remote PC at the same time as detecting responses. The onset, duration and offset for each button press in relation to other monitored events are recorded with sub-millisecond accuracy. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 19 of 98 In addition you can wire up to four buttons of your own response device(s) in parallel to the response pad buttons (optically isolated). This means that when a response pad button is pressed your own device is also triggered as if its button/key had been physically pressed. This leaves your own experiment to concentrate on its job with the toolkit monitoring the exact timing of all stimulus presentations and response characteristics. This may allow you to make use of stimulus materials that are known to adversely affect timing on the remote PC, e.g. video playback. Up to 4 sets of Active Switch Closure flying leads can be tacked onto the buttons of your own response device. When a button is pressed on the BBTK pad your own device will also register a response. Note: If you decide to make use of the active switch closure feature provided by the response pad you do so entirely at your own risk. It is assumed that your local technical staff will be on-hand to advise as needed. We cannot be held responsible for any damage caused to your own equipment through incorrect wiring. In addition any damage caused to the toolkit as a result will void your warranty. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 20 of 98 The Black Box Toolkit BBTK Response Pad button to line mapping The diagram above illustrates how response pad buttons map to lines. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 21 of 98 6. GENERATION INTERFACES 6.1. BBTK Digital tone generators The toolkit allows for use of two tone generator modules [optional extra] with the two powered-out lines. These can be used to trigger voice keys on a remote PC as if a human had made a vocal response. Each tone generator is connected via 3.5mm jacks to lines 5 and 6. Each tone generator has two potentiometers, one for pitch and another for amplitude. BBTK Digital Tone Generator Frequency Adjustment Amplitude Adjustment Red LEDs on the toolkit indicate that a signal is being sent to the tone generator. Note: The BBTK Tone Generators are not the same as ordinary analogue speakers. They are custom built and include specialised circuitry and make use of digital signals together with piezoelectric sounders which have known timing characteristics. Although you may be able to physically plug a speaker, e.g. Walkman headphones into the 3.5mm jack of the toolkit it will not function correctly and may damage both your speakers and the toolkit. Any damage caused as a result will void your warranty. It is also possible for you to make use of these powered-out lines for other purposes specific to your application, e.g. robotic servo control. However extended use is beyond the scope of this manual. Note: If you decide to make use of the powered-out feature, you do so entirely at your own risk. It is assumed that your local technical staff will be on-hand to advise as needed. We cannot be held responsible for any damage caused to your own equipment through incorrect wiring. In addition any damage caused to the toolkit as a result will void your warranty. 6.2. Active switch closure of remote response devices The toolkit offers two active switch closure lines. These enable you simulate key or button down events on your own response devices as if they had been made by a human participant. Two switch closure leads are shipped as standard. For example, you could tack one wire on to the left button of your mouse and the other to the right. You are then Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 22 of 98 The Black Box Toolkit free to activate either button of the mouse in response to events on the remote PC. These leads plug into the toolkit using the 2.5mm sockets (lines 7 and 8). The green LEDs indicate switch closure activity. If you wish to make use of the two additional active switch closure lines (lines 5 and 6) you will need to purchase additional leads for this purpose as they use different size jack plugs. These are available at reasonable cost from our distributors. If you are using both the powered-out lines for active switch closure you will not be able to use them to power the toolkit tone generators. Please see section 13.3.1. for details on how to connect these lines to suitable equipment buttons etc. Typically you can use the active switch closure lines to activate any switched device, e.g. mouse button, key on a keyboard, button on a response pad etc. You can also use the powered digital optically isolated lines 5 and 6 to generate pulse trains if required. Note: If you decide to make use of the active switch closure feature, you do so entirely at your own risk. It is assumed that your local technical staff will be on-hand to advise as needed. We cannot be held responsible for any damage caused to your own equipment through incorrect wiring. In addition any damage caused to the toolkit as a result will void your warranty. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 23 of 98 7. CALIBRATION 7.1. Assessing the suitability of a host PC for realtime data collection Before you use the toolkit with a new host PC you should run the calibration utility. You are also advised to run it from time to time to check that the host is still capable of a high enough sampling rate to support sub-millisecond accuracy. The calibration utility takes 500,000 samples and reports on various aspects related to sampling performance and consistency. You are free to alter the number of samples and the priority with which the calibration utility runs. A typical PC will take around 10 seconds to complete 500,000 samples with realtime thread priority. You should be careful not to enter a too higher number of samples as you will not regain control of your PC until sampling has finished. Remember as the BBTK runs with realtime thread scheduling the mouse, keyboard and other peripherals may not function during calibration. You should also note that approximately 1-2Mb of hard drive space will be used for each second of run time. To start calibrating your host PC click on the “Calibrate” button. Once calibration is underway an hourglass icon will be displayed. When all 500,000 samples have been taken a status bar will indicate the progress of the data analysis. Once all data has been processed the upper spreadsheet will be filled-in and a plot showing tick variance per sample will be plotted. The higher the number of ticks per sample and the larger the variation the poorer the performance of the host PC for realtime work. Should the PC tick variance be too high or the sampling rate too low you are advised not to use the toolkit with the PC in question. The screen shot below shows a typical PC’s performance when running with realtime thread scheduling. The PC in question is a 1.4Ghz AMD Duron with 1Gb of RAM. It is heavily loaded with software and is running many background processes. Note the scale on the Y axis and the regular interruptions. These are typically caused by low level operating system tasks or unruly software. Remember lower and more consistent peaks are better. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 24 of 98 The Black Box Toolkit Shown below is another calibration run from the same PC but with scheduling set to “High” (the same mode experiment generators typically run in). Close attention should be paid to the scale on the Y axis and the “Tick Variance” figure displayed in the spreadsheet. The more processor cycles or ticks that are required per sample the worse any software will perform. In short, other factors can begin to adversely affect timing precision even when running a recognised experiment generator. For example, other unknown processes can interrupt stimulus display or reaction time measurement leading to a spurious result. Unknown processes can include virus checkers, network activity, unruly drivers etc. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 25 of 98 Finally here are the results for the calibration utility run on the same PC but with “Normal” priority. This illustration helps show that scheduling priority can have a large affect on system performance and the accuracy of timing data you collect regardless of the software you use. In the three screen shots the time to complete 500,000 samples ranges from 10.916 seconds to 12.530 seconds as a result of varying the scheduling priority. Where a large number of ticks are taken during a sample this can be thought of as the period the PC is “out to lunch”. In such periods timing accuracy will suffer. If during such periods you responded to a stimulus it is likely that your response would not be registered accurately. Hence your response timing would be adversely affected. This effect is clearly illustrated when playing back video-based stimulus materials. During such presentations response timing is so bad that experiment generator distributors recommend you don’t rely on the timing measures taken. The table below summarises the calibration findings for the example PC but under each of the three scheduling modes. Elapsed Time Mean Sampling Rate Mean Ticks Per Sample Tick SD Min Ticks Per Sample Max Ticks Per Sample Tick Variance Pass or Fail? Realtime 10.92 secs 45.81 kHz High 10.94 secs 45.688 kHz Normal 12.53 39.91 kHz 78.15 78.35 89.70 8.96 70.03 2309.62 73 73 73 1667 35364 1320764 80.21 Pass 4903.72 Pass 5334342.04 Fail Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 26 of 98 The Black Box Toolkit 7.1.1. Multi-processor systems and Hyper-Threading (Intel Pentium 4) During testing it has become apparent that dual, or multiprocessor, systems that are used to host the BBTK may display strange calibration results. Newer Intel Pentium 4’s with Hyper-Threading may also display similar results as they emulate a dual processor system. Testing has suggested that such systems whilst having a very high clock rate, e.g. a 3.0GHz P4 with Hyper-Threading, may actually sample at half the expected rate as each processor receives alternate clock ticks and a given piece of software typically runs tied with its affinity to one processor. To improve sampling rates you have the option to disable one or more processors, turn off Hyper-Threading in the BIOS or use another PC with a single processor. You should bear in mind that a sample rate anywhere above 1kHz will offer submillisecond sampling rates. If you are concerned about the sampling consistency of your system you have the option of carrying out an external calibration check. This simple process is outlined below. 7.2. External calibration If you are concerned by your host PC’s performance as a result of a calibration test you should carry out further external checks. One such method involves using a second PC with a standard CRT running at a known refresh rate, e.g. 100Hz. Hook up an optodetector to the CRT and position it over a constant white area of the screen so that the opto-detector is activated. Then run Digital Stimulus Capture (DSC) for say 10 seconds. Finally analyze the collected RTL file using the data analyser. You should see a regular blip every 10ms which lasts for about 2-3ms. 10ms is due to the refresh rate and 2-3ms is due to the phosphor decay time. If you are using a different refresh rate you will need to calculate the display re-draw time using the following formula. 1000 / refresh rate = redraw time in ms e.g. 1000 / 70Hz = 14.29ms, As a final check you can copy and paste the lower sheet from the data analyzer into Microsoft Excel and enter a simple formula which will show any deviation from the expected redraw time for any sample. An example Excel sheet is shown below both with and without formulas exposed. Note all timings are in milliseconds. You could also make use of an external signal generator should you have one to hand. Event No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 L3 Onset 633.2375 643.2348 653.2313 663.2217 673.2403 683.2268 693.2468 703.2436 713.2409 723.2335 733.2524 743.2389 753.2477 763.2562 773.2455 783.2588 793.2584 803.244 813.2576 823.258 833.2565 843.2614 853.2788 863.2659 873.2694 L3 Offset 635.5425 645.5323 655.5789 665.5396 675.5842 685.5424 695.6041 705.5534 715.6021 725.5662 735.5957 745.5517 755.6005 765.5548 775.6226 785.5683 795.6201 805.5786 815.6067 825.5714 835.6093 845.5698 855.623 865.5759 875.6219 L3 Duration 2.305 2.2975 2.3476 2.3179 2.3439 2.3156 2.3573 2.3098 2.3612 2.3327 2.3433 2.3128 2.3528 2.2986 2.3771 2.3095 2.3617 2.3346 2.3491 2.3134 2.3528 2.3084 2.3442 2.31 2.3525 Redraw =B3-B2 =B4-B3 =B5-B4 =B6-B5 =B7-B6 =B8-B7 =B9-B8 =B10-B9 =B11-B10 =B12-B11 =B13-B12 =B14-B13 =B15-B14 =B16-B15 =B17-B16 =B18-B17 =B19-B18 =B20-B19 =B21-B20 =B22-B21 =B23-B22 =B24-B23 =B25-B24 =B26-B25 Min Max Mean SD Var Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. =MIN(F3:F26) =MAX(F3:F26) =AVERAGE(F3:F26) =STDEV(F3:F26) =VAR(F3:F26) The Black Box Toolkit Page 27 of 98 7.3. Adjusting sensor thresholds for optimum performance Before testing the timing accuracy of any paradigms running on a remote PC it is important to ensure that any sensors being used have their thresholds set correctly. For example if making use of the BBTKs digital microphones the trigger level, or “crossing threshold”, of these will need to be set so that a stimulus sound triggers the appropriate line reliably. To help ensure that the BBTK has been setup correctly a small utility program can be installed on the remote PC. Please consult the “software installation” section for details of how to do this. Also note that currently the “Sensor Check” software will only run on Microsoft Windows based platforms. Another small utility, “Sensor Threshold Check”, is automatically installed on BBTK host PCs. This is used alongside the main software to help aid in final tuning of the opto-detectors and microphones. Once installed the sensor check software on the remote PC contains features that are commonly found in paradigms in the behavioural and brain sciences. For example it can simulate a paradigm that involves simple visual reaction time, cross-modal priming or complex video based presentations. In short it enables you to simulate running a paradigm that contains many of the features of your own and enables you to alter sensor positioning and trigger thresholds quickly and easily. A screen shot of the sensor check utility running on a remote PC is shown below. Remember the remote PC is the one which will ultimately be running your own paradigm to be benchmarked. 7.3.1. Tutorial 1: Setting-up opto-detectors for monitoring visual stimuli As can be seen from the screen shot there are numerous 32x32 white blocks strategically positioned around the interface. To begin with you should check that the “Luminance Sensitivity Threshold” for opto-detector you wish to use is set correctly. Using the fixing strap position the opto-detector over the lower white block shown on the simulated TFT display. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 28 of 98 The Black Box Toolkit Next turn down the sensitivity as far as possible so that the activity LED on the toolkit is unlit. Then gradually increase the sensitivity until the activity light just illuminates. If you are using a CRT you may see the light flicker as the CRT beam redraws the screen or with a TFT it will be constantly lit. You should bear in mind that you may need to increase or decrease the brightness or contrast of your own monitor as well. Ideally all levels should be as close to those used in a real experimental setting as possible. As a final check you should run the “Sensor Threshold Check” on the BBTK host. This small utility virtualises the activity LEDs on the front of the BBTK and helps you fine tune sensitivity. Depending on which opto-detector you are using you should see the virtual LED illuminate (lines 3 and 4) and the decimal “Port Val” change. Note: Due to the high gain circuitry used within the opto-detectors it is possible to overload them if the sensitivity is set too high or they are positioned over a very bight area of the screen. This will be evident as the activity LED will remain constantly illuminated regardless of the sensitivity setting. To correct this disconnect power to the BBTK for a few seconds. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 29 of 98 In order to simulate a real paradigm you can select “Opto-detector|Flashing Block Test” on the remote PC. This will cause the white block to flash as near as possible to the chosen frequency. Once the stimulus block is flashing you may opt to capture timing data using the toolkits Digital Stimulus Capture software module. Once you are happy with sensitivity threshold you can begin to benchmark your own paradigm. As can be seen from the “opto-detector” menu many other tests are available: • Bitmap Test This is ideal if you want to test two or more opto-detectors. A bitmap followed by a black screen will be displayed alternately on the simulated TFT with a chosen frequency. The left and centre white block will flash at the chosen frequency, whereas the lower white block will remain constantly illuminated as it is superimposed onto both the bitmap and black screen. • • • • • • • • • • • • Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 30 of 98 • RSVP Test The Black Box Toolkit In the RSVP test two bitmaps are alternately displayed with the chosen frequency. One bitmap has a 32x32 white block on the left, with a black block on the right whereas the other bitmap has the reverse. One optodetector should be positioned over the left and right block. The central white blocks are displayed on every frame. Alternating activity between opto-detectors should be seen as alternate bitmaps are displayed at the chosen frequency. In the screen shot above we can see the simulated effect of two images being presented at very high speed. Where the first daytime woodland scene is replaced by a similar scene at sunset with a blurring effect. • Video Test In the video test a black and white block has been superimposed onto the lower right hand corner of a video stimulus. An opto-detector can be positioned over the block. In this case when a cyclist with a white jumper rides past the block will change from black to white and a tone will sound. In your own paradigms you could use the block to indicate the onset and duration of a stimulus. This could be picked-up by an opto-detector and responses could be detected using the optional toolkit response pad. This would ensure that you knew with absolute certainty where the stimulus occurred in the video relative to the response. Before you test the timing of your own paradigm you are advised to make use of the toolkit software to benchmark the sensor check utility to ensure you’ve correctly setup the sensors and adjusted the thresholds accordingly. You should bear in mind that the presentation timing of our utility may not be exact on your specific hardware. 7.3.2. Tutorial 2: Setting-up microphones for monitoring auditory stimuli The sensor check utility can be used to produce tones of various durations. These will be played through the default audio device on the remote PC. This is useful when adjusting the sensitivity of the toolkits digital microphone(s). You should begin by positioning one or more microphones next to the speakers or headphones of the remote PC. Next select one of the tone schedules from the “Microphone” menu. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 31 of 98 Depending on which schedule has been chosen a tone will be played and a white block will appear over any active speakers. This gives you the opportunity to test both microphones and opto-detectors simultaneously. You may want to make use of the “Sensor Threshold Check” utility on the BBTK host PC as previously outlined in relation to opto-detectors as its virtual LEDs will illuminate each time a sound is detected. In addition to altering the physical positioning of the microphones and tuning their trigger threshold you may also need to alter the volume of your own speakers or headphones. Again the Digital Stimulus Capture software module can be used to capture timing data related to the tones onset and duration. 7.3.3. Tutorial 3: Setting-up sensors for cross-modal stimulus materials The sensor check utility can help you setup sensors ready to benchmark cross-modal studies that make use of both visual and auditory stimulus materials. Two images are displayed alternately with a black screen every 500ms. The onset of each image is synchronised with a 500ms tone which should sound for the duration of the image display. Again white blocks are displayed to help aid in opto-detector positioning. The sequence will loop until stopped manually. To start the sequence, access the “Cross Modal” menu. You are advised to use the “Sensor Threshold Check” on the BBTK host PC as this will show activity on the four lines associated with visual and auditory activity. Again the Digital Stimulus Capture software module can be used to capture timing data related to the tones onset and duration characteristics. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 32 of 98 The Black Box Toolkit 7.3.4. Tutorial 4: Setting-up for active switch closure/stimulus-response active switch closure is where the toolkit controls one or more keys or buttons on your own standard response devices. Typically this may be a mouse button or key on a keyboard. Again the sensor check utility can help you check that any wiring is functioning correctly and that stimulus materials trigger a response from the toolkit. This is most easily accomplished using the “Input & Output Line Test” module running on the BBTK host. Once started this gives you the option to check that input lines/sensors are triggering the toolkit and that output lines are outputting and correctly interacting with your own devices. Once the line check module is running you should click on the “Output lines” – “Check” button. You can then click on an LED to latch the particular line on or off. For example line 8, one of the active switch closure lines, could be attached to the space bar of your own keyboard. When the LED is clicked the space bar of the remote PC should be held down for as long as the LED is latched. To test this you need to click on the large button to the left of the sensor check screen and hover the mouse in a stationary position. Each time line 8 is activated the key will light green, a white opto-detector block will be displayed and the keyboard event count will be increased. If you have attached an active switch closure lead to a mouse button make sure the mouse is kept stationary over the large button. Depending on which mouse button is activated a white opto-detector block will be displayed and the mouse event counter will be increased. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 33 of 98 In this example the left mouse button has been activated by the active switch closure line attached to the left button. Alternatively, lines 5 and 6 can be activated to latch the tone generators on or off. This gives the opportunity to alter the sensitivity of any voice keys that are being used as response devices on the remote PC. By using the Digital Stimulus Capture And Response (DSCAR) software module you can check that stimulus materials produce the correct response. Once a sequence has been constructed in DSCAR any of the stimulus materials presented by the sensor check module can be used to trigger responses. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 34 of 98 The Black Box Toolkit 8. THE TOOLKIT SOFTWARE SUITE 8.1. Using the menu system The toolkit menu system provides centralised control over the various modules of the software suite. Each software module is logically grouped in the tree structure shown to the left in the screen shot below. When a module name is clicked a short description of its function is given in the panel shown on the right. The description accompanying each module can be printed or copied to the clipboard. Along with detailed descriptions are references to academic papers and links to relevant websites. This should be your first port of call when making use of the toolkit. To start the menu select the toolkit folder from the “Start” button in Windows. Then click on toolkit menu icon. To start a module double click on the title in the left hand tree. 8.2. Digital stimulus capture (DSC) Using DSC together with the BBTK provides much the same functionality as an eight channel digital oscilloscope. Typically two lines are used for detecting screen events on the remote PC, two for detecting audio events and four additional lines are used if you are using the BBTK response pad [optional extra] as your response device. Powered-in lines that are typically used with BBTK microphones can also be used for passively detecting remote switch closures that occur on your own response devices. You can also use the two powered-in lines with the external opto-detector modules [optional extra] to provide up to four opto-detectors. Typically DSC is used to check for the onset, duration and synchrony of one or more stimulus types. The best way to illustrate the use of DSC is with three short tutorials. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 35 of 98 8.2.1. Tutorial 1: Measuring synchrony between visual and auditory stimulus presentation In order to measure synchrony between visual and auditory stimulus materials you will need to make use of one or more BBTK Digital Microphones [optional extra]. For this tutorial detectors are plugged into the following lines on the BBTK: • • line 1: BBTK Digital Microphone line 3: Opto-detector The paradigm on the remote PC is as follows: • • • • • 800x600 bitmapped stimulus image is displayed until a response is detected Audio tone is played for 1000ms The tone should be synchronised with the first frame of the visual presentation After a response there is a 1000 ms wait period in which feedback is displayed Screen resolution is 800x600 at 100Hz Using DSC we can check the following timings: • • • • Whether the tone is played for 1000ms Whether the bitmap and tone are synchronised Whether there is a 1000ms wait period after a response Whether the refresh rate is 100Hz Armed with accurate timing information we can reduce or increase the duration of the bitmap or tone so that it is displayed for the correct amount of time. We can improve the synchrony by moving either stimulus onset forward or backward. Remember we will be detecting both the timing error within the paradigm and also within the hardware being used to present stimulus materials, e.g. the sound card and speakers. An overview of the expected experimental sequence is shown below. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 36 of 98 The Black Box Toolkit Setup: • • An opto-detector is fixed to the centre of the screen on the remote PC. A 32x32 pixel white block has been superimposed in the centre of each bitmap to aid detection (line 3) A BBTK Digital Microphone is placed next to the relevant speaker (line 1) – sensitivity should be adjusted so that a sound just triggers the microphone and causes the LED activity light to illuminate Once DSC has started by selecting “Tools|Options” we can set the sample time limit to 30,000ms (30 seconds). Then we choose a filename. Finally we click on the run button. At this point we are presented with a “press space to start” dialog box. The paradigm is started on the remote PC and is left at the instruction screen. Next space is pressed on the BBTK host PC and then immediately after the start key, e.g. space is pressed on the remote PC running the paradigm. To move on to the next trial we manually press the ‘b’ key on the remote keyboard to register a response. This is done after the tone has been fully played. Note the keyboard needs to be far enough away from the BBTK microphone so as not to activated by mistake with a key click sound. Once 30 seconds has elapsed the DSC will display summary statistics showing details about the sample rate and data file size etc. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 37 of 98 We can now use the Data Analysis module to check synchrony and other timings obtained from the remote PC. Once we have loaded the RTL file into the data analyser we can see that the tone was played consistently for 40 to 41ms longer that it should have been (line 1). This presentation timing error may be attributed to the experiment generator used, the remote PC, the soundcard, the amplifier and speakers or a combination of all these factors. Next we can measure the synchrony between the onset of the image and the tone. The onset of both events should be identical. We do this by bringing up two moveable cursors Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 38 of 98 The Black Box Toolkit and measuring the distance between lines 1 and line 3. Below we can see that the audio was played later than intended (line 1). It was actually late by 3 refreshes (line 3) or some 27ms (M) if you take the timings to the opto-detector positioned mid screen. Our final measure is to check that there was a 1000ms delay after each trial before the next commenced. Here we can see that the actual delay was 56ms longer than expected (6 refreshes at 100Hz). Accurate timing measures this give us the opportunity to alter the paradigm so that it more closely matches our conceptual understanding. We may decide to reduce the duration of the tone by 40ms in a sound editor if using a sound file. Thus when presented the duration will be exactly 1000ms as intended. We could insert three black screen bitmap displays before the visual stimulus begins. This would in effect move the onset of the real visual stimulus back by 30ms so as to more closely synchronise with the start of the audio. We could also decrease the wait period by 60ms to account for the additional 6 refreshes. The wait period would then be as close to the intended 1000ms as possible. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 39 of 98 8.2.2. Tutorial 2: Rapid serial visual presentation (RSVP) Typically RSVP involves making use of a PC as a pseudo tachistoscope where images are presented in rapid succession with primes and masks contained in the sequence. For a PC to successfully be able to present RSVP sequences ideally the software one is using should be able to present a different image on each refresh or frame. For example, at a refresh rate of 100Hz, that would mean one every 10ms. For a TFT running at a nominal 60Hz that would theoretically be one every 16.66ms. In this tutorial an experiment generator has been programmed to display 8 bitmapped images in rapid succession. Each image was programmed to be displayed for 1ms. This theoretically should mean that a new image should be displayed on each refresh. Again all images have three 32x32 pixel blocks superimposed on to them. The left and right blocks on the images alternated between black and white. White blocks should be easily detectable by the opto-detectors whereas black would not. Two opto-detectors attached to the screen of the remote PC (lines 3 and 4) were positioned over where alternative white blocks would appear. Sensitivity should be adjusted so that a white screen just triggers the opto-detector and illuminates the activity LED. Alternatively if using the adjustable fixing straps the white and black blocks may be offset slightly. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 40 of 98 The Black Box Toolkit After DSC has captured a sequence of presentations it is immediately evident that presentation rates are seriously flawed. On line 3 we can see a bitmap being displayed and activating the left opto-detector. On line 4 we can see another bitmap activating the right opto-detector. As can be seen the second bitmap appears 6 refreshes after the first rather than on the very next refresh as instructed to. Simply there should only have been 10ms difference at 100Hz! Theoretically a typical TFT would have faired worse due to its nominal 60Hz refresh. Hence the delay would likely have been at least 99.96ms rather than 16.66ms. Without use of the BBTK it would be very difficult for the researcher to ensure that a paradigm is presenting RSVP sequences as intended. 8.2.3. Tutorial 3: Using the BBTK response pad with DSC with a paradigm that involves visual and auditory presentation Using the BBTK response pad [optional extra] opens up intriguing possibilities for using stimulus materials notorious for producing poor timing, e.g. video clips where a small white block could be unobtrusively superimposed onto the video to act as a marker for the optodetector. However in this example we are making use of the audio/visual synchrony check outlined in tutorial 1. This time however we are using DSC with the BBTK response pad in order to register exact reaction times relative to any stimulus material. The equipment setup is identical to that described in tutorial 1 bar that the BBTK response pad is being used. An active switch closure lead from the pad is tacked to the back of the ‘b’ key on the keyboard. As a result when the pad button is pressed this will also close the ‘b’ key which will simultaneously be registered by the experiment generator being used. Before we begin we need to tell DSC that we will be using the BBTK response pad. Do this from the “Tools|Options” menu and select “Yes” from “Capture from “BBTK response pad” menu. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 41 of 98 When we run the paradigm on the remote PC we not only obtain information about audio and visual synchrony but also exact timing data on when the response pad button was pressed and how long it was held down for. This gives us the option for measuring response time from either stimulus type’s leading edge. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 42 of 98 The Black Box Toolkit Here we have taken the response time from the start of the visual presentation on line 3 to the leading edge of the response pad button on line 7. The resulting response time is 1,643ms (M). We can also measure how long the button was held down for, in this case 302ms (M). 8.3. Event generator (EG) The Event Generator module can be thought of as an advanced four channel digital signal generator. Events on any line can be varied at will in terms of onset and duration. Lines can be used independently or together as a group. Up to 32,000 events can be programmed on each line. Typically the two powered-out lines are used for generating tones using the BBTK Digital Tone Generators [optional extra] and the two further lines are used for active switch closure. The Event Generator can be used to trigger response devices on the remote PC as though a human had pressed a button or activated a voice key. This allows you to check response times and durations for both button down and auditory responses. Alternatively EG can be used to simulate a regular pulse, e.g. the synch pulse from an fMRI scanner. This latter application allows you to check your paradigm as if physically linked to the real hardware. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 43 of 98 The best way to illustrate the use of EG is with three worked tutorials. 8.3.1. Tutorial 1: Simulated auditory response and duration measurement using a voice key In this example we want to generate simulated audio responses using the BBTK Digital Tone Generators. Ideally before we start we would check that we had adjusted the pitch and amplitude of each tone generator so that it was at an acceptable level. Do this by pressing “F3” to bring up the “Output line Check” box – simply click the LED on/off for the line you wish to check. Alternatively select “Tools|Output line Check” from the menu. Finally we would place the unit near to the microphone on the remote PC and check that it triggered as intended. BBTK Digital Tone Generator Frequency Adjustment Amplitude Adjustment In this example we are going to use a Tone Generator plugged into powered-out line 5 of the BBTK. At first glance the layout may seem complex. However, we only need to make use of the four “Port Value” LEDs in the upper grid together with a duration entry. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 44 of 98 The Black Box Toolkit As the Tone Generator is connected to line 5 we click on the far left LED to indicate that we want it in the “on” state. As we click on one or more LEDs the port value will change. Once the LED for line 5 is illuminated we can enter the duration we want it to stay on for. In the example shown we have chosen a 1000ms. To enter the event into the schedule (or program) we click on “Append Row”. Note that the status of each line is indicated by a 1 or 0, for on or off repectively. The decimal port value along with the duration is also shown. The sequence begins at 1000ms after being started. Here we can see that our first event begins at 1000ms and finishes at 2000ms. If we wish to change the default 1000ms offset select Tools|Options from the menu bar. Usually we define a sequence with a series of on and off events. So next we need to add an off period to the sequence we are constructing. Ensure that all LEDs are off then add an off duration of 5000ms. Here we have added three “on” events, each of which will make the Tone Generator sound for exactly 1000ms. Each event is separated by a 5000ms silent “off” period. We can see that the total run time will be 19,000ms. We are also free to edit the sequence should the need arise. Select the row you wish to edit from the lower sequence grid and click on the appropriate “Event Controls” button. Once we have saved the sequence and chosen a Real Time Log file we can click on the “Run” button. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 45 of 98 We will then be prompted to press space to start the sequence. Before you commence you should ensure that the remote PC is ready to go by taking the appropriate action. When the run is complete various summary statistics are displayed. We have the option of saving these if we wish. Here we achieved a sample rate of 68.5kHz and collected some 1.3 million samples during 19 seconds of run time. Once the sequence has completed we can analyse the resulting 29Mb file by loading it into the Data Analyser. By examining the activity on line 5 we can see that the three “on” events were generated as intended. We can check the onsets, offsets and durations using the cursors. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 46 of 98 The Black Box Toolkit By measuring the first “on” event we can see that it lasted exactly 1000ms as intended. By comparing the sequence generated with that recorded by the remote PC we can calculate the amount of timing error. 8.3.2. Tutorial 2: Simulating the TTL synch pulse from an fMRI scanner It can be useful to simulate TTL pulses that an fMRI scanner produces. These can be used to check that they are being recorded and acted upon correctly by third party hardware and software running on a remote PC. By default TTL pulses generated can be very short in duration, e.g. 0.005ms (Philips Intera scanner). However, it is assumed that most researchers will have increased the dynamic pulse width to around a millisecond or above as this can easily be accomplished in the scanner software. Using the Event Generator we can simulate TTL pluses that are a millisecond wide. We start EG as normal but as we may want to generate a sequence of pulses that may consist of hundreds of events we wouldn’t wish to define each one individually. This is where we can make use of the “Auto Sequence Generator”. To use this utility press “F2” or click on “Tools|Auto Sequence Generator” from the menu bar. To use the generator we need to know several pieces of information. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit • • • Page 47 of 98 How many events we wish to generate in a sequence – remember we need to include the off periods as events too The decimal port value for a given event. We can determine this by clicking on the LEDs and making a note of the decimal port value The duration of each “on” and “off” period in milliseconds In this case assume that we are simulating a scanner that generates pulses every 1993ms. So pulses that are a millisecond wide might be generated at 1993, 3986, 5979, 7972, 9965ms and so on. So we would need to create an “on” event which lasts for 1ms and occurs every 1993ms. To do this we would need to enter the following values into the generator. Here we are using line 5 (powered digital output) to simulate the scanner TTL pulse. This line has a decimal port value of 128. Note: you must enter an even number of events you wish to generate (250 in the example). Once you have filled out the table click on “Apply” then “OK”. When you click on “Apply” the completed sequence will appear. Here we can see that a 1ms pulse occurs every 1993ms. Finally we specify a Real Time Log file and run the sequence. When we run the sequence we should ensure that our remote PC is ready to accept our TTL pulses. Typically a remote PC would accept pulses using it parallel port or dedicated interface board. You should also be aware that creating long sequences will take up at least 60Mb of hard drive space per minute of runtime and that the resulting RTL files will be slower to analyse. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 48 of 98 The Black Box Toolkit When we analyse the RTL with the Data Analyser we can see the 1ms wide pulses were generated every 1993ms as indicated by the measurement cursors. By comparing sync times and pulse widths recorded by the remote PC we can evaluate its accuracy when syncing it with an fMRI scanner. 8.3.3. Tutorial 3: Using two BBTKs to simulate an fMRI scanners operation By making use of two BBTKs one could be used to simulate an fMRI scanners sync pulse with the second being used to check the timing of the remote PC hardware and software paradigm. Typically you would do this by utilising the DSC software module together with a BBTK response pad. Line 8 from the first BBTK would be split and connected to the parallel port or specialist board of the remote PC to simulate the scanner sync pulse. The second split would be connected into line 1 (Powered-In) of the second BBTK. A BBTK Digital Microphone could be connected to line 2 on the second BBTK. A single opto-detector could be connected to line 3 on the second BBTK. Remember a second opto-detector remains free on line 4 should we wish to check RSVP stimulus materials alongside audio. Finally the BBTK response pad is connected to the custom 9-way port on the rear of the BBTK. An active switch closure flying lead from the appropriate button of the response pad could then be connected to the response device on the remote PC. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 49 of 98 This type of setup is illustrated by the schematic below. In order to test the presentation and response timing of the remote PC, BBTK No 1 would generate a 1ms wide pulse every 1993ms exactly matching a real fMRI scanner. This pulse would be simultaneously fed into the remote PC and also into BBTK No 2. BBTK No 2 would run DSC in response pad mode and would detect stimulus images together with any auditory materials presented by the remote PC (as would a subject in the real scanner). The researcher would mimic a subject and respond to either an image or audio presented by the remote PC paradigm. Reponses would be made using the BBTK response pad. The active switch closure lead would simultaneously close the response device on the remote PC. By using a setup like this we can check all aspects of the remote PC’s performance in terms of: • • • • • Scanner sync pulse registration Visual stimulus display onset, duration and offset Auditory stimulus onset, duration and offset Synchrony between visual and auditory stimulus materials Response time and response duration By comparing the times with those recorded by the remote PC we can detect any timing discrepancies. When we examine the RTL data captured by BBTK No 2 we would be able to examine exact timing data for all events. A simulated trace is shown below. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 50 of 98 The Black Box Toolkit In the example shown, line 1 is the simulated fMRI pulse produced by BBTK No 1. Line 2 shows audio detected coming from the headphones of the remote PC. Line 3 shows the properties of the image displayed on the remote PC. Line 5 shows the response made on the BBTK response pad. By using the measurement cursors you can obtain exact millisecond timing between two events on any line. Note: If you wish to use the toolkit in a scanner room you will need to contact us to discuss options for sensors as the standard kit is not suitable for use in a live MRI environment. 8.4. Digital stimulus capture and response (DSCAR) DSCAR combines the features of the EG and DSC modules to provide four input and four output lines. A bank of simulated responses can be setup with between one and four lines being defined as active during each response. A set of trigger event(s) can then be defined which need to be detected before a response with known timing characteristics is simulated and fed into a remote PC. You are free to alter the delay after detecting any trigger event(s) and vary the duration of the response as you see fit. This is the essence of the notion of a virtual human. DSCAR can be used to check both stimulus and response timings with sub-millisecond accuracy. By comparing what was recorded this gives you the opportunity to fine tune the paradigm to improve presentation and response timing accuracy. DSCAR is actually made up of two programs. The first is used to define the characteristics of the “virtual human”. That is, which events will be reacted to and what responses will be simulated. The second is used to run the sequences that have been designed. The best way to illustrate the use of DSCAR is with a simple worked example. A more expansive tutorial is given in the case study section where the effect of using various response devices is examined in terms of presentation and response timing error. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 51 of 98 8.4.1. Tutorial 1: Examining the response time error caused by using a mouse for response registration In this tutorial we want to discover the response time error that is attributable to using an unknown mouse as a response device. To do this we utilise a simple reaction time paradigm run on the remote PC in which a subject has to respond to the appearance of a visual stimulus as quickly as possible by clicking the left mouse button. The stimulus then terminates and a black screen is displayed for 1000ms before the next stimulus is displayed. If we simulate a response 300ms after the BBTK detects the image then we would expect the response time recorded by the paradigm to be 300ms. In other words 0ms difference in terms of observed - expected. To check timing, a standard opto-detector is plugged into line 3 of the BBTK and attached mid screen of the remote PC using the adjustable strap. An active switch closure flying lead is tacked to the left mouse button micro-switch. The other end of the lead is plugged into line 7. This means we have a way of both detecting a stimulus and responding to it. For more details of the physical setup please refer to the detailed case study in the next section. To define the sequence of response and trigger events, DSCAR is started in design mode. The interface is divided into two main spreadsheet grids. The upper allows you to define a “Bank of Simulated Responses”. These are reusable response events where any response event can be called upon when needed. Up to 32,000 possible response events can be defined. An event can consist of simulated activity on one or more digital out lines. This could be an active switch closure, Tone Generation etc. The lower sheet allows you to define the patterns of events you wish to detect before generating a simulated response taken from your response bank. Both sheets can be saved independently and reused later. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 52 of 98 The Black Box Toolkit In the case of the simple visual reaction time paradigm we are about to test we only need create one simulated response. That is, the active switch closure event that will simulate a human pressing the left mouse button. To do this we select “on” for line 7 in the upper sheet and enter a duration of 150ms. This means that we have created a response event on line 7 that simulates pressing the left mouse button and holding it down for 150ms. Once we are happy with the response event we click on the “Append Row” button to enter it into the bank. If we need to edit any of the response events in the bank select the row concerned and make use of the “Insert”, “Replace” and “Delete” row buttons. Once we are happy with the response bank we save it. The next stage in the process is to define one or more “Stimulus Pattern Matches”. These are patterns of event(s) that must occur on the remote PC in order to be responded to in a predefined way. You should think carefully about sequencing as DSCAR responds to events in sequence by looking at the current “Stimulus Pattern Match” event. So it will start to look for a pattern that matches the first SPM, if it detects one DSCAR will respond and then move on to start looking for the second SPM event and so on. If an event match is not detected the list of SPM events will not be progressed through as intended. This means you need to think about the sequence in which a real human would have to respond and then define the events accordingly. Here we are defining that we need to watch for an SPM on line 3 (the opto-detector). To accept this as a SPM to watch for we click on the “Add SPM PV” button. Next we need to enter the “Delay”. This is the elapsed time we want to wait after detecting the matching stimulus before generating a simulated response from the response bank we defined earlier. In this case we want a delay of 300ms which corresponds to the average response time of a real human in this type of experiment. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 53 of 98 We have now defined an event on the remote PC which we will “watch” for. If we see this stimulus event occur, DSCAR will wait 300ms before simulating a response. Finally we need to associate this stimulus event with a predefined response event from our bank. To do this we simply choose a response event from the drop down box. In this case we have chosen event one from our bank of possible responses. The first number refers to the response ID, the next is the binary state of the four digital output lines, the next is the port value in decimal and the final number is the response duration in milliseconds. Once we are happy with the definition we click on “Append”. Again we are free to edit rows as we see fit. In the example shown we have pressed the “Append Row” button 10 times. In this case we are going to look for a sequence of 10 bitmap presentations on the remote PC using the opto-detector on line 3, wait 300ms after detecting the image onset and respond to each one with a mouse down event that lasts for 150ms. As we detect each stimulus we will move through the list of event IDs in the sequence. It is important to remember that we are free to change both what we “look for” and what response we make on an event by event basis. We are also free to add up to four SPMs on any single presentation. For example we may decide to respond to detecting either a bitmap presentation OR an auditory tone. We would do this by selecting “On” for line 1 as well. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 54 of 98 The Black Box Toolkit We do this by selecting either of the lines we wish to be active and then add them by clicking on the “Add SPM PV” button. We must do this after defining the state of each of the four lines – we would need to ensure line 3 was set to off! If we selected line 1 and line 3 to be “On” and then added them this would mean we wanted both lines to be active rather than either OR. In short this would AND them together as shown below. As can be seen this combination gives different port values and as a result DSCAR would be looking for a different stimulus to respond to. In the first example this would be a bitmap OR a tone. In the second a bitmap and tone at the same onset. In the latter case a response would only be made when both stimulus types (or lines) were perfectly synchronised and active. When DSCAR runs all stimulus and response activity is logged into a Real Time Log file for later analysis. Once we are happy with our definitions we can save the sequence to disk, close the design-time version of DSCAR and switch to the runtime version using the toolkit menu. The runtime version of DSCAR is shown below. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 55 of 98 Before we can run the sequence we need to select a Realtime log file into which we store captured stimulus presentation and response timing data. Do this by selecting “File|Save Realtime Log As…”. Finally before starting the sequence you should enter a time limit for the run. This needs to be done because we are running in realtime scheduling priority under Windows and the only way to stop DSCAR is by defining a run time limit or ensuring that all the stimuli being watched for are presented to that the end of the sequence is reached. In this example we have entered 30 seconds. Select “Tools|Options” to do this. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 56 of 98 The Black Box Toolkit Once we are happy with all the settings we can run the sequence by pressing “F5” or by clicking on the run button. We should also start the paradigm on the remote PC at this point. Once both are running stimulus presentations will be automatically detected and responded to. Once the sequence has been run through on an event by event basis we can analyse the log using the Data Analysis module. In this case we are interested in the contribution made to response timing by the particular mouse in question. Before we begin to check the response time recorded we should first check that responses were simulated reliably with an offset of 300ms after the opto-detector detected the stimulus image onset. Looking at the whole sequence we can see each stimulus image being displayed on line 3 and each simulated response occurring on line 7. By using the measurement cursors and zooming in we can check the simulated response time of each event. Here we can see that the simulated response event occurred at exactly 300ms after the onset (leading edge) of the first refresh of the stimulus image. Now that we have double checked the responses were simulated as intended, we can check response times recorded by our paradigm running on the remote PC. How you do this will vary depending on which Experiment Generator you are using or if running your Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 57 of 98 own software how you have chosen to structure your data files. In this hypothetical scenario in we could use E-DataAid that ships with E-Prime. To analyze response time error we can copy the relevant column into Excel, in this case we would copy all “StimDisplay.RT” data. We can already see that response times are longer than the 300ms that was simulated after each stimulus image. Once in Excel we easily manipulate the data in order to calculate the actual response time error. In the case of the mouse used in this example the contribution it made to response time is very large in absolute terms and high in variability. This may make for a poor choice of response device as a result. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 58 of 98 The Black Box Toolkit 8.4.2. Tutorial 2: Exporting a predefined sequence from the design-time DSCAR module Once a sequence has been designed in the design time module of DSCAR we have the option to export it as a standard HTML or Microsoft Excel format file. This may be useful when documenting what aspect of timing accuracy was examined. Do this by selecting “Export” from the file menu. Below we can see how the exported HTML file looks in a browser. The example shown here is from the case study section of the manual. Remember only the completed lower sheet will be exported. Also note there is no way to import saved sequences. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 59 of 98 Alternatively from the “Export” menu the same sequence can be exported as a standard Microsoft Excel file. Below we can see the same data displayed in Microsoft Excel. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 60 of 98 The Black Box Toolkit 8.5. The data analyser (DA) All software modules stream timing data into Real Time Log (RTL) files. The Data Analyser allows post-hoc examination of the timing data and allows you to get an overview of events that occurred on any of the eight lines against a constant time base. Two free moving cursors let you accurately measure the timing difference between any two points. A spreadsheet view is also available and aids in exact timing measurement. Note: The Data Analyser should not be running when you collect data as it pre-allocates a large amount of memory and is extremely processor intensive when analysing data files. To load a RTL file click on “File|Open” from the menu bar or use the open file icon from the toolbar. As the file is loaded and analysed a progress bar will display the loading status. Note: It is important to note that many millions of samples may need to be analyzed before the plot and summary statistics can be displayed. The speed at which the data can be loaded is highly dependent on the number of samples and ultimately the speed of your PC. However as the Data Analyser is multi-threaded it can be minimized and left to get on with its job whilst you do something else. Once all data has been loaded the plot will be drawn and spreadsheet completed. In the example screen shot above we can see that a stimulus image has been detected on line 3. We can see that it begins at 1,821ms into the run and ends at 2,196ms and stays on screen for 375ms. We can also see that an active switch closure response was Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 61 of 98 simulated on line 7, 300ms after the leading edge of the visual stimulus display. This is the “M” measure or the distance between the green cursor (A) and red cursor (B). Note: The example above shows data collected when monitoring a TFT which has no traditional refresh and so opto-detector traces are not made up as a collection of short pulses where the opto-detector is illuminated as the beam of the CRT passes on each refresh. The best way to demonstrate use of the Data Analyser is with an in-depth tutorial. 8.5.1. Tutorial 1: Using the Data Analyser to check for visual stimulus duration In this tutorial we want to discover how long a visual stimulus was displayed on a remote PC. Ideally the bitmap would have appeared for 300ms. In this example a TFT is being used on the remote PC and we do not need to be concerned with screen refreshes as we might with a standard CRT. We are specifically interested in line 3 as it displays the trace from one of the optodetectors. We can clearly see that a series of visual presentations on the remote PC was detected during a 30 second run. The status bar indicates that approximately 1.5 million samples were collected giving a sample rate of 49.70 samples per millisecond or 50kHz. The current time and date are shown to the right of the status bar. The X-axis scale is always in milliseconds and will initially display the whole run. On the Y-axis each of the eight lines are shown with line 1 at the top and line 8 at the bottom. Lines 1 though 4 show Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 62 of 98 The Black Box Toolkit events that have been detected. Lines 5 through 8 show events that were generated by the BBTK and fed into the remote PC to simulate a human making a response. 126.96.36.199. Analysing visual stimulus event data obtained from monitoring a TFT At this point we have two options. One is to make use of the spreadsheet for analysis and the other to make use of the two measurement cursors. Because we are using a TFT as a display device this offers discrete on and off timing measures together with a constant on period (with no refresh). As a result we can simply examine the timings for the relevant line in the lower spreadsheet view. When we examine line 3 we can see that display times for each image presentation varied between 363ms and 375ms. Obviously this is significantly longer than the expected display time of 300ms. 188.8.131.52. Analysing visual stimulus event data obtained from monitoring a CRT However, if we were using a standard CRT the duration column would show the duration of each refresh rather than the total image duration. In the standard CRT example shown below we can see each refresh occurring at 10ms intervals (1,255-1245=10ms) indicating the monitor was being driven at 100Hz. The duration gives an indication on the phosphor decay time which in this case is around 3ms. You should be aware that the duration time can be effected by the brightness of the screen and the luminance sensitivity threshold settings of the BBTK. Typically we would use the measurement cursors in order to find out exactly how long the image stimulus had been displayed. You also have the option to analyse the spreadsheet data further should you wish. By right clicking anywhere on the plot a pop-up menu will appear. If you click on “Measure” two cursors will be activated. These can be used to directly compare timings between two points anywhere on the plot. When you bring up the cursors initially you should do so when the full extent of the plot can be seen. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 63 of 98 The green cursor is A and the red cursor is B. The distance between them is “M”. All measures (in milliseconds) are shown in the status bar as well as the upper status area. Cursors can be dragged with the mouse and positioned roughly in place with the in-built “snap to sample” feature. Generally the green cursor is used to define the leading edge on one line and the red the trailing edge on another. Note: The “snap to sample” feature is only an approximation and you should always zoom in and make precise final adjustments to each cursors position on the plot as described below. Failure to do so may affect the precision of the measurement between the two cursors. Once you have roughly snapped to a sample you should do a final exact position by right clicking and selecting “Zoom In”. In zoom mode you can click and drag over the region you want to zoom into. This will be indicated by white dashed vertical lines. When the mouse is released the region will be enlarged and will fill the whole graph area. You are free to zoom in as many times as required to get exact positioning. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 64 of 98 The Black Box Toolkit In the screen shot below the cursors have been positioned exactly on the leading and trailing edge of the bitmap display (opto-detector centre screen on line 3). On line 3 we can see each refresh of the bitmap display (35 refreshes). We can see the exact position of the cursors by looking at the upper or lower status bar. The green cursor A is positioned at 1245ms on line 3 and the red B cursor at 1598. This gives an elapsed time between the cursors of 353ms. This is the M measure. As the opto-detector was positioned mid screen we should remember that the actual time is for mid-screen to mid-screen. If we used a frame-by-frame full-screen measurement the duration would have been 360ms as we would need to account for the theoretical 5ms before and after the leading edge of the opto-detector being triggered. This is because the screen must be redrawn as a whole. These periods are indicated by the troughs between “on” periods in the graph. In the screen shot above we have dragged the green cursor -5ms from the leading edge of the first image being detected. This represents the top of screen position on the first refresh of the image being displayed. The red cursor has been dragged +5ms from the leading edge of the last sample. This represents the bottom of screen position of the last refresh trace of the stimulus image display. As can be seen the M measure matches the theoretical 360ms which is based on 36 refreshes of 10ms each when a monitor is driven at 100Hz. When using a CRT, corrections such as these need to be made as if an optodetector is positioned mid screen, there will always be a delay before the top of screen redraw reaches the sensor and again from the sensor position to the bottom of the screen. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 65 of 98 8.6. Switching graph background colour On many occasions it is useful to switch the background colour of the graph, e.g. before we save the plot as a Windows BMP file. To change the colour select “View|Graph Background Colour|White” from the menu. 8.7. Labelling lines with your own terms When checking the timing of a paradigm it is often useful to label lines to make them more meaningful and relevant. This helps when re-analyzing data at a later date. To label your lines select “Tools|Label lines” from the menu bar. The following dialog will then appear. In the text boxes to the left enter short descriptions that are relevant to your own tests. In the example below we have labelled line 7 (L7) as “L7: My standard mouse” and L3 as “L3: NEC 17” CRT @ 100Hz”. To accept the line labels we click on OK. These are then automatically saved with the RTL file and displayed on the Y-axis of the graph. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 66 of 98 The Black Box Toolkit 8.8. Making and viewing notes It is often useful to make notes as well as labelling your own lines when carrying out data analysis. To make a note hit CTRL+N or select “Tools|Notes” from the menu bar. A small note size window will then appear. If any notes exist they will be displayed or you are free to start creating your own. You can cut and paste from the clipboard if required either by using the standard Windows shortcut keys or by using the menu which is available when you right click. When you click on OK the note will automatically be saved as an RTF file (Rich Text Format) along side your RTL file. It will have the same filename but with an .RTF extension Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 67 of 98 and will be stored in the same folder. You can edit notes in document processing packages such as Microsoft Word etc. It is strongly advised you label lines and make copious notes as you carry out data analysis to aid you should you revisit the raw data at a later date. 8.9. Copying plots and data to the clipboard When writing-up studies it is often useful to copy and paste plots into documents. By selecting “Edit|Copy Plot to Clipboard” you can copy the current plot view to the clipboard. This can then be pasted this into any Windows application that accepts bitmaps. You can also copy data from the spreadsheet and paste it into packages such as Microsoft Word or Excel. To do this select “Edit|Copy Selected Cells to Clipboard” and then paste into your chosen package. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 68 of 98 The Black Box Toolkit 8.10. Saving plots as standard Windows WMF or BMP files The current plot view can be saved as a standard Microsoft Windows bitmap (BMP) or Windows Meta File (WMF) for use in other packages. To save a plot as a bitmap select “File|Save Plot As…|Bitmap” then choose the appropriate location and filename. Alternatively choose “File|Save Plot As…|Metafile” to save as a Windows Metafile (WMF). You should note that WMF files are much higher resolution than bitmaps and that not all packages can handle them correctly. We recommend JASC Paint Shop Pro 8.0 or higher. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 69 of 98 8.11. Exporting the spreadsheet to Microsoft Excel or an HTML file You can export the lower spreadsheet to a Microsoft Excel file (.XLS) by selecting “File|Export|To Excel File…” then choose the appropriate location and filename. Excel files will be exported in the BIFF 8 format, which is the format used by Excel 97. All current versions of Excel can read this format directly. Alternatively you can highlight the range of cells you are interested in, copy them to the clipboard (CTRL+C) and paste them into Excel (CTRL+V). To export as standard HTML select “File|Export|To HTML File…” then choose the appropriate location and filename. You should bear in mind that both files will be quite large as you are exporting all 32,000 rows and 25 columns. This equates to 800,000 cells! Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 70 of 98 The Black Box Toolkit 8.12. Shortcut keys used in the data analyser Various shortcut keys help you work faster. These are summarised below. F2 F3 F4 F5 CTRL+N Zoom – click and drag between two points on the plot. Pan – click and drag the plot to pan left or right. Measure – brings up the green (A) and red (B) measurement cursors. These will appear bottom left of a full sequence. If you are zoomed in you may not see them and will need to hit F5 first. Replot – redraws the plot so that the whole sequence is in view. Useful just before you bring the measurement cursors up Notes – you can make typewritten notes regarding any aspects of the current data file. These are saved along with the data file and can be edited using a standard RTF editor, e.g. Microsoft Word or Wordpad. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 71 of 98 9. STEP-BY-STEP CASE STUDY 9.1. Using the Black Box Toolkit to investigate the effect of using several different mice as response devices in a simple visual reaction time paradigm The best overview of the Black Box Toolkit is one where it is actually used in the field. The case study outlined is a replication of work published by “Plant, R.R., Hammond, N.V. & Whitehouse T. (2003), How choice of mouse may effect response timing in psychological studies, Behavior Research Methods, Instruments and Computers 35(2), 276-284”. Here the researcher wants to know the contribution that a given response device has on their paradigm in terms of presentation and response timing. In this example E-Prime is being used, although any Experiment Generator would be likely to produce similar results. The paradigm itself examines simple visual reaction time. A remote PC running E-Prime displays a stimulus image and waits for a response via the mouse. Once a response is detected the image terminates and the paradigm then displays a black screen for 500ms before displaying the next image in the sequence. remote PC running E-Prime • E-Prime 1.1 SP3 (www.pstnet.com) • 800x600 16bit colour on a CRT monitor run at 100Hz (10ms screen redraw) • 8x 800x600 bitmaps, 2 runs of 8 trials (not randomised) • NEC 19” monitor running at 100Hz (verified) • Windows 2000 SP4 with Direct X 9.0a • Athlon 900Mhz with 128Mb 133 SDRAM • ATI Rage graphics card with 16Mb • 30Gb Hard Drive • AC 97 on-board sound (note E-Primes voice key connects to its own serial response box) • Various response devices: o PS/2 AMI mouse o PS/2 OEM “unbranded” mouse o PS/2 cherry 102 key keyboard o E-Prime deluxe four button response box o E-Prime microphone/voice key Host PC running the Black Box Toolkit • 1800 Athlon XP with 512Mb DDR RAM • Windows 2000 SP4 • Standard parallel port (IEEE 1284) running in EPP 1.9 (switchable in the BIOS between 1.7/1.9 modes) • The IEEE 1284 version of the Black Box Toolkit (parallel port) • 1x BBTK Tone Generator (3.5mm jack) • 5x switch closure leads soldered to the primary button/key of the response device on the remote PC (2.5mm jack) Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 72 of 98 The Black Box Toolkit The host and remote PCs were setup in as illustrated in the schematic below. A BBTK Tone Generator was attached to line 5. This was adjusted to give a clear and sharp signal at a reasonable volume. The E-Prime button box script was used to check this triggered the voice key correctly. Using the “active switch closure” leads that come with the BBTK the bare ends were soldered to the primary button of each response device, e.g. button 1 of the PST response box, left button of each mouse, and the “B” key on the keyboard. The 2.5mm jack plug at the other end of the lead was then be plugged into the line 7 on the BBTK (active switch closure) as each device was tested. The BBTK opto-detector (line 3) was attached centre screen on the remote PC. This was perfectly aligned to the position where a 32x32 pixel white block had been superimposed on each bitmap. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 73 of 98 The BBTK DSCAR (Digital Stimulus Capture And Response) software was programmed to act as a virtual human with the following characteristics: 1. Watch for a visual event on line 3 (the opto-detector) 2. After detecting the leading edge of a visual event wait 300ms (about average for a human subject) 3. Generate a key down event (switch closure) on line 7 that lasts for 150ms (about average for a human subject) The actual DSCAR sequence can be seen below. Note that a total of 16 visual events are being “watched” for. This sequence will work for any device that makes use of a switch closure, i.e. mice, keyboard, button box. Details on the sequence for activating the voice key are given later. The DSCAR sequence is pretty straightforward. We only wish to make one kind of response. That is, a switch closure on line 7 with a “key down” duration of 150ms. This is shown in the upper “BSR” spreadsheet. In this case we are only making use of one response on several occasions from a bank of 32,000 possible responses. Next in the lower sheet we have added 16 event patterns to watch for in the “SPM” spreadsheet. For each event we have told DSCAR to wait for 300 milliseconds after detecting the leading edge of an event on line 3. Once detected, the predefined response will be generated. In this case the response is a switch closure on line 7. This will have the effect of pressing the left mouse button at exactly 300 milliseconds after the image appears and holding it down for 150ms. One would therefore reasonably expect the paradigm to record a response time of 300 milliseconds. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 74 of 98 The Black Box Toolkit To run the DSCAR sequence it is loaded into the DSCAR runtime module as shown below. The appropriate device is selected for use with E-Prime and the BBTK active switch closure lead plugged into line 7. The opto-detector was positioned on the remote screen and plugged into line 3. Finally a time limit of 30,000 ms was entered into the options dialog of DSCAR so that monitoring would stop after 30 seconds. An appropriate Real Time Log filename (*.rtl) was chosen. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 75 of 98 Once everything is ready on both the host and remote PC DSCAR is set running by pressing “F5”. As each bitmap is displayed by the paradigm a response is automatically triggered at 300ms with the actual sequence of bitmaps only lasting a few seconds. When data for a given device has been collected the next response device was tested. The identical E-Prime script was used each time, bar that the response device was changed. For the voice key DSCAR was programmed to generate a response on line 5 to trigger the BBTK Tone Generator. A duration of 150ms was used meaning that the trigger tone was output for 150ms. Once a device has been tested the following data is available for analysis: BBTK .rtl file (host PC) • Data on the onset of each image • Offset of each image • Duration of each image • Refresh rate • Onset of the simulated response • Offset of the simulated response • Duration of the simulated response E-Prime E-DataAid .edat file (remote PC) • Data on the refresh rate • Duration of the image display prior to termination • Reaction time • Any other logging data that has been chosen to be logged Primarily we are interested in two key measures of timing error: 1. The display error – the image display was scripted in the paradigm to terminate to a black screen immediately after a response. Ideally this should have been at the end of the same refresh. The target display time should be as close to 300ms as possible. 2. The response time error – this is calculated by looking at the response times recorded by E-Prime. Any difference from 300ms is error. Here we need to make use of data collected by the BBTK together with the response times recorded by the paradigm. To analyse data collected by DSCAR we use the data analyser module. The example below shows the .rtl file for an OEM unbranded mouse. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 76 of 98 The Black Box Toolkit The upper trace (L3: E-Prime bitmap display) shows the image being displayed by the paradigm as detected by the opto-detector attached to the remote PC’s screen. The lower trace (L7: Left mouse button) shows the simulated mouse response that was generated by the DSCAR in response to detecting the stimulus image. Note the time base shown in milliseconds across the full extent of the plot. Actual illumination durations detected by the opto-detector are shown in the spreadsheet. Here the line 3 duration is around 3 milliseconds. As we were using a CRT this is the duration the phosphor stayed illuminated as the CRTs beam scanned down the screen every 10ms at a refresh rate of 100Hz. Should we have used a TFT or data projector these would show the actual display duration as there is no refresh produced by these devices. If we scroll the spreadsheet across to show the details for the mouse on line 7 we can see that the durations were very close to the intended button down duration of 150ms. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 77 of 98 If we look at the status bar we can see that the toolkit has taken 1,474,120 samples in 30,000ms. This gives a sampling rate of just over 49 samples per millisecond, or 49kHz. The actual file size was 33.5Mb. This means that Real Time Log files will grow at a rate of around 1.2Mb every second! Fortunately .rtl files compress greatly with standard archive utilities such as WinZip. By right clicking on the graph a pop-up box can be activated. If you then click on “Measure” two cursors can be activated. These can be used to directly compare timings between any two points on any of the eight lines. Both cursors can be dragged and positioned roughly in place with the in-built snap to sample feature. Generally the green cursor is used to define the leading edge on one line and the red the trailing edge on another. Once you have roughly snapped to a sample, exact positioning can be performed by right clicking and selecting “Zoom In”. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 78 of 98 The Black Box Toolkit Once zoom mode is activated you can click and drag over a region you want to zoom into. This will be indicated by white dashed vertical lines. When the mouse is released the region will be enlarged and will fill the whole graph area. You are free to zoom in as many times as required to achieve exact positioning of the measurement cursors. In the screen shot below the cursors have been positioned exactly on the leading edge of the image display (opto-detector on line 3) and the leading edge of the simulated response (switch closure/left mouse button down on line 7). On line 3 we can see each refresh of the image display as the bitmap was drawn on the CRTs screen. The measure between the display leading edge and the simulated responses leading edge is exactly 300 milliseconds as intended. This tells us that a response was fed into the paradigm on the remote PC at exactly the right time relative to the appearance of the bitmap. If we look at the red cursor and trace up the vertical cross hair and count the number of refreshes to the right of it we can see that the image was displayed for longer than it should have been. Remember it should have terminated to a black screen once a response was detected. Here we can see that it was displayed for an additional 6 refreshes. At a refresh rate of 100Hz (10ms redraw) this means it was displayed for 60ms longer that it should have been. This is a significant display error, with the image being displayed 20% longer than it should have been under ideal conditions. The actual image was displayed for 360 milliseconds (36x10ms). We can arrive at the same conclusion by simply measuring the first and last leading and trailing edge. However we must remember to add half the refresh interval (between peaks) to the front and end of the run as we positioned the opto-detector mid screen, so there is a screen area above and below the sensor where data is not collected. Here we can see what this would look like on the graph once accounted for. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 79 of 98 We can also determine the duration of the period the mouse button was held down for. Remember this should have been 150 milliseconds. Again we can use the cursors to determine this. You’d first need to zoom out using the “Replot” option of the fly out menu available when you right click on the graph. Using the cursors we can easily see that the simulated response was generated for 150 milliseconds as intended. Thus the mouse button wired to the active switch closure lead was held down for 150 milliseconds . So to sum up, the data we have obtained from the BBTK Data Analysis module provides us with the following information: • • • • The duration the image was actually displayed by paradigm (360ms) The length of time the image was displayed after is should have terminated (60ms) The elapsed time before the response was simulated after the bitmap was detected (300ms as intended) The duration of the simulated response (150ms as intended) From the worked example one can envisage how synchrony between two or more stimulus types can be checked. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 80 of 98 The Black Box Toolkit Next we should examine the data collected by E-Prime using E-DataAid. We already know that the bitmap was displayed for around 60ms more than predicted. If we copy and paste the reaction times recorded by E-Prime into Microsoft Excel we can quickly calculate the response time error as shown in the table below. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 81 of 98 Response Time Recorded By E-Prime (milliseconds) [Observed] Response Time Simulated By the BBTK (milliseconds) [Expected] 364.00 364.00 374.00 352.00 355.00 355.00 358.00 360.00 361.00 362.00 360.00 362.00 346.00 355.00 356.00 357.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 300.00 Response Time Error (milliseconds) [O-E] 64.00 64.00 74.00 52.00 55.00 55.00 58.00 60.00 61.00 62.00 60.00 62.00 46.00 55.00 56.00 57.00 Mean SD Min Max Variance 58.81 06.21 46.00 74.00 38.56 By copying and pasting data from the Data Analyser we can plot both the display and response time error recorded by the BBTK in Microsoft Excel. Here we can see the stimulus image display time error. Bitmap Duration Error (OEM Mouse) 90.00 Error in ms 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=65.50, SD= 7.06, Min=52.00, Max=82.00, Var=49.87) Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 82 of 98 The Black Box Toolkit By examining reaction times we can see that the E-Prime recorded times far longer than they actually were in reality. The absolute error between the target reaction time, and that recorded by E-Prime, was 58.81 milliseconds with a standard deviation of 6.21 milliseconds. So rather than being 300 milliseconds as intended they were 359 milliseconds on average with a Standard Deviation of 6.21 milliseconds. Again these RT errors can be easily plotted in Excel. Response Time Error (OEM Mouse) 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=58.81, SD=6.21, Min=46.00, Max=74.00, Var=38.56) In this sample case study we have compared timing information obtained or generated using the Black Box Toolkit with data recorded by the paradigm under test. From this we can conclude that if we were to use the OEM mouse in question as a response device this would have an unacceptable affect on our presentation and response timing. In terms of stimulus presentation this may substantially alter what we intended when designing the paradigm. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 83 of 98 9.2. The effect of changing response device By repeatedly following the procedure outlined previously the effect of substituting various response devices on presentation and response timing can easily be evaluated. All aspects of the paradigm remain unchanged bar that a new response device is physically plugged into the remote PC and where required, E-Prime is instructed to accept responses from the new device. In order to illustrate the effects of various response devices can have on timing a representative range have been tested and are summarised in the following series of graphs. Trust AMI wheel mouse Bitmap Duration Error (AMI Mouse) 90.00 Error in ms 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=22.06, SD=2.43, Min=21.00, Max=31.00, Var=5.93) Response Time Error (AMI Mouse) 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=17.25, SD=2.77, Min=14.00, Max=26.00, Var=7.67) Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 84 of 98 The Black Box Toolkit Cherry Keyboard Bitmap Duration Error (Cherry Keyboard) 90.00 Error in ms 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=45.38, SD= 4.79, Min=41.00, Max=52.00, Var=22.92) Response Time Error (Cherry Keyboard) 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=39.31, SD=2.87, Min=35.00, Max=44.00, Var=8.23) Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 85 of 98 Psychology Software Tools Deluxe Response Box Bitmap Duration Error (PST Response Box) 90.00 Error in ms 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=16.69, SD=5.25, Min=11.00, Max=22.00, Var=27.56) Response Time Error (PST Response Box) 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=7.75, SD=0.93, Min=6.00, Max=10.00, Var=0.87) Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 86 of 98 The Black Box Toolkit Voice Key (plugged into the PST Deluxe Response Box) Bitmap Duration Error 90.00 Error in ms 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=16.13, SD=4.98, Min=11.00, Max=22.00, Var=24.78) Response Time Error 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=8.19, SD=0.66, Min=7.00, Max=9.00, Var=0.43) 9.3. Response device summary The mere act of changing response device can have a huge effect over both display and response timing in terms of absolute error and variance. In terms of response timing there is a significant difference between all the devices tested and stresses the importance of making use of the Black Box Toolkit to determine the contribution it makes to timing. As one can appreciate it would be quite easy to introduce a conditional bias by making use of two machines and two different mice! The introduction of faster presentation schedules, multiple stimulus types and customised response devices increases the usefulness of the Black Box Toolkit. In the two final graphs we combine the timing performance obtained from all the devices tested. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 87 of 98 Bitmap Duration Error OEM Unbranded mouse Trust AMI mouse Cherry Keyboard PST Response Box 90 80 70 Error in ms 60 50 40 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No Response Time Error OEM Unbranded mouse Trust AMI mouse Cherry Keyboard PST Response Box 80 70 60 Error in ms 50 40 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 88 of 98 The Black Box Toolkit 9.3. The effect of using a TFT with various response devices TFTs whilst not suffering from the inherent problems of being tied to refresh rate for display duration do suffer from response time effects. It should be noted that data projectors also suffer from response time artefacts but to a much greater degree on certain models. Here in a short follow-on from the case study outlined in the previous section we examine the effects of using a TFT for stimulus display. Once again the paradigm remains unaltered and no settings were changed in E-Prime. These results are simply a result of changing the physical display device. Again visual presentation should have terminated on detection of a response and reaction time should have been 300 milliseconds. Here we can see the timing performance of the same OEM Mouse as tested earlier. However unlike the Data Analyser plot when testing with a standard CRT, display times are made up of a discrete on period rather than a series of refresh blocks. The spreadsheet duration for line 3 also shows a constant illumination period. Again it is useful to summarise the performance for the poorest and best performing response device when used with a TFT. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 89 of 98 OEM Mouse Bitmap Duration Error (OEM Mouse) 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=73.38, SD=8.17, Min=61.01, Max=88.98, Var=66.76) Response Time Error (OEM Mouse) 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=77.19, SD=6.96, Min=65.00, Max=87.00, Var=48.43) Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 90 of 98 The Black Box Toolkit Psychology Software Tools Deluxe Response Box Bitmap Duration Error (PST Response Box) 90.00 Error in ms 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=23.56, SD=4.69, Min=20.99, Max=36.00, Var=22.01) Response Time Error (PST Response Box) 90.00 80.00 Error in ms 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Trial No (M=26.06, SD=0.85, Min=25.00, Max=27.00, Var=0.73) As can clearly be seen the mere act of changing the display device not only affects presentation timing but also response timing error across a range of devices. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 91 of 98 10. USING THE BBTK RESPONSE PAD The Black Box Toolkit response pad [optional extra] offers researchers a guaranteed method for collecting sub-millisecond accurate presentation and response times. This can be particularly important when collecting data from paradigms involving presentation of video or other complex stimuli involving rapid presentation rates. Typically the response pad is used with the Digital Stimulus Capture software module. The response pad can be useful in several scenarios: 1. The response pad can collect response data from a live paradigm where timing is so critical that the paradigm itself is deemed unreliable, e.g. video or RSVP. Simply the Toolkit records both presentation and response timing. Using the measurement cursors of the Data Analyser you are free to choose the stimulus onset point and use the second cursor to read off a response time. For more details of using the response pad with video based stimuli consult the “Sensor Calibration” section of the manual. 2. The response pad can also be used to check the timing of a paradigm rather than using DSCAR as a virtual human. In this way a human can make responses to stimuli using the pad and by utilising the active switch closure leads from the pad a standard response device can be simultaneously triggered. By comparing the exact response time recorded by DSC against that recorded by the paradigm any timing errors can be computed as normal. Some researchers may prefer this option as this gives them the option of using live human response times, but with the advantage of a third party monitoring all display and response times with sub-millisecond accuracy. In the diagram below a response pad and microphone have been added to the simple visual reaction time paradigm outlined in the previous section. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 92 of 98 The Black Box Toolkit By using the response pad the four digital output lines of the BBTK operate as four additional input lines (one for each button). The four standard input lines continue to monitor for visual and auditory stimulus materials. When using the Data Analyser each of the pads four buttons are plotted as a separate line in addition to two for standard optodetectors and two powered-in lines, e.g. microphones. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 93 of 98 11. GLOSSARY Remote PC A remote PC is the computer or other equipment which is running the paradigm you wish to benchmark the timing of. Host PC The host PC is the Microsoft Windows 2000 or XP based desktop or laptop that is physically connected to the Black Box Toolkit via its parallel port. This PC controls the BBTK and carries out all timing analysis. Active switch closure Active switch closure is where the Black Box Toolkit closes a switch or key on a response device on the remote PC. For example the toolkit may make a simulated response by holding down a mouse button of the remote PC. This is accomplished via a switch closure lead that is physically attached to a switch on the response device. Passive Switch Closure Passive switch closure is where the Black Box Toolkit detects a suitable switch closure on a response device on the remote PC (see 13.3.1.). For example if a human presses a key on a remote response device this can be detected simultaneously by the BBTK. BBTK Digital Tone Generator A digital tone generator is a specialised digital sound producing device that is used by the Black Box Toolkit to trigger voice keys on remote PCs. BBTK Digital Microphone A digital microphone is a specialised microphone that is used for detecting sound stimuli produced by the remote PC. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 94 of 98 The Black Box Toolkit 13. BIBLIOGRAPHY Plant, R.R., Hammond, N.V. & Turner G. (2004), Self-validating presentation and response timing in cognitive paradigms: How and why?, Behavior Research Methods, Instruments and Computers, 36(2), 291-303. Plant, R. R., Hammond, N. V. and Whitehouse T. (2003), How choice of mouse may effect response timing in psychological studies, Behavior Research Methods, Instruments and Computers, 35(2), 276-284. Plant, R. R. and Hammond, N. V. (2002). Towards an Experimental Timing Standards Lab: Benchmarking precision in the real world, Behavior Research Methods, Instruments, and Computers, 34(2), 218-226. Plant, R. R., Hammond, N. V. and Whitehouse T. (2002c), Towards an experimental timing standard laboratory, Proceedings of Measuring Behaviour 2002: 4th International Conference on Methods and Techniques in Behavioural Research, 27th – 30 August 2002, Amstrerdam, The Netherlands, ISBN 90-74821-43-X. Plant, R. R., Quinlan P., Hammond, N. V. and Whitehouse T. (2002), Benchmarking precision in the real world, Proceedings of Measuring Behaviour 2002: 4th International Conference on Methods and Techniques in Behavioural Research, 27th – 30 August 2002, Amsterdam, The Netherlands, ISBN 90-74821-43-X. Plant, R. R., Hammond, N. V. and Whitehouse T. (2002a), How choice of mouse may effect response timing in psychological studies, Presentation at Society for Computers in Psychology Annual Meeting, (November 21), Kansas City, Missouri. Plant, R. R., Hammond, N. V. and Whitehouse T. (2002b), Benchmarking the accuracy of commonly used experiment generators, Abstracts of the Psychonomic Society (43rd Annual Meeting) Plant, R. R. and Hammond, N. V. (2002), Absolute accuracy in studies of human performance: a trade-off between timing and ease of use, Psychology Learning And Teaching conference, 18th -20th March 2002, University of York Plant, R. R. and Hammond, N. V. (2001a). Towards an Experimental Timing Standards Laboratory. Presentation at Society for Computers in Psychology Annual Meeting, (November 15), Orlando, Florida. Plant, R. R. and Hammond, N. V. (2001b). Benchmarking the timing characteristics of tools used by behavioural scientists. Abstracts of the Psychonomic Society (42nd Annual Meeting), 6, 109. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 95 of 98 13. BBTK SPECIFICATIONS 13.1. General Specifications of the Black Box Toolkit • • • • • • • 8 channel - 4 digital input/4 digital output o 2 opto-detector leads for detecting screen events on a second PC, Mac or Linux system o 2 switch closure channels for simulating button presses on equipment running your paradigm o 2 powered digital-in channels for BBTK microphones etc. o 2 powered digital-out channels for BBTK tone generators etc. Fully modular so that additional custom sensors can be added Opto-isolated switch closure lines Sampling rates of over 48 kHz using a standard PC EPP 1.7 or 1.9 or Bi-directional parallel port interface to host PC Powered by external 5v supply 12 month warranty 13.2. Sensor and Generation Modules Timing Specifications The timing tests were carried out using a digital oscilloscope and our own specialized microphones and tone generators together with the standard software suite. Testing was carried out using a 1.3 GHz AMD Athlon based computer with EPP 1.9 port. Nominal timing characteristics Sensor or Module Black Box Sampling Rate across all 8 lines (typical sampling rate on a 1.3Ghz Athlon) Powered input/output timed from parallel port to input/output pin of peripheral or switch closure Microphone timed from output of tone generator to parallel port (Op-amp amplified Electret mic – uses microcontroller to detect peak and cancel false triggering) Opto-detector input timed from diode to parallel port 2.5mm switch closure timed from parallel port to contact Tone generator timed from parallel port to piezo sounder pin (Piezo sounder with pitch and amplitude control via 2 potentiometers) 48+ kHz <100nS <50µS <100nS 35µS 50µS ~ 625µS Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 96 of 98 The Black Box Toolkit 13.3. Individual line Specifications 13.3.1. Lines 1 & 2, Powered digital-in & passive switch closure TTL input. A TTL signal (0-5V) can be connected to these lines, with ground connected to the 3.5mm jack plug sleeve (0V) and the signal to the jack plug ring (input signal). Device switch connections (eg. Joystick, mice etc.), can also be connected across these points as long as the polarity of any voltage across the switch is noted and this voltage doesn’t exceed 5V. Power can be taken from the 5V on the tip of the jack plug as long as the consumption is limited to 50mA. 3.5mm stereo jack socket. Connection as detailed below: • • • Tip: 5V (< 50mA) Ring: TTL signal Screen: 0V The audio detection module (microphone) can be connected to these lines. 13.3.2. Lines 3 & 4, opto-detector These 2 lines are intended only for the opto-detectors provided with this kit and provide a connection from the amplifier within the Black Box Toolkit to their photo diodes. • 2.5mm mono jack socket. 13.3.3. Lines 5 & 6, Powered digital-out TTL output. The signal between the ring and sleeve of the 3.5mm stereo jack socket is TTL (0-5V) and can be used to connect to any peripheral with an input expecting a TTL signal. Power can be taken from the 5V on the tip of the jack plug as long as the consumption is limited to 50mA. Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. The Black Box Toolkit Page 97 of 98 3.5mm stereo jack socket. Connection as detailed below: • • • Tip: 5V (< 50mA) Ring: TTL signal Screen: 0V The tone generator modules can be connected to these lines. 13.3.4. Lines 7 & 8, Active switch closure The 2.5mm mono sockets connect to the switch contacts of a solid-state relay. The maximum ratings for which are: • • • • Load voltage (peak AC): 50V Continuous load current: 0.13A Peak load current: 0.4A (100mS, 1 shot, DC) On resistance: 18 Ω The connections from the active switch closure lines can be connected in parallel with device buttons (eg. Joysticks, mice, etc.) to emulate the pressing of the button. The unit is supplied with 2 flying leads with 2.5mm connectors for this purpose. NOTE: Exercise caution when connecting the flying leads from the ‘active switch closure’ not to connect the two leads across the power supply of the device you’re measuring! • • • 2.5mm mono jack socket. Tip:Solid-state relay contacts Screen:Solid-state relay contacts 13.4.. Power supply The power adaptor for the unit needs to supply between 7.5 and 9V with a power rating of at least 250mA. The connector for the supply is a 2.1mm low power connector where the centre pin is 5V and the outer being ground (0V). The UK version is supplied with a suitable power adaptor with a multi plug connector. The larger (2.1mm) connector is the one to use. 13.3.5. Optional response box The response box comes supplied with an 8 way cable with flying leads. These can be connected to external peripherals as described in the ‘active switch closure’ section. The flying leads are connected in pairs to solid-state relays within the response box, the wiring is described in the table below: Colour wires Green – Yellow Orange – Red Brown – Blue Purple – Grey lines 5 6 7 8 Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved. Page 98 of 98 The Black Box Toolkit 14. APPENDIX A Realtime priority Excerpt taken from the Microsoft Developer Network (MSDN) “Threads are scheduled to run based on their scheduling priority. Each thread is assigned a scheduling priority. The priority levels range from zero (lowest priority) to 31 (highest priority). Only the zero-page thread can have a priority of zero. (The zero-page thread is a system thread responsible for zeroing any free pages when there are no other threads that need to run.) The system treats all threads with the same priority as equal. The system assigns time slices in a round-robin fashion to all threads with the highest priority. If none of these threads are ready to run, the system assigns time slices in a round-robin fashion to all threads with the next highest priority. If a higher-priority thread becomes available to run, the system ceases to execute the lower-priority thread (without allowing it to finish using its time slice), and assigns a full time slice to the higher-priority thread. For more information, see Context Switches. The priority of each thread is determined by the following criteria: • • • The priority class of its process The priority level of the thread within the priority class of its process The priority class and priority level are combined to form the base priority of a thread. For information on the dynamic priority of a thread, see Priority Boosts. Each process belongs to one of the following priority classes: • • • • • • IDLE_PRIORITY_CLASS BELOW_NORMAL_PRIORITY_CLASS NORMAL_PRIORITY_CLASS ABOVE_NORMAL_PRIORITY_CLASS HIGH_PRIORITY_CLASS REALTIME_PRIORITY_CLASS By default, the priority class of a process is NORMAL_PRIORITY_CLASS. Use the CreateProcess function to specify the priority class of a child process when you create it. If the calling process is IDLE_PRIORITY_CLASS or BELOW_NORMAL_PRIORITY_CLASS, the new process will inherit this class. Use the GetPriorityClass function to determine the current priority class of a process and the SetPriorityClass function to change the priority class of a process. Processes that monitor the system, such as screen savers or applications that periodically update a display, should use IDLE_PRIORITY_CLASS. This prevents the threads of this process, which do not have high priority, from interfering with higher priority threads. Use HIGH_PRIORITY_CLASS with care. If a thread runs at the highest priority level for extended periods, other threads in the system will not get processor time. If several threads are set at high priority at the same time, the threads lose their effectiveness. The high-priority class should be reserved for threads that must respond to time-critical events. If your application performs one task that requires the high-priority class while the rest of its tasks are normal priority, use SetPriorityClass to raise the priority class of the application temporarily; then reduce it after the time-critical task has been completed. Another strategy is to create a high-priority process that has all of its threads blocked most of the time, awakening threads only when critical tasks are needed. The important point is that a high-priority thread should execute for a brief time, and only when it has time-critical work to perform. You should almost never use REALTIME_PRIORITY_CLASS, because this interrupts system threads that manage mouse input, keyboard input, and background disk flushing. This class can be appropriate for applications that "talk" directly to hardware or that perform brief tasks that should have limited interruptions.” http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/scheduling_priorities.asp Copyright © 2004 The Black Box Toolkit Ltd. All rights reserved.