{"id":2897,"date":"2017-05-03T13:10:07","date_gmt":"2017-05-03T13:10:07","guid":{"rendered":"http:\/\/www.richardmudhar.com\/blog\/?p=2897"},"modified":"2020-04-24T08:50:29","modified_gmt":"2020-04-24T08:50:29","slug":"mind-mirror-reverse-engineering","status":"publish","type":"post","link":"https:\/\/www.richardmudhar.com\/blog\/2017\/05\/mind-mirror-reverse-engineering\/","title":{"rendered":"Mind Mirror reverse engineering"},"content":{"rendered":"<p>The are three functional blocks in the Mind Mirror &#8211; the electrode positioning and pickup, the filter banks and the display. As far as the electrode position goes I&#8217;d follow the <a href=\"http:\/\/www.mindmirroreeg.com\/w\/equipment\/mm3\/mmContactPlacement.htm\">original T5-O1 and T6-O2<\/a> placement.<\/p>\n<p>There are few pictures of the Mind Mirror, because the first model was produced in June 1976, and presumably the computer version was developed in the mid 1980s. The <a href=\"http:\/\/www.dragonprojecttrust.org\/gallery\/gallery-primary-sensing\">Dragon Project Trust has some pictures<\/a> from Paul Devereux&#8217;s 1970s monitoring project at the Rollright Stones.<sup id=\"fnref-2897-1\"><a href=\"#fn-2897-1\" class=\"jetpack-footnote\">1<\/a><\/sup>including a few photos of it in use.<\/p>\n<h4>Display<\/h4>\n<figure id=\"attachment_2898\" aria-describedby=\"caption-attachment-2898\" style=\"width: 550px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mind-mirror-gps01.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2898\" src=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mind-mirror-gps01-550x358.jpg?resize=550%2C358\" alt=\"\" width=\"550\" height=\"358\" srcset=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mind-mirror-gps01.jpg?resize=550%2C358&amp;ssl=1 550w, https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mind-mirror-gps01.jpg?w=600&amp;ssl=1 600w\" sizes=\"auto, (max-width: 550px) 85vw, 550px\" \/><\/a><figcaption id=\"caption-attachment-2898\" class=\"wp-caption-text\">Mind mirror in use with the Dragon Project<\/figcaption><\/figure>\n<p>The display was each frequency band presented on a linear voltage scale via 16 LEDs in dot mode, presumably to save power. This was replicated 24 times, 12 for each frequency band and in two channels, which already tells me there is a difference between the original hardware Mind Mirror 1 and the software variants &#8211; the filter specs I got were for the MM3 developed in 1992. It appears the MM1 used red and green LEDs for the different bands.<\/p>\n<p>In the 1970s LEDs had only just come in and there were all sorts of display chips. I like the Telefunken U1096 which Charlieplexed 30 LEDs off 9 pins, but this and most of the 1970s chips are hopelessly obsolete. My choices now are either digitise and use an Arduino or a PIC, or use the LM3914. The LM3914 is only 10 output so it makes sense to cascade two, getting a 20-LED bargraph. I then rectify the output of the filters and feed that. A PIC would also do the job, perhaps better by controlling the meter dynamics digitally and multiplexing one 8-bit port across two banks of LEDs would give a 16dot display. It would also enable a hold command and be able to write out the digital value for a recording display. But it&#8217;ll be dearer&#8230;<\/p>\n<h4>Filter channels<\/h4>\n<p>Looking at the DPT machine, the original set of 12 frequencies on the Mind Mirror 1 can be seen. Let&#8217;s take a look<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_original.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2900 size-full\" src=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_original.png?resize=599%2C414\" alt=\"\" width=\"599\" height=\"414\" srcset=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_original.png?w=599&amp;ssl=1 599w, https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_original.png?resize=550%2C380&amp;ssl=1 550w\" sizes=\"auto, (max-width: 599px) 85vw, 599px\" \/><\/a><\/p>\n<p>The overlaps are less even than they are in the new version, below<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1704_MMtrace.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2894\" src=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1704_MMtrace.png?resize=528%2C377\" alt=\"\" width=\"528\" height=\"377\" \/><\/a>so it probably makes sense to make the display modular and provision 14 slots. I&#8217;ve now located a copy of Blundell&#8217;s Book<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/04\/1704_eeg_blundell.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2880\" src=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/04\/1704_eeg_blundell.jpg?resize=444%2C500\" alt=\"\" width=\"444\" height=\"500\" \/><\/a>In which he has the technical specifications &#8211; the Dragon Project pic shows the MM1, but there was a Mind Mirror 2 which has the 14 more evenly spaced channels, which is shown on the cover of the book.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_extractP5025690.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2905\" src=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_extractP5025690.png?resize=461%2C117\" alt=\"\" width=\"461\" height=\"117\" \/><\/a>elsewhere it says the EMG channel displaying interference from the powerful neck muscles is showing 100-200 Hz. While the response of the bandpass filters is 40dB down an octave out, the response flattens out to the limiting case of 12dB\/octave. However, a display resolution of 5% (if 20 LEDs are used) gives a minimum response of -26dB so that doesn&#8217;t matter.<\/p>\n<h4>Mind Mirror Filter sections<\/h4>\n<p>This is all low frequency stuff. I derived my simulation by calculating the staggered LC elements of a two-pole Bessel bandpass filter. For example, the 6Hz filter is this<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_6hz.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2907\" src=\"https:\/\/i0.wp.com\/www.richardmudhar.com\/blog\/wp-content\/uploads\/2017\/05\/1705_mm_6hz.png?resize=504%2C525\" alt=\"\" width=\"504\" height=\"525\" \/><\/a>and I&#8217;m immediately in trouble for the 7H inductors, and the 90\u00b5F capacitor isn&#8217;t that handy either, I&#8217;m not going to find these inductors at Digikey. I had been thinking along the lines of the LMF100 switched capacitor filter, but decided to compute the values for a standard multiple feedback bandpass filter(MFBP). These sweat a single stage and have the fewest components for a given shape, the downside is they can easily push the gain-bandwidth of the opamp, particularly as there is no independent control of the gain, which can end up quite high.<\/p>\n<p>These are Bessel filters with low Q requirements, the highest I computed was &lt;7. Williams[ref]Electronic Filter Design Handbook, A Williams, McGraw-Hill, 1981, p5-43 Equn 5-70[\/ref] indicates the gain is 2Q^2 at resonance, so the gain of the amplifier needs to be a lot more than this. At such low frequencies this is doable, so choosing a value of C at 1\u00b5F and 0.47\u00b5F I can use normal MFBPs without resorting to switched capacitor filters. I was surprised but chuffed.<\/p>\n<h4>Amplifier<\/h4>\n<p>I was thinking of using something like <a href=\"https:\/\/shop.openbci.com\/collections\/frontpage\/products\/pre-order-ganglion-board?variant=13461804483\">OpenBCI&#8217;s Ganglion board<\/a> which would be very good, but it is dear at $200 and I don&#8217;t need the digital whizzery, I will be using an analogue system. I will probably pinch their idea of using instrumentation amplifiers, which have come down a lot in price. I will wing this and assume the front end is soluble, after all it was in 1976 and things have got much better and cheaper since. Instrumentation amps are in the \u00a35-\u00a310 mark, they were much dearer way back then.<\/p>\n<p>Next &#8211; deriving and simulating\u00a0 <a href=\"http:\/\/www.richardmudhar.com\/blog\/2017\/05\/building-the-mind-mirror-filter-bank\/\">the filter bank and the effect of tolerances<\/a>.<\/p>\n<div class=\"footnotes\">\n<hr \/>\n<ol>\n<li id=\"fn-2897-1\">\nThe Dragon Project was a fascinating 10-year attempt starting in 1977 to monitor physical characteristics around megalithic monuments, but <a href=\"http:\/\/www.megalithia.com\/alternative\/dragonproject.html\">details of that part of the work are tantalisingly scarce<\/a>, Devereux seems to have come to the conclusion the physical monitoring delivered a null result.&#160;<a href=\"#fnref-2897-1\">&#8617;<\/a>\n<\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The are three functional blocks in the Mind Mirror &#8211; the electrode positioning and pickup, the filter banks and the display. As far as the electrode position goes I&#8217;d follow the original T5-O1 and T6-O2 placement. There are few pictures of the Mind Mirror, because the first model was produced in June 1976, and presumably &hellip; <a href=\"https:\/\/www.richardmudhar.com\/blog\/2017\/05\/mind-mirror-reverse-engineering\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Mind Mirror reverse engineering&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[57,334],"tags":[331,332,333],"class_list":["post-2897","post","type-post","status-publish","format-standard","hentry","category-electronics","category-strange","tag-biofeedback","tag-eeg","tag-mind-mirror"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5aOO7-KJ","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/posts\/2897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/comments?post=2897"}],"version-history":[{"count":10,"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/posts\/2897\/revisions"}],"predecessor-version":[{"id":3886,"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/posts\/2897\/revisions\/3886"}],"wp:attachment":[{"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/media?parent=2897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/categories?post=2897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.richardmudhar.com\/blog\/wp-json\/wp\/v2\/tags?post=2897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}