Initial commit
This commit is contained in:
commit
5e7efdd7db
2 changed files with 48 additions and 0 deletions
BIN
concept_fig.png
Normal file
BIN
concept_fig.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
48
sound_profile.py
Normal file
48
sound_profile.py
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
import random
|
||||||
|
import acoustics.decibel as db
|
||||||
|
|
||||||
|
|
||||||
|
freq_upper = 1000 #size of the frequency spectrum we want to investigate
|
||||||
|
freq_div = 10
|
||||||
|
|
||||||
|
x = np.array(range(freq_upper)) #initialize frequencies (x-axis)
|
||||||
|
bkgd = np.zeros(freq_upper)
|
||||||
|
source = np.zeros(freq_upper)
|
||||||
|
|
||||||
|
for i in range(len(bkgd)):
|
||||||
|
bkgd[i] = np.log((x[i]+1)/freq_div) #input model for background here. each freq is assigned an SNR
|
||||||
|
|
||||||
|
tonals = [20,40,100,500, 800] #build our threat object here
|
||||||
|
widths = [2,2,2,2,2] #how diffuse is each tonal
|
||||||
|
decr = [.5,.5,.5,.95,.98] #sound decrement from ambient
|
||||||
|
|
||||||
|
|
||||||
|
for i in range(len(source)):
|
||||||
|
source[i] = random.randint(0,10)/200
|
||||||
|
|
||||||
|
|
||||||
|
for tone,wide,loud in zip(tonals, widths, decr): #right now the source is based on bkgd
|
||||||
|
freq = tone - wide//2 #strength, but we will need to just
|
||||||
|
while freq < tone + wide//2: #assign values
|
||||||
|
source[freq] = bkgd[freq]*(1-loud) #
|
||||||
|
freq += 1 #
|
||||||
|
|
||||||
|
|
||||||
|
received = db.dbadd(bkgd, source)
|
||||||
|
|
||||||
|
|
||||||
|
plt.plot(x/freq_div,received, label = "Legacy")
|
||||||
|
plt.plot(x/freq_div,source, label = "Distilled")
|
||||||
|
plt.xlabel("freq (Hz)")
|
||||||
|
plt.ylabel("SNR")
|
||||||
|
plt.title("Concept")
|
||||||
|
|
||||||
|
plt.legend()
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue