Search results

  1. D

    Cheap ICS-52000 Microphone Array Board for TDM evaluation

    I'm not sure what you are asking. Did you see a clock pulse on the oscilloscope? You should also be probing the SDO pin to see if the mics are sending any data. I'm not sure why you are connecting things in sequence by hand, just wire it all up and then power the teensy. I'm sorry if this is not...
  2. D

    Cheap ICS-52000 Microphone Array Board for TDM evaluation

    Close but no, see the schematic above (the picture) for the correct connections.
  3. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    Done, it works perfectly. all things in order. Thank you so much!
  4. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    I discovered that if you import audio vs import RAW in audacity, you get different orders (probably because I wasn't excluding the header when I imported RAW), but import Audio (using Audacity) always agrees with Octave audioread() I can read the same file multiple times for both and it doesn't...
  5. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    I think maybe the random ordering of the tracks is not Audacitys fault. Edit from thinking it was Audacitys fault to thinking, the code still needs something. I came to this conclusion after seeing the cross correlation delay relative to mic 1 for the three files where I rubbed the mics in...
  6. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    okay, you're right that is more than enough. I'm happy with that. So, I tried the latest Master, Success! Here are the results: https://drive.google.com/open?id=1Dohk1dVYTTJ2D3gAvbYVmnli3yg5uW9U I notice that Audacity has trouble sorting the order (if I import the same file multiple times it...
  7. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    this is what I recorded with the code in the master branch: https://drive.google.com/open?id=18DOv-s21JqBvt4veYWjhOI-FsVkmJnCK but I wasn't able to get anything with "Import Audio" or multiple tries of "Import Raw" using different settings in Audacity. As an aside, I was wondering which 16 of...
  8. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    In the file called clean sequence, I didn't talk, I just swiped a card over each of the 5 mics (only once for each mic) in order. I named the file as such because it was the most obvious example when looking at the data. I will try the new code today.
  9. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    I tried touching each mic to see what order they are in, and it looks like there is a problem of mixed tracks. I recorded myself saying the mic number, before touching each mic in order ("mic 1" *touch 1*, "mic 2" *touch 2*, "mic 3" *touch 3*, "mic 4" *touch 4*, "mic 5" *touch 5*). Here is the...
  10. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    I did see that it was 16 bit samples when I imported the data to octave. I am wondering why you went with 16 bit values instead of 24 bit that the ics-52000 mics send. Though it does look like it is not an issue, since I don't see any clipping. Anyway I am grateful for what I can do with your...
  11. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    Okay sounds great. I'm still not sure why the audio has to be imported to Audacity as 32 bit float, but it works. There is some popping in each mic's tracks (isolated to a track or two, not evenly spread throughout). I think the popping may be a problem on my end, unless there is something in...
  12. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    Okay, I think I see improvement. Now when I import the audio to Audacity, I can see all 5 channels look like real data. -However, it sounds terrible. I'm just guessing, but I think that it sounds like the MSB's and the LSB's got switched or maybe shifted out. -I noticed that the import only...
  13. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    I will have to try it tomorrow evening.
  14. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    It actually only uses one channel. It stitches the two 16 bit queues together after shifting out the 8 least significant bits making a 24 bit mono recording. This program also has issues, it seems to miss samples and only record 11 seconds or so. But it does show that my setup works. I also used...
  15. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    during the same test session I used a different recording program and I verified that the microphones were configured properly. you can hear that the audio is okay. https://drive.google.com/open?id=1Fxbap6MjVFYcz8dbWkVdYIoXzFHhGc6p this is the code I used: // Record TDM input sound as raw data...
  16. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    I was able to compile, flash and test the code, this is what it sounds like: https://drive.google.com/open?id=1T0upPwHEpG7QWA1hZ_GyRmXPEAW1zk2X It sounds pretty jumbled. Could this be the channel rotation issue you mentioned? could a number of mics be defined in the configuration file and...
  17. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    It would be my pleasure. I have the setup ready to go. It currently works well for very short clips. I have also used an example sketch to record 11 second clips (but only with a single mic).
  18. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    WMXZ, you are a gentleman and a scholar.
  19. D

    Audio Recording / Logging to SD card --> microSoundRecorder

    Is there any chance of adding the TDM protocol for using the ICS-52000 mics from invensense? What would the limit be for the amount of data that can be recorded? If I have 5 mics sampling at 48000Hz would the memory run out? I want to try microphone beamforming.
  20. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I believe you are correct, I can visualize it now. It would be good for me to reevaluate the math anyway. Thank you.
  21. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I originally started this project for fun, I was getting too obsessed, so my wife told me to stop. I needed one more lab class to finish my physics undergraduate degree, I found a class called fundamentals of measurement and instrumentation. For the last half of the semester they allowed us to...
  22. D

    I2S Microphone List

    the ICS-52000 works too, but the breakout for it has given the only 2 people who are using it trouble. I soldered directly to the pads and had success (tiny pads). you just have to use two queues and some bit shifting to get the 24 bit data but they work great, I get very good audio from them...
  23. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I built the microphone array and I have started to collect data. I've been using the data to locate the sound source. Here is a plot of the microphone array: The array is in the shape of a tetrahedron with one at the center. the red triangle is the speaker's measured location, and the blue dot...
  24. D

    Cheap ICS-52000 Microphone Array Board for TDM evaluation

    While I was working with my microphone array today I noticed that one of my mics was sending garbled data, I noticed that the power pin came unsoldered so I fixed it, this is what it sounded like before (garbled/noisy): https://drive.google.com/open?id=1RDtRUEj66XwQZu9UVuP9PUwtspXY-nqc and then...
  25. D

    Cheap ICS-52000 Microphone Array Board for TDM evaluation

    This is my schematic. This is what it looks like (I know, it's a rats nest). I have twisted a grounded wire around SD and SCK going from the teensy to each mic. and I put a 0.1uF cap as close to each mic as I could get. I also put a 100kOhm pull down resistor at the SD pin on the teensy...
  26. D

    Cheap ICS-52000 Microphone Array Board for TDM evaluation

    Did you also give vcc to the config pin? Edit: Nevermind it looks like the pcb does that for you. Did you turn the gain up as high as audacity will let you? Both the main volume, and channel gain. I would check my wiring but I have it at school right now. I'll check on monday and let you know...
  27. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    By the way, I noticed that the code I had last posted had made the whole collection of data backwards (earliest data at the end and newest data at the beginning) so I'll post my updated code for others. #include <Audio.h> AudioInputTDM tdm1; //xy=172,228 AudioRecordQueue...
  28. D

    Cheap ICS-52000 Microphone Array Board for TDM evaluation

    I was able to use the code working that you used for recording, I was able to import the raw audio to audacity using 24bit signed pcm, little endian, 2ch (stereo), 20500 Hz custom sample rate (this was unexpected, as I thought we should be sampling at 44100Hz, but it was needed to slow the...
  29. D

    Cheap ICS-52000 Microphone Array Board for TDM evaluation

    You probably have already looked but I posted the code that got my ICS-52000 mics to work. I received help from Paul and others last year to get my project going. the code is towards the bottom of page 2...
  30. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Well, I'm not sure. The TDM object works for my application because the microphones I am using are configured to put out a TDM signal. TDM is best suited for sending audio data from many inputs down one line and in a way that the data can be separated on the other end. I think Paul has...
  31. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Well, the waveforms look good, and have a period of 1500Hz like what I was playing with a signal generator. But that is a good point. What example should I use?
  32. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I tried it but it the waveform ended up garbled in the history array portion, I even tried replacing the variable row with i(the audio library is using that variable and it affects it) and it still didn't work so I edited your last major edit (with the free buffers at a later point) and that worked.
  33. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    this suggestion didn't work but I am intrigued, the % has always confused me. but I got the code working nicely, here it is for all who care: #include <Audio.h> #include <Wire.h> #include <SPI.h> // GUItool: begin automatically generated code AudioInputTDM tdm1...
  34. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    okay it works. this is what the waveform looks like now, with a 1500Hz audio played. there's some garbled portion, which is probably my array sorting mistake, but this is correct for the periods per frame. I'm excited! I'll see what I can do to polish this for my application. you guys are...
  35. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Good point, I agree. I need help to understand it. This should help.
  36. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Sorry I edited my last reply after you responded, I just added the paragraph after the question about the indexes. I will try adding the increments though.
  37. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I tried it, there was no output on the serial monitor. I think it might be because the indexes aren't being updated, where would the increments go? But the reason I think I need to start over with the new understanding of blocks is that they come in fast so if I'm looping and for looping so many...
  38. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I think i will try to work with the library then. I think I just need to restructure the way I'm doing this. ...a few hours later... so this is my attempt: #include <Audio.h> #include <Wire.h> #include <SPI.h> // GUItool: begin automatically generated code AudioInputTDM tdm1...
  39. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    oh, this might be a problem. Is there any way for me to not use a queue, but to just use the tdm_input object directly?
  40. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Oh, I think you're right. I will see what I can do.
  41. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Thank you both so much for pointing out those blunders, I fixed many bugs with those suggestions. I caught another problem with my code along the way, It appears that the variables: rows, row, and columns were already taken by the libraries I am using. I think maybe it would be nice if each...
  42. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I'm sad because I thought I had it figured out. I am hoping someone can point out what I'm doing wrong. this code has 5 mics listening and cycling through five 30 value 1-D arrays until an amplitude threshold is crossed, then it fills a 130 row x 5 column, two dimensional array starting at the...
  43. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    It's mostly so I can use the python program that I wrote for solving the sound source location and also to split up the tasks.(Teensy collects fast mic data, sends it when triggered by a sound event, Raspberry Pi processes the correlation time shift, solves location, sends location to Teensy...
  44. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I promise I was listening when you told me that before, and I did take that into account. Since the TDM data from the mics are 24 bit datum in 32 bit blocks, I multiplied the first 16 bit value in the TDM frame by 256(making the 16 bit value the MSBit's of a 24 bit number) and then added it to...
  45. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    so this is what I'm doing to sample 2 mics over serial, but the sample rate is all over the place (in the range of 400-500 sps), and spotty. #include <Audio.h> #include <Wire.h> #include <SPI.h> // GUItool: begin automatically generated code AudioInputTDM tdm1...
  46. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Okay so this will work. here is a video of my oscilloscope showing the WS signal on top and 64 bits out of 256 bits per TDM frame coming from two mics: now I'm just wondering how to use this library, to maybe stream through serial to start testing methods of TDOA in Matlab or something this...
  47. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    Okay, that makes sense, it's a hardware limitation. I see that you added TDM to the Audio system design tool, this is excellent. Now I'm wondering how do I combine two 16 bit channels into one 32 bit channel? I think it's going to involve shifting bits but how do I store this info? for my...
  48. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    That is very good to know. So if I want to only use 160 bits out of the 256, for my 5 mics, how do I configure the WS signal to do a brief pulse and wait for 160 bits?
  49. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I didn't know that. Thanks! I think I still want to keep it to five mics, but it would be fun to tinker with that in the future
  50. D

    Time division Multiplexing(TDM) for multilateration(TDOA) using mics from invensense

    I'm sorry, I should have explained the figure better, I went back and read what I wrote and it is confusing, sorry. Each pixel represents a simulated point, and the color of each pixel represents how much error there was from the simulated point to the found point. The reason for the 10...
Back
Top