top of page

Checkpoint 2 

Report

​

Deliverables

​

1) Start your website and have a post/page describing your data. Post three plots of your data -- eg of the data itself, FFT coefficients, other features you've computed, or anything else -- that you think really demonstrate some of the interesting aspects of your project. Please describe all three plots in detail and what you did to get them. If you are using multiple data types, be sure to include ALL types in at least one of your plots. 

​

2) On your website, describe what you have done so far. Describe any challenges you have run into, and describe the possibilities for overcoming those hurdles. 

​

3) Next layout your plan -- at least three tasks you need to do over the next three weeks until the project is due. 

​

4) Finally, describe one thing you have learned about in working on your data so far. It may be a new DSP tool you are trying to use, or it may just be a new Matlab command, etc. Tell me why it's relevant for your project (or why you thought it was relevant, but why it's actually not, if that's the case).

Progress

  • Collected room impulse response data to analyze and compare to models

  • Began processing of collected data

  • Started developing algorithm to develop ideal impulse response by using ray tracing to find the first-order echoes of a source heard by a receiver

  • Completed more research into sound modeling and the effects of reflections on signals

challenges

  • In the ray-tracing algorithm, the amount of computation necessary to generate and trace thousands of rays takes way too long. We have to generate enough rays such that they will leave the source, reflect off of a wall, and pass within some small distance of the receiver. We have not been able to generate enough rays such that every wall produces an echo that is heard by the receiver. To address this problem, we will likely generate another algorithm that algebraically calculates the paths of rays from the source to the receiver. The existing algorithm will exist as evidence for why experimental or "guess-and-check" modeling is a bad approach.

  • When we used microphones to collect impulse response data from different rooms, we had trouble distinguishing echoes from noise. The signals we gathered are not nearly as clean as those suggested by our research. This makes it difficult to determine the filtering effects of walls because we don't know how much of the collected data is due to the wall or just noise or other stimuli. We will attempt to better understand the data using time-frequency analysis.

  • We are having some trouble settling on a direction for our project. As we research more and try and fail at more techniques for data collection and modeling, we are constantly shifting what our final deliverables will be. At the moment, this is in flux.

next steps

  • Get the ray-tracing algorithm to a point that it is not totally broken, then start work on a new algorithm that computes the ideal impulse response algebraically.

  • Develop a plan for how to create a filter out of collected impulse response data, then collect more data from specific types of walls.

  • Try to cross-correlate collected data and externally researched absorption coefficients to see how well we are interpreting our data.

  • Look into identifying a wall material from its frequency profile.

Lessons and Applications

  • ​We began working on an algorithm to experimentally find when the receiver would hear first-order echoes off of the walls. To do this, we researched and partially implemented ray-tracing. As we are considering switching calculation methods, this ray tracing knowledge might not be useful for this project anymore. However, thinking about sound as a vector emanating for the source, and practicing using this approach to trace sound through a room will be useful if anyone in our group decides to become an acoustic engineer or work on fiber optics which uses the same techniques.

  • In developing the ray tracing algorithm, not only did we learn how ray tracing is done, but we also learned about a lot of handy Matlab features. The dot and cross functions were useful in determining if two lines were parallel or perpendicular, and they also allowed us to easily multiply coefficients together when calculating intersection points. In the future, we will likely continue to use these functions because we will always be working with vectors between points, lines, and planes.

The data

We conducted eight experiments in which we attempted to capture the echoes produced by various materials in response to an impulse created by popping a balloon.

 

This is a preliminary run of experiments. All distances were estimated without the aid of measuring tools. Specifics of each scenario can be found below the following plots.

​

​

PR_Data1.png
PR_Data2.png
  • Test1

    • Chrysler lobby

    • Mic on table next to pillar (brick)

    • Fs = 44100

    • Sensitivity, volume - 10

​

  • Test2

    • Chesebrough auditorium

    • Mic held on a chair at the base of the auditorium

    • Balloons popped on the steps

    • Fs - 44100

    • Sensitivity, volume - 10

​

  • Test3

    • Same as Test2, but volume and sensitivity were set 4

    • Fs = 44100

​

  • Test4

    • Same as Test2, but volume and sensitivity were set to 2

    • Fs = 48k

  • Test5

    • Chrysler lobby window

    • Balloon popped very near glass window

    • Sensitivity, volume - 1

    • Fs = 48k

​

  • Test6

    • Same as Test5, but volume and sensitivity were set 2

    • Fs = 48k

​

  • Test7

    • Same as Test6, but balloon popped ~5 ft away instead of very near

    • Fs = 48k

​

  • Test8

    • Chrysler lobby carpet

    • Balloon to floor distance - ~6 ft

    • Mic to floor distance - ~2-3 ft

    • Sensitivity, volume - 2

    • Fs = 48k

Observations

The audio recording equipment being used must be calibrated properly to avoid clipping and unnecessary noise. Clipping will result in inaccurate measurement of absorption coefficients, or the proportion of sound absorbed by a certain material. Noise makes it more difficult to identify echoes produced as a result of the impulse. An example of clipping and noise can be seen below as a result of very high recorder sensitivity (Zoom H5 Recorder).

PR_Data_Clipping.png

Particular echoes can be found in audio signal by plotting against "distance" using the speed of sound in dry air and knowing relative placement of source, microphone, and environment.  The first plot below shows possible first order echo a window in which the impulse travelled ~5 ft from microphone to window and back. The second plot below shows possible first order echo carpet in which the impulse travelled ~2-3 ft from microphone to the floor and back.

PR_Data_Echo2.png
PR_Data_Echo1.png

The popping of a balloon is a good representation of a broadband signal in the auditory range. This can be shown in the first spectrogram below. By plotting the spectrogram over the period of a particular echo, it may be possible to detect a specific material using its frequency profile. We know materials affect different frequencies in different manners because of properties such as molecular structure and object geometry. This is something we would like to look further into.

PR_Data_Spectrogram1.png
PR_Data_Spectrogram2.png
PR_Data_Spectrogram3.png

algorithm and matlab code

In order to model sound, we need to be able to model the room as as filter. This code begins this process by using ray tracing to model how sound from a source will bounce around a room before hitting the receiver. It creates an ideal impulse response heard by the receiver. This will be modified to include the distortion added by collisions with the walls, which will filter differently depending on the material they are made of. Then, this impulse response will be convolved with arbitrary input signals to model what would be heard if a receiver stood in the room as modeled.

​

TODO: Find out how to add code to this website

ideal_impulse_response_milestone_2.png
bottom of page