STEM is taught by Dr. Crowthers and is a class that allows us to explore and research topics we are interested in. For the past five moths, students have pursued their own independent stem projects. We have reviewed scientific literature, created hypotheses, developed methodology, conducted experiments, and analyzed data. Below you can see more specifics on my project.
Multi-source noise cancellation allows for increased cancellation performance in headphones because of the ability to recognize noise in the user's surroundings before it reaches the headphones. Current ANC (Active Noise Cancellation) solutions only work at lower frequencies and multi-source solutions are immobile. This project aims to develop a mobile app to make multi-source noise cancellation portable and improve ANC performance in the industry. ANC technology works by using a digital signal processing unit that can take audio and background noise coming from a microphone as input and produce an anti-noise signal played simultaneously as background noise comes in, effectively canceling noise. The solution works well at lower frequencies but loses its efficiency in canceling higher-frequency noises. A mobile app was developed that enhanced the capability of phones to be used as reference microphones for a multi-source noise cancellation algorithm. Connected phones would communicate microphone information to feed the algorithm. It was found that while the app was in use, the mean connection relay time of the app was greater than the mean time for noise to travel to the user within the tested distances. These findings provide evidence that noise cancellation produced from this input may not show improvement over the industry standard, leaving the user with a standard or slightly improved noise cancellation experience. In the future, it may be possible to implement other connection protocols to improve connection relay time, leading to improved cancellation.
Link to research proposal.
Current ANC (Active Noise Cancellation) solutions only work at lower frequencies and multi-source solutions are immobile.
This project aims to develop a mobile app to make multi-source noise cancellation portable and improve ANC performance in the industry.
Noise-cancelling headphones are headphones that are meant to reduce unwanted background noise while in use. The demand for such technology has increased in recent years leading manufacturers to release many products featuring ANC (Active Noise Cancellation). ANC technology works by producing sound waves of equal amplitude, but an opposite signal of the noise perceived by the headphones; they produce these waves by using microphones on the outside shell of the headphones to observe background noise and process the opposite, or anti-noise, through a digital signal processing (DSP) unit. When these two opposite sound waves are heard in conjunction by the user's ears, any background noise is effectively canceled (Kuo & Morgan, 1999). Although this technology works well in theory, when put in practice ANC tends to struggle in attenuating more variable higher-frequency noise. This limiting factor leads to subpar cancellation performance when in an environment with high-frequency noise (Kajikawa et al., 2012). Previous research has been done by researchers at UIUC, within a project called MUTE, to identify why this issue occurs and to propose a possible solution. The inefficiency at higher frequencies is due to the small window of time between the receiving of the input signal and the production of the anti-noise signal. Within their project, an external microphone was leveraged to connect to headphones through an IoT (Internet of Things) relay. The concept of lookahead was introduced because wireless signals travel faster than sound. Therefore, the headphones receive the microphone signal before the noise reaches the headphones. As a result, the DSP could begin producing an anti-noise signal before hearing the noise allowing for sufficient time to produce an accurate signal (Shen et al., 2018).
To develop the proposed mobile app, multiple software tools were used. The app was built in the Dart programming language on the Flutter framework. Flutter was chosen for its cross-platform interoperability, allowing the mobile app to be run on both iOS and Android operating systems. The Socket.io server API was used within the application to establish a WebSocket connection to a server hosted using the Heroku platform. Two Android phones were used for testing of the application, specifically its data transfer time. As input for a given noise cancellation algorithm, an audio signal of noise must be taken. To capture or record this audio from mobile phones with the app installed, a recorder package was used within Flutter. The audio would be recorded and saved as an m4a file locally, constantly updating as the recording continues. The recording continues to update until the user manually stops it through the User Interface (UI). While the recording is updating the audio file is being read as bit data and is being chunked into 10 kb pieces. The purpose for audio chunking is to lighten the load on the server for uploading the audio allowing the phone connection and transfer time to be faster. The audio chunking also guarantees that there is a high flow of data, ensuring that new data is being collected and uploaded in a timely manner. Generally, the lower the chunk size is the faster the connection will be, but this does make it harder to process and convert back to audio. However, this tradeoff is worthwhile given the speed of today's processors in phones. To transfer or relay the audio input signal from one phone to another, a WebSocket connection was used. WebSocket was chosen as it is a faster and a more standard transfer protocol when compared to other methods over WiFi (Pimentel & Nickerson, 2012). WiFi was considered to provide the fastest connection speeds when a user is in a public environment. Overall, connection and transfer speed were the highest priority and WiFi was deemed to be the most viable option for this. For a WebSocket connection between phones, a WebSocket server is necessary to store and send audio data. Heroku was used to setup a WebSocket server, and within the Flutter app the Socket.io library was used to establish a connection to the server. Whenever a new audio chunk would be saved it would be pushed to the Heroku server. The other phone retrieving the audio data, would also establish a connection to the server, retrieve the chunked audio data, and convert it back to an audio file locally.
Figure 1: Results from trial 1 of testing, 5m distance
Figure 2: Results from trial 2 of testing, 15m distance
Figure 3: Results from trial 3 of testing, 35m distance
Running our 1 sample t-test for trial 1 at a 5m distance, we get a test statistic of 272.523 which results in a p-value of 1. Running our 1 sample t-test for trial 2 at a 15m distance, we get a test statistic of 138.204 which results in a p-value of 1. Running our 1 sample t-test for trial 3 at a 35m distance, we get a test statistic of 8.603 which results in a p-value of 1. At a significance level of 0.05, since all of our ***p>0.05, we fail to reject the null hypothesis. There is not significant evidence to conclude the mean data transfer time of the mobile app is faster than the travel time of the noise.
The data that was gathered shows that the mean time for the
transmission of data was not as fast as it needed to be. The collected
values were generally lower than the mean time for the noise to travel
to the user. Our statistical testing can further prove and confirm
this difference in mean transfer times. With our p-value being greater
than the significance level we fail to reject our null hypothesis. We
do not have significant evidence that to conclude the mean data
transfer time of the mobile app is faster than the travel time of the
noise. This means our hypothesis to provide efficient noise
cancellation at higher frequencies was not met because the audio
transfer rate was not rapid enough. Potential limitations of my
project include the capability of mobile phone hardware. Mobile phone
architecture varies greatly from phone to phone, and it is difficult
to build software that relies heavily on the hardware aspect,
especially something like noise cancellation. This complication is the
reason why we were unable to implement the noise cancellation
algorithm into the app. A specific challenge that we faced was the
reconversion from raw audio bit data to an audio file. To overcome
this, lots of research into audio codecs and recording technology was
conducted to understand specifically what process we needed to take to
convert our specific audio data back to audio. The statistical tests
were used to compare the means of the two groups. One group is the
mean audio transfer time of our app. The other is the mean audio
transfer time of noise by natural means, in other words, the time it
takes for sound to travel to the user. We compared the two using a
1-sample t-test to see whether there was a significant difference in
the means of the two groups. With our data, we were unable to prove a
significant reduction in the mean transfer time of our app over the
speed of sound. Our work is a direct extension of past research which
conducted a similar experiment however using a dedicated frequency
band on an IoT relay to transfer the audio data. Our research aimed to
make their solution more portable by using phones as the microphone
input and using some wireless connection protocol to transfer the
data. Our research would allow for an improvement in the cancellation
performance of ANC headphones in the industry right now by adding the
portability factor into the researcher's experiments. Future research
might include, developing a way to run the noise cancellation
algorithm on phone hardware. This would allow the mobile app to be a
complete solution removing any hardware requirements on headphones and
allowing for all processing to be done locally on the phone. With this
solution, the app would be able to take the received audio data and
provide it as input for the noise cancellation algorithm which could
then be played through the headphones.
In this study, our
primary objective was to develop a mobile app to enable multi-source
noise cancellation, aiming to enhance the performance of ANC at higher
frequencies. Leveraging existing research on multi-source noise
cancellation, we utilized smartphones as reference microphones to
relay audio data for real-time noise cancellation processing. Our
methodology involved developing the app using Dart programming
language on the Flutter framework, establishing WebSocket connections
for efficient data transfer, and conducting testing procedures to
compare audio transfer times with the speed of sound. The results of
our testing revealed that, while the mobile app demonstrated
capabilities in relaying audio data, it couldn't achieve the
transmission rates necessary to beat the natural propagation of sound.
Statistical analysis confirmed that the mean data transfer time of the
app was not faster than the time it takes for noise to reach the user,
indicating a limitation in achieving effective noise cancellation at
higher frequencies. Despite these limitations, our research serves as
a crucial step towards advancing portable multi-source noise
cancellation technology.
Ali, A., Latiff, L. A., & Fisal, N. (2004). GPS-free indoor location
tracking in mobile ad hoc network (MANET) using RSSI. 2004 RF and
Microwave Conference (IEEE Cat. No.04EX924), 251-255.
https://doi.org/10.1109/RFM.2004.1411119
Amatriain, X., & Herrera, P. (2001, December). Audio Content
Transmission. Proceedings of the COST G-6 Conference on Digital Audio
Effects. https://www.dafx.de/paper-archive/2001/papers/amatriain.pdf
Barai, T., & Kumar, V. (2022, December). Noise Cancelling
Headphones Market Size and Share | 2031. Allied Market Research.
https://www.alliedmarketresearch.com/noise-cancelling-headphones-market-A47198
Escola, J. P. L., Souza, U. B. de, & Brito, L. da C. (2022).
Discrete Wavelet Transform in digital audio signal processing: A case
study of programming languages performance analysis. Computers and
Electrical Engineering, 104, 108439.
https://doi.org/10.1016/j.compeleceng.2022.108439
Janveja, I.,
Wang, J., Guan, J., Jog, S., & Hassanieh, H. (2023). WINC: A Wireless
IoT Network for Multi-Noise Source Cancellation. Proceedings of the
22nd International Conference on Information Processing in Sensor
Networks, 110-122. https://doi.org/10.1145/3583120.3586964
Kajikawa, Y., Gan, W.-S., & Kuo, S. M. (2012). Recent advances
on active noise control: open issues and innovative applications.
APSIPA Transactions on Signal and Information Processing, 1, e3.
https://doi.org/10.1017/ATSIP.2012.4
Kuo, S. M., & Morgan, D. R.
(1999). Active noise control: a tutorial review. Proceedings of the
IEEE, 87(6), 943-973. https://doi.org/10.1109/5.763310
Pimentel,
V., & Nickerson, B. G. (2012). Communicating and Displaying Real-Time
Data with WebSocket. IEEE Internet Computing, 16(4), 45-53.
https://doi.org/10.1109/MIC.2012.64
Polonelli, T., Müller, H.,
Kong, W., Fischer, R., Benini, L., & Magno, M. (2023). Aerosense: A
Self-Sustainable and Long-Range Bluetooth Wireless Sensor Node for
Aerodynamic and Aeroacoustic Monitoring on Wind Turbines. IEEE Sensors
Journal, 23(1), 715-723. https://doi.org/10.1109/JSEN.2022.3224307
Shen, S., Roy, N., Guan, J., Hassanieh, H., & Choudhury, R. R.
(2018). MUTE: bringing IoT to noise cancellation. Proceedings of the
2018 Conference of the ACM Special Interest Group on Data
Communication, 282-296. https://doi.org/10.1145/3230543.3230550
Statista Market Insights. (2023, November). Headphones - United
States | Statista Market Forecast. Statista.
https://www.statista.com/outlook/cmo/consumer-electronics/tv-radio-multimedia/headphones/united-states
Wu, W. (2018). React Native vs Flutter, cross-platform mobile
application frameworks [Metropolia University of Applied Sciences].
https://www.theseus.fi/bitstream/handle/10024/146232/thesis.pdf